#su [OPTION] USERNAME 切换用户 [OPTION] - 变更当前的工作环境PWD 空 默认切换为root用户 默认情况下使用su只是将PAHT和用户切换为USERNAME的,并不变更PWD。使用-则和用USERNAME登陆在实质上是一样的。 #sudo [OPTION] COMMAND 某用户在不切换用户的情况下以另一个用户的权限通过某个主机执行某个命令。 [OPTION] -l 列出当前用户可以使用的所有sudo类命令。 -k 清除认证,下次使用需输入密码。默认第一次输入密码后,5分钟之内不再提示输入密码。 /etc/sudoers sudo的配置文件,权限为440。 除去额外配置条目,每一行定义个sudo条目,结构如下: WHO WHICHHOST=[FLAG:](RUNAS) COMMAND 别名: 类似于组,别名只能使用大写字母。先定义后使用。 使用!表示取反。 1.用户别名 User_Alias User_Alias NAME=USERNAME|%GROUP|OTHERUSERLIST USERNAME 当前系统上的用户。 %GROUP 用户组,用%引导。 OTHERUSERLSIT 其他的别名列表。 2.主机别名 Host_Alias Host_Alias HOST=HOST|IPADD|IP/NETMASK|+GROUP|OTHERHOSTLIST HOST 主机名 IPADD IP地址 IP/NETMASK IP地址/子网掩码 +GROUP 主机组,用+引导。 OTHERHOSTLIST 其他的别名列表 3.以哪个用户运行 Runas_Alias Runas_Alias RUNAS=USERNAME|#UID|%GROUP|+NETGROUP|OHTERRUNASLIST USERNAME 用户名 #UID UID,用#引导。 %GROUP 组名,用%引导。 OTHERRUNASLIST 其他的别名列表 4.命令 Cmnd_Alias Cmnd_Alias CMND=COMMAND|COMMDIR|OTHERCMNDLIST COMMAND 命令,使用绝对路径。 COMMDIR 目录,包含此目录内的所有命令 OTHERCMNDLIST 其他的别名列表 FLAG(标签): NOPASSWD 用户无需输入密码 PASSWD 需要密码 相关的操作日志可以在/var/log/secure中查看。此日志文件的权限为600,只允许root查看。 例如: 1.hadoop用户使用root执行useradd #vimsudo hadoop ALL=(root) /usr/sbin/useradd,/usr/sbin/usermod hadoop$ sudo /usr/sbin/useradd tom [sudo] passowrd for hadoop: hadoop$ 2.清除hadoop用户的认证,并在配置文件中变更为useradd不需要密码,usermod需要密码。 #sudo -k #vimsudo hadoop ALL=NOPASSWD:(root) /usr/sbin/useradd,PASSWD: /usr/sbin/usermod 3.创建别名组,并禁止修改root密码: #visudo User_Alias USERADMIN=hadoop,%hadoop,%useradmin Cmnd_Alias USERADMINCMD=/usr/sbin/useradd,/usr/sbin/usermod,/usr/sbin/userdel,/usr/bin/passwd[A-Za-z]*,!/usr/bin/passwd root 这里的[A-Za-z]*类似于文件名通配,不是正则表达式。 USERADMIN ALL=NOPASSWD:USERADMINCMD #visudo [OPTION] 编辑sudo配置文件的专用命令,可以检查配置文件错误。 [OPTION] -f FILE 指定其他的sudoers文件 #man sudoers 查看有关/etc/sudoers的具体定义内容。 (责任编辑:IT) |