1. 程式人生 > >linux限制root遠程登錄、su命令、sudo命令

linux限制root遠程登錄、su命令、sudo命令

linux root su sudo

su命令:


1、su 切換用戶命令 例:su - aming

2、whoami 查看當前用戶命令

3、pwd 查看當前目錄


例:輸入su aming也可以切換用戶,但是目錄不在自己用戶目錄下,如下:

[root@aminglinux-01 ~]# su aming

[aming@aminglinux-01 root]$ pwd

/root

[aming@aminglinux-01 root]$ ls

ls: 無法打開目錄.: 權限不夠

[aming@aminglinux-01 root]$ exit

[root@aminglinux-01 ~]# su - aming

上一次登錄:一 10月 30 19:43:20 CST 2017pts/0 上

[aming@aminglinux-01 ~]$ pwd

/home/aming

[aming@aminglinux-01 ~]$

註意,切換用戶的時候一定要加-。

4、su - -c 指定用戶去執行一條命令

[root@aminglinux-01 ~]# su - -c "touch /tmp/aming.111" aming

[root@aminglinux-01 ~]# ls -l /tmp/ |head

總用量 116

-rw-r--r--. 2 root root 0 10月 27 20:04 1.txt.bak

-rw-r--r--. 1 aming grp2 0 10月 30 19:53 aming.111

drwxrwx---. 2 user1 aming 19 10月 29 11:25 aming2

drwxr-xr-x. 3 root root 15 10月 25 19:59 aminglinux

-rwxr-xr-x. 1 root root 117656 10月 25 20:46 ls2

drwx------. 3 root root 17 10月 18 03:56 systemd-private-4d315cdbc8ef4b6fb7fe88eb7c2a8ffc-vmtoolsd.service-NdaVQb

drwx------. 3 root root 17 10月 18 16:53 systemd-private-6f7de3c360e54ebd90228529e81a6451-vmtoolsd.service-sYuKNl

drwx------. 3 root root 17 10月 29 15:12 systemd-private-d7366ef92190425097a68c22ada7a3b0-vmtoolsd.service-lZzsPV

drwxr-xr-x. 2 user1 aming 6 10月 29 11:33 yum.log

[root@aminglinux-01 ~]# id aming

uid=1000(aming) gid=1005(grp2) 組=1005(grp2),1007(user5)

[root@aminglinux-01 ~]# date

2017年 10月 30日 星期一 19:54:11 CST

舉例:從普通用戶下切換到另一個用戶下面去,比如從aming用戶切換到user5

[root@aminglinux-01 ~]# su - user5

su: 警告:無法更改到 /home/user5 目錄: 沒有那個文件或目錄 //因為鎖定了user5

-bash-4.2$ 登出

[root@aminglinux-01 ~]# passwd user5

更改用戶 user5 的密碼 。

新的 密碼:

重新輸入新的 密碼:

passwd:所有的身份驗證令牌已經成功更新。

[root@aminglinux-01 ~]# su - aming

上一次登錄:一 10月 30 19:53:21 CST 2017pts/0 上

[aming@aminglinux-01 ~]$ su - user5

密碼:

上一次登錄:二 10月 31 18:49:01 CST 2017pts/0 上

su: 警告:無法更改到 /home/user5 目錄: 沒有那個文件或目錄

-bash-4.2$ pwd //正常應該顯示在user5用戶下面的家目錄,顯示不正確

/home/aming

-bash-4.2$ 登出

[aming@aminglinux-01 ~]$ 登出

如下操作恢復正常:

[root@aminglinux-01 ~]# id user5 //查看用戶屬主與屬組

uid=1007(user5) gid=1007(user5) 組=1007(user5)

[root@aminglinux-01 ~]# mkdir /home/user5 //創建家目錄

[root@aminglinux-01 ~]# chown user5:user5 /home/user5/ //更改屬組及所有者

[root@aminglinux-01 ~]# su - user5 //切換用戶還是不行

上一次登錄:二 10月 31 18:50:31 CST 2017pts/0 上

-bash-4.2$ pwd

/home/user5

-bash-4.2$ ls -la

總用量 0

drwxr-xr-x. 2 user5 user5 6 10月 31 18:51 .

drwxr-xr-x. 10 root root 118 10月 31 18:51 ..

-bash-4.2$ su - aming //切換到aming用戶下

密碼:

上一次登錄:二 10月 31 18:50:15 CST 2017pts/0 上

最後一次失敗的登錄:二 10月 31 18:52:51 CST 2017pts/0 上

