sudo详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sudo详解相关的知识,希望对你有一定的参考价值。
su:switch user
用户切换
登录式切换
su - user,
su -l user
非登录式切换
su user [-c ‘COMMAND‘]
sudo:execute a command as another user
能够让获得授权的用户以另外一个用户的身份运行指定的命令;
授权机制:sudo的授权文件 /etc/sudoers:default sudo security policy module
两类内容:
别名的定义,即为变量;
授权项,可使用别名进行授权;用户规范
编译此文件的专用命令:visudo # 有固定语法格式;
sudo命令:检票机制:能记录成功认证结果一段时间,默认为5分钟;
sudo [options] COMMAND
-u username:以指定的用户身份运行命令;
# sudo -u centos whoami
centos
-l :列出用户能以sudo方式执行的所有命令
-k 清除此前缓存用户成功认证结果;
授权项(每行一个授权项):
user hosts=(runas) commands
who where=(whom) commands
谁 通过哪些主机 以谁的身份 命令
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
把centos用户添加到wheel组;
usermod -aG wheel centos
echo mageedu |passwd --stdin centos
su - centos
sudo -l
sudo -u root whoami
注意:用户通过sudo获得的授权,只能以sudo命令来启动;
who:用户
username:单个用户;
#uid:单个用户的ID号;
%groupname:组内的所有用户;
%#gid:组内的所有用户;
user_alias:用户别名;支持将多个用户定义为一组用户,称之为用户别名;
where:主机地址
IP或hostname:单个主机;
NetAddr:网络地址;
host_alias:主机别名;
whom:
username
#uid
runas_alias:以谁的身份运行;
command:
command:单个命令;
directory:指定目录内的所有应用程序;
sudoedit:特殊权限,可用于向其它用户授予sudo权限;
cmnd_alias:命令别名;
例:只允许fedora用户以sudo权限运行useradd,usermod两个命令;
# useradd fedora
# echo mageedu |passwd --stdin fedora
# visudo #或者放到/etc/sudoers.d/目录下;
fedora ALL=(root) /usr/sbin/useradd,/usr/sbin/usermod
定义别名的方法:
ALIAS_TYPE NAME=item1, item2, item3, ...
ALIAS_TYPE:别名类型
User_Alias # 用户别名
Host_Alias # 主机别名
Runas_Alias # sudo用户别名
Cmnd_Alias # 命令别名
NAME:别名名称,必须使用全大写字符;不同即可;
常用标签:
NOPASSWD: # sudo时不需要密码;后面跟冒号(:);
PASSWD: # sudo时需要密码;
例1:
User_Alias USERADMINS=tom, jerry
Cmnd_Alias USERADMINCMNDS1=/usr/sbin/useradd,/usr/sbin/usermod,/usr/bin/passwd [a-z]*,!/usr/bin/passwd root
Cmnd_Alias USERADMINCMNDS2=/usr/sbin/userdel
USERADMINS ALL=(root) NOPASSWD: USERADMINCMNDS1 PASSWD: USERADMINCMNDS2
以sudo运行时不需要密码 以sudo运行时需要密码
例2:
#%wheel ALL=(ALL) ALL
User_Alias USERADMINS=user1,user2
Cmnd_Alias CMDSHUTDOWN=/usr/sbin/halt,/usr/sbin/shutdown,/usr/sbin/poweroff,/usr/sbin/reboot,/usr/sbin/init
Cmnd_Alias CMDDANGER=/usr/sbin/visudo,/usr/bin/su,/usr/bin/passwd,/usr/sbin/userdel
USERADMINS ALL=(root) NOPASSWD:ALL,!CMDSHUTDOWN,!CMDDANGER
本文出自 “毛虫小臭臭” 博客,请务必保留此出处http://moerjinrong.blog.51cto.com/11124564/1967651
以上是关于sudo详解的主要内容,如果未能解决你的问题,请参考以下文章