shallow丿ovebash
[root@localhost ~]# su - user1 [user1@localhost ~]# pwd /home/user1 [root@localhost ~]# su user1 [root@localhost ~]# pwd /root [root@localhost ~]# ls -la #查看當前用戶的配置文件 [root@localhost ~]# su - -c "touch /tmp/1.txt" user1 [root@localhost ~]# ls -lt /tmp/ | head [root@localhost ~]# id user1 #查看特定用戶的的uid和所屬組
若不當心誤刪了普通用戶的配置文件,能夠經過新建文件再從通用配置文件中拷貝一份,而且給配置文件賦權ssh
[root@localhost ~]# rm -rf /home/user1 [root@localhost ~]# su - user1 -bash-4.2$ #沒有任何的配置文件 Ctrl+d [root@localhost ~]# mkdir /home/user1 [root@localhost ~]# chown user5:user5 /home/user1/ [root@localhost ~]# ls /etc/skel/ #系統模板文件 [root@localhost ~]# cp/etc/skel/.bash* /home/user1 [root@localhost ~]# chown -R user1:user1 !$ #將配置文件的全部者和全部組賦權 [root@localhost ~]# su - user1 [user1@localhost ~]# pwd /home/user1
[root@localhost ~]# visudo root ALL=(ALL) ALL #運行root用戶運行任何目錄 ser1 ALL=(ALL) ALL或/usr/bin/ls,/usr/bin/mv,/usr/bin/cat #ser1 用戶 主機=(用戶) 全部命令,單個命令 :set nu #編號
使用visudo能夠檢測出語法是否輸入錯誤,若在第100行處輸入錯誤,則會提示ui
visudo: >>> /etc/sudoers: syntax error near line 100 <<< #提示在第100行處有誤 What now? Options are: (e)dit sudoers file again #按e從新編輯 e(x)it without saving changes to sudoers file #按x退出,不保存修改 (Q)uit and save changes to sudoers file (DANGER!) #按q保存並退出! What now?
[root@localhost ~]# ls /root/ #權限不夠 [root@localhost ~]# sudo /usr/bin/ls /root/ #能夠訪問 而且第一次執行時須要輸入密碼 ser2 ALL=(ALL) NOPASSWD:/usr/bin/ls,/usr/bin/cat #添加了NOPASSWD:能夠不用輸入密碼就能夠直接操做 [root@localhost ~]# su - user2 [root@localhost ~]# ls /root/ [root@localhost ~]# sudo ls /root/ 建立一個用戶,而且賦予它與root用戶同樣的權限 Host_Alias Cmnd_Alias Host_Alias ??? Cmnd_Alias USER1_CMD=/usr/bin/ls,/usr/bin/cat ser2 ALL=(ALL) USER1_CMD [root@localhost ~]# sudo ls /root/ [root@localhost ~]# sudo cat /home/1.txt %wheel ALL=(ALL) NOPASSWD:ALL #用戶組
使用某個用戶登陸後能夠直接切換到root用戶,而並不須要輸入密碼rest
[root@localhost ~]# visudo #User_Aliases User_Alias USERS = user1,user2 USERS ALL=(ALL) NOPASSWD:/usr/bin/su [root@localhost ~]# su - user1 [user1@localhost ~]# su - user2 [user1@localhost ~]# sudo su - user2 [user2@localhost ~]# su - Ctrl+C [user2@localhost ~]# sudo su - [root@localhost ~]# whoami /root
限制某些用戶不能使用/usr/bin/su -和/usr/bin/su - root切換到root用戶下的方法code
USERS ALL=(ALL) NOPASSWD: !/usr/bin/su -,!/usr/bin/su - root
防止知道root密碼後,惡意使用遠程登陸主機it
[root@localhost ~]# vi /etc/ssh/sshd_sysconfig /Root # PermitRootLogin yes #容許遠程登陸root 改 PermitRootLogin no #不可遠程登陸root [root@localhost ~]# systemctl restart sshd.service #重啓sshd服務