最有一次成功登錄後有 1 次失敗的登錄嘗試。

[aming@aminglinux-01 ~]$ ls -la //查看用戶配置文件

總用量 16

drwx------. 2 aming grp2 83 10月 30 19:43 .

drwxr-xr-x. 10 root root 118 10月 31 18:51 ..

-rw-------. 1 aming grp2 46 10月 31 18:51 .bash_history

-rw-r--r--. 1 aming grp2 18 8月 3 2016 .bash_logout

-rw-r--r--. 1 aming grp2 193 8月 3 2016 .bash_profile

-rw-r--r--. 1 aming grp2 231 8月 3 2016 .bashrc

[aming@aminglinux-01 ~]$ 登出

[root@aminglinux-01 ~]# ls /etc/skel/ //系統下面的模板配置文件

[root@aminglinux-01 ~]# ls -la /etc/skel/ //查看文件

總用量 24

drwxr-xr-x. 2 root root 62 10月 17 05:04 .

drwxr-xr-x. 77 root root 8192 10月 31 18:50 ..

-rw-r--r--. 1 root root 18 8月 3 2016 .bash_logout

-rw-r--r--. 1 root root 193 8月 3 2016 .bash_profile

-rw-r--r--. 1 root root 231 8月 3 2016 .bashrc

[root@aminglinux-01 ~]# cp /etc/skel/.bash* /home/user5/ //把配置文件拷貝到user5家目錄下面

[root@aminglinux-01 ~]# chown -R user5:user5 !$ //更改目錄所屬組及所有者

chown -R user5:user5 /home/user5/

[root@aminglinux-01 ~]# su - user5 //成功登錄

上一次登錄:二 10月 31 18:52:29 CST 2017pts/0 上

[user5@aminglinux-01 ~]$ pwd

/home/user5

[user5@aminglinux-01 ~]$ 登出

備註:普通用戶也可以直接su到root用戶,前提是知道root的密碼。


sudo命令:


1、sudo 可以讓普通用戶臨時去執行一條命令,指定用戶執行(用處:不需要給普通用戶管理員權限,可以指定普通用戶擁有部分命令的使用權)

例:

輸入命令visudo,編輯文件在root用戶下添加普通用戶需要操作的root用戶權限,ALL代表所有。

技術分享

set nu 查看行數

技術分享技術分享

加入更改後保存退出,如下:

[root@aminglinux-01 ~]# su - aming //切換普通用戶

上一次登錄:三 11月 1 19:08:29 CST 2017pts/0 上

[aming@aminglinux-01 ~]$ ls /root/ //直接ls查看root目錄是報沒有權限

ls: 無法打開目錄/root/: 權限不夠

[aming@aminglinux-01 ~]$ sudo ls /root/ //添加sudo可以查看

We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.

#2) Think before you type.

#3) With great power comes great responsibility.

[sudo] password for aming: //第一次查看需要輸入普通用戶密碼

111 1_heard.txt.bak 1.txt.bak 2.txt aming2 anaconda-ks.cfg

123 1_sorft.txt.bak 234 3.txt

不需要輸入用戶名密碼做法,在root用戶下編輯visudo,然後按如下修改。

技術分享技術分享

例:命令別名

輸入visudo進入編輯,增加一條。

技術分享技術分享

更改上別名,保存退出。

技術分享技術分享

驗證操作,完成。

技術分享技術分享


限制root遠程登錄:


1、為了安全著想,禁止root遠程登錄(本地不可限制),只允許普通用戶登錄,普通用戶想要root用戶的權限可以使用sudo,也可以使用su,但root的密碼不能讓普通用戶知道。

例:

輸入visudo,編輯添加一個用戶User Aliases

技術分享

再添加一條規則,保存退出。

技術分享技術分享

驗證操作,完成。(前提是限制root遠程登錄)

技術分享技術分享

做一個root用戶遠程限制的功能,更改配置文件vi /etc/ssh/sshd_config,編輯更改如下操作。

技術分享技術分享

更改完配置文件重啟服務systemctl restart sshd.service ,然後再執行root驗證登錄,不能登錄。

技術分享技術分享

使用PuTTY登錄普通用戶成功,並可以直接使用sudo連接上root不需要使用密碼,驗證完成。

技術分享技術分享

本文出自 “Gary博客” 博客,請務必保留此出處http://taoxie.blog.51cto.com/10245493/1978209

linux限制root遠程登錄、su命令、sudo命令