[user2@yong-02 ~]$ su - 密碼: 上一次登陸:三 4月 4 15:03:52 CST 2018pts/0 上 [root@yong-02 ~]# su - user2 上一次登陸:三 4月 4 15:04:14 CST 2018pts/0 上 [user2@yong-02 ~]$ pwd /home/user2
- 號加上後會初始化當前用戶的各類環境變量linux
[root@yong-02 ~]# su - yyl 上一次登陸:三 4月 4 15:08:42 CST 2018pts/0 上 [yyl@yong-02 ~]$ pwd /home/yyl [yyl@yong-02 ~]$ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/yyl/.local/bin:/home/yyl/bin
指定某個用戶去執行某個命令;apache
[root@yong-02 ~]# su - -c "touch /tmp/yyl.txt" yyl ##以yyl用戶去建立yyl.txt [root@yong-02 ~]# ls -l /tmp/y yum.log yyl.txt [root@yong-02 ~]# ls -l /tmp/yyl.txt -rw-rw-r--. 1 yyl yyl 0 4月 4 15:13 /tmp/yyl.txt
root@yong-02 ~ ]# su - yyl 上一次登陸:三 11月 1 22:50:40 CST 2018pts/0 上 [wuzhou@yong-02 ~]$ su - -c "touch /tmp/user7.111" user7 密碼: [wuzhou@yong-02 ~]$ ls -l /tmp/user7.111 -rw-rw-r-- 1 user7 user7 0 11月 1 22:52 /tmp/user7.111
切換到用戶user5時,提示錯誤,發現是家目錄不對 [root@yong-02 ~]# su - user5 su: 警告:沒法更改到 /home/yyl 目錄: 權限不夠 [yyl@yong-02 ~]$ tail -5 /etc/passwd user3:x:1004:1003::/home/user3:/sbin/nolongin user4:x:1005:1003::/home/user4:/sbin/nolongin user5:x:1007:1003::/home/yyl:/sbin/nologin 而後咱們修改用戶的家目錄 [root@yong-02 ~]# usermod -d /home/user5 user5 再次切換用戶,有提示這個賬戶目前不可用,緣由是家目錄裏面是空的 [root@yong-02 ~]# su - user5 上一次登陸:三 11月 1 22:40:06 CST 2018pts/0 上 This account is currently not available.
[root@yong-02 ~]# cp /etc/skel/.bash* /home/user5/
## Allow root to run any commands anywhere //容許root用戶去運行全部的命令,在任何地方 root ALL=(ALL) ALL命令 user7 ALL=(ALL) NOPASSWD: /usr/bin/ls,/usr/bin/cat //咱們能夠在下面添加一些用戶
ALL=(ALL) 左邊ALL 表示全部的登錄方式,遠程,ip/ip段 (ALL)表示以全部的用戶登錄;NOPASSWD: 不須要輸入密碼安全
[root@yong-02 ~]# su - user7 最後一次失敗的登陸:三 4月 4 15:17:48 CST 2018pts/0 上 [user7@yong-02 ~]$ sudo ls /root/ 1.sh 1.txt.bak auto_install_apache.sh multi-user.target reboot.target test 1.txt anaconda-ks.cfg graphical.target poweroff.target rescue.target [user7@yong-02 ~]$
例子:只容許普通用戶帳戶登陸,而普通用戶登陸後,不須要輸入密碼就能使用su切換到root帳戶下bash
- 在visudo後面添加下面命令:
- Cmnd_Alias YYL_CMD = /usr/bin/ls, /usr/bin/mv, /usr/bin/su //作命令別名
[root@yong-02 ~]# su - yyl 上一次登陸:三 4月 4 16:22:18 CST 2018pts/0 上 [yyl@yong-02 ~]$ sudo su - 對不起,用戶 yyl 無權以 root 的身份在 yong-02 上執行 /bin/su -。 [yyl@yong-02 ~]$ sudo ls /root 1.sh 1.txt.bak auto_install_apache.sh multi-user.target reboot.target test 1.txt anaconda-ks.cfg graphical.target poweroff.target rescue.target [yyl@yong-02 ~]$ whoami yyl
/etc/ssh/sshd_config爲sshd服務配置文件,默認容許root帳戶經過ssh遠程登陸linux。若是想要不容許root用戶遠程登陸linux,具體操做方法:修改配置文件/etc/ssh/sshd_config,在文件中找到#PermitRootLogin yes 修改爲PermitRootLogin no,保存後,重啓sshd服務:ssh
[root@yong-02 ~]# vi /etc/ssh/sshd_config [root@yong-02 ~]# systemctl restart sshd.service
從新打開一個窗口,提示錯誤了,root不能遠程登陸 spa
這個時候咱們能夠登陸普通用戶,而後使用sudo命令切換到root用戶下rest
[yyl@yong-02 ~]$ whoami yyl [yyl@yong-02 ~]$ sudo su - [sudo] yyl 的密碼: 上一次登陸:三 4月 4 16:52:52 CST 2018pts/0 上 最後一次失敗的登陸:三 4月 4 16:53:59 CST 2018從 192.168.180.1ssh:notty 上 最有一次成功登陸後有 1 次失敗的登陸嘗試。 [root@yong-02 ~]# whoami root [root@yong-02 ~]#