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命令