sudo命令
su命令
switch user的縮寫, 意為切換至指定用戶執行命令
常用選項
-c<指令>或--command=<指令>:執行完指定的指令後,即恢復原來的身份;
-f或——fast:適用於csh與tsch,使shell不用去讀取啟動文件;
-l或——login:改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,logname。此外,也會變更PATH變量;
-m,-p或--preserve-environment:變更身份時,不要變更環境變量;
-s或--shell=:指定要執行的shell; --help:顯示幫助; --version;顯示版本信息。
示例
1.切換至root用戶,創建user1用戶
[[email protected] root]$useradd user1 # 使用centos用戶創建用戶失敗 bash: /usr/sbin/useradd: Permission denied [[email protected] root]$su -c ‘useradd user1‘ # 切換至root用戶下,創建用戶 Password: # 輸入root用戶的密碼 [[email protected] root]$tail-2 /etc/passwd # 確認是否創建成功 centos:x:1001:1001::/home/centos:/bin/bash user1:x:1002:1002::/home/user1:/bin/bash
2.切換至root用戶
[[email protected] root]$su - # 切換至root用戶, - 表示改變工作目錄,且重新載入環境變量 Password: Last login: Mon Jun 12 18:55:41 CST 2017 on pts/0 Last failed login: Mon Jun 12 19:02:04 CST 2017 on pts/0There was 1 failed login attempt since the last successful login. [[email protected] ~]#su centos # 切換至centos用戶
sudo命令
execute a command as another user, 以其他用戶身份臨時性地執行命令。可以讓獲得授權的用戶以另一個身份(一般為root用戶,或者屬組為root)執行命令。
授權文件/etc/sudoers,只能使用visudo命令,編寫該文件
常用選項
-b 以後臺進程的方式運行命令
-g group 以屬組為group的身份運行程序
-h 查看幫助想你想
-k 讓認證文件失效
-l 顯示當前用戶能執行的sudo命令
-u user 以user的身份運行命令
授權文件的配置
1.別名配置
A.主機別名
Host_Alias FILESERVERS = fs1, fs2
B.用戶別名
User_Alias ADMINS = jsmith, mikem
C.命令別名
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig
註意:命令必須為二進制文件全路徑
2.給用戶授權
A.向centos用戶授權,可以進行所有操作
centos ALL=(ALL) ALL
B.wheel組中的用戶可以執行所有操作,且不需要輸入密碼
%wheel ALL=(ALL) NOPASSWD: ALL
C.允許centos用戶,以無密碼地方式執行SOFTWARE中的命令
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
centos ALL=(ALL) NOPASSWD: SOFTWARE
sudo命令