三周第三次課(12月27日)
3.7 su命令
su 切換用戶
whoami
id
su -aming
su aming 切換用戶,但是沒有切換家目錄
su - -c "touch /tmp/aming.111" aming 以aming用戶的身份去執行這個命令
切換到user5,user5沒有家目錄,顯示-bash-4.2$ 需要創建家目錄,加載配置文件
mkdir /home/user5 創建家目錄
chown user5:user5 /home/user5 更改所有者,所屬組
ls /etc/skel 系統配置模板文件所在目錄 .bash*文件
cp etc/skel/.bash* /home/user5/ cp配置文件
chown -R user5:user5 /home/user5/ 更改所有者,所屬組
之後就可以正常顯示
3.8 sudo命令
sudo 讓普通用戶臨時以指定用戶的身份執行命令
visudo 打開sudo的配置文件,實際上是/etc/sudoers.tmp文件,使用visudo命令可以檢測到語法錯誤,vi /etc/sudoers.tmp不會檢測
下面這行表示允許root用戶在任何地方去運行所有的命令,前面的ALL表示在哪裏,主機,括號裏面的ALL表示用戶,後面的ALL表示所有的命令
模仿這條命令新建一條,讓aming用戶擁有root的身份去執行ls,mv,cat命令
esc :wq,visudo檢測到錯誤
e重新編輯 然後 :set nu 查看行數
比對發現命令需要寫絕對路徑,逗號分割
aming用戶以ls命令檢測以上修改的作用,首先取消普通用戶ls命令權限
檢測sudo,第一次執行需要密碼,第二次不需要了
配置文件添加NOPASSWD:,至少sudo時就不需要輸入密碼
用戶的別名
命令的別名,用AMING_CMD代表之前3條命令
3.9 限制root遠程登錄
邏輯:在限制root用戶登錄後,只允許aming,user5,user6登錄,不給普通用戶root密碼,又要能使這3個用戶su -root,那麽可以將su命令添加到sudo配置文件裏,使普通用戶使用root的身份去su -root,即跳過了root密碼限制
操作,將普通用戶做一個別名
sudo su - root 後面不加root時默認為root
下面是怎麽限制root遠程登錄
vi /etc/ssh/sshd_config
/Root 反斜杠搜索root
修改為 no
改完保存重啟ssh服務
測試遠程登錄root
登錄普通用戶aming
普通用戶不知道root密碼切換root
擴展
sudo與su比較 http://www.apelearn.com/bbs/thread-7467-1-1.html
sudo配置文件樣例 www.opensource.apple.com/source/sudo/sudo-16/sudo/sample.sudoers
sudo -i 也可以登錄到root嗎? http://www.apelearn.com/bbs/thread-6899-1-1.html
三周第三次課(12月27日)