2017.12.27 3周3次課
3.7 su命令
3.8 sudo命令
3.9 限制root遠程登錄
3.7 su命令
su命令就是切換用戶的工具,通過su可以在用戶之間切換,如果超級權限用戶root向普通用戶切換不需要密碼,而普通用戶切換到其它任何用戶都需要密碼驗證。
1. 格式:su [選項參數][-] [用戶]
# -, -l或--login:登錄並改變到所切換的用戶環境,此外也會變更PATH變量。大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,所以環境變量信息也會變更為新用戶的相應信息。如果沒有指定USER,缺省情況是root。
# -c<指令>或--command=<指令>:執行完指定的指令後,退出所切換到的用戶環境,即恢復原來的身份;
# -f或--fast:適用於csh與tsch,使shell不用去讀取啟動文件;
# -l或-login:改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,logname。此外,也會變更PATH變量;
# -m,-p或--preserve-environment:變更身份時,不要變更環境變量;
# -s<shell>或--shell=<shell>:指定要執行的shell;
# --help:顯示幫助;
#--version;顯示版本信息
2. su命令與su - 命令的區別
su 是切換到其他用戶,但是不切換環境變量
su - 是切換到自己的家目錄下,是完整的切換到一個用戶環境。
所以建議大家切換用戶的時候,盡量使用 su - ,這樣才切換徹底。
舉例:
1)切換到自己的家目錄下,會加載自己家目錄下的配置文件
2)在當前用戶下,不登錄到其他用戶,以其他用戶的身份去執行一條命令,
屬組信息
3)普通用戶下切換另外的普通用戶下
;
4)切換到的用戶如果沒有家目錄的情況下,沒有相應的用戶配置文件加載導致的
恢復正常的操作:
還是不正常的原因是在用戶家目錄下沒有任何配置文件
系統下有個模板目錄“/etc/skel/”
拷貝上圖紅框裏的3個文件到user5用戶下
5)普通用戶切換到root用戶
3.8 sudo命令
sudo服務的配置原則也很簡單一一在保證普通用戶完成相應工作的前提下,盡可能少地賦予額外的權限。
sudo命令用於可以給普通用戶臨時擁有root用戶的身份,可以避免把root用戶的密碼給普通用戶,可以給普通用戶授權單獨指定某
一些命令
格式為 "sudo [參數] 命令名稱"
# -h:列出幫助信息
# -l:列出當前用戶在主機上可執行的命令;
# -u 用戶名或UID: 以指定的用戶身份執行命令
# -v:驗證用戶的時間戳;如果用戶運行sudo 後,輸入用戶的密碼後,在短時間內可以不用輸入口令來直接進行sudo 操作; 用-v 可以跟蹤最新的時間戳;
# -k:清空密碼的有效時間,下次執行sudo時需要再次進行密碼驗證
# -b:在後臺執行指定的命令
# -p:更改詢問密碼的提示語
總結來說,sudo命令具有如下功能:
1)限制用戶執行指定的命令;
2)記錄用戶執行的每一條命令;
3)配置文件(/etc/sudoers)提供集中的用戶管理、權限與主機等參數;
2. visudo命令
如果擔心直接修改配置文件會出現問題,則可以使用sudo命令提供的visudo命令來配置用戶權限。這條命令在配置用戶權限時將禁止多個用戶同時修改配置文件,還可以對配置文件內的參數進行語法檢查,並在發現參數錯誤時進行報錯。
只有root管理員才可以使用visudo命令編輯sudo服務配置文件。
在配置文件中,定位到如下位置,這裏是整個配置文件中最核心的配置
【:set nu】可以查看文件的行數
格式:
誰可以使用 允許使用的主機=(以誰的身份) 可執行命令的列表
use1用戶是無法使用【ls】命令的
用sudo就可以使用了。 先用【sudo –l】查看當前用戶在主機上可執行的命令
第一次執行時會讓你輸入用戶密碼,第二次有不需要了。
不輸入密碼:
命令alias
用戶組限制:
3.9 限制root遠程登錄
1)讓普通用戶可以臨時切換到root用戶
編輯visudo文件
2)編輯“/etc/ssh/sshd_config”文件
修改“PermitRootLogin” yes---》no
重啟服務
測試root用戶無法登陸
用普通用戶登錄
2017.12.27 3周3次課