1. 程式人生 > >sudo命令

sudo命令

nbsp success sbin exec add 是否 變更 用戶授權 執行

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/0
There 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命令