sudo及visudo
2018-07-18 01:14:35来源:博客园 阅读 ()
简述
sudo是一种权限管理机制,管理员可以授权普通用户去执行root的操作,而不需要知道root的密码,它依赖于/etc/sudoers这个文件,可以授权给哪个用户在哪个主机上能够以管理员的身份执行什么样的管理命令,而且是有限的。/etc/sudoers文件相当于一个授权表,此文件的权限只有管理员可以查看并且不建议使用vim编辑器来进行编辑,跟cron一样有专门的编辑命令可以检测语法问题,以免产生语法错误导致系统崩溃;针对sudo编辑专门提供了一个命令visudo。
sudo命令格式
sudo [options] COMMAND
options:
-l COMMAND:列出用户可执行或不可执行的命令信息;
-k:清除用户成功认证所缓存的时间戳,默认缓存时间戳为5分钟
visudo
用户授权语句的格式:
USERS LOCATION=(USERNAME|GROUP|Runas_alias) [NOPASSWD|PASSWD] COMMAND
USERS:
username:授权用户名;
%groupname:授权用户组;
User_alias:授权的用户或组别名
LOCATION:
ip:规则匹配的IP地址;
hostname:规则匹配的主机名;
NetAddr:规则匹配的网段;
Host_alias:主机别名
COMMAND:
command:命令的绝对路径;
Cmnd_alias:命令的别名组
其中关于 Alias 定义的格式:
ALIAS_TYPE NAME=item1,item2,item3...
注意:NAME必须全为大写字母。
ALIAS_TYPE:
User_Alias:授权用户别名类型
Host_Alias:主机别名类型
Runas_Alias:作为哪些用户执行的别名类型
Cmnd_Alias:命令别名类型
应用实例
[root@happiness ~]# visudo Cmnd_Alias COMM1=/usr/sbin/useradd,/usr/sbin/usermod,/usr/bin/passwd,!/usr/bin/passwd root #命令别名1 Cmnd_Alias COMM2=/usr/sbin/shutdown,/usr/sbin/reboot #命令别名2 User_Alias USERADM=user1,user2 #用户别名 USERADM ALL=(root) NOPASSWD:COMM1,PASSWD:COMM2 [root@happiness ~]# useradd user1 [root@happiness ~]# useradd user2 [root@happiness ~]# passwd user1
测试结果: [root@happiness ~]# su - user1 [user1@happiness ~]$ sudo -l #查看用户所拥有的sudo权限 Matching Defaults entries for user1 on this host: requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin User user1 may run the following commands on this host: (root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/usermod, /usr/bin/passwd, !/usr/bin/passwd root, (root) PASSWD: /usr/sbin/shutdown, /usr/sbin/reboot [user1@happiness ~]$ sudo passwd user2 #为user2设置密码 Changing password for user user2. New password: [user1@happiness ~]$ sudo passwd root #不允许更改root密码 Sorry, user user1 is not allowed to execute '/bin/passwd root' as root on happiness. [user1@happiness ~]$ sudo shutdown #执行shutdown需要输入用户密码 [sudo] password for user1:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:取shell脚本执行的结果
- 如何在非 sudo 用户下运行 docker 命令? 2020-04-25
- ggc is not in the sudoers file. This incident will be re 2020-03-16
- linux下su与sudo 2020-02-28
- centos7.x 将普通用户加入sudoers中,获取sudo执行权限 2019-10-12
- 给普通用户赋予sudo权限后报错,提示/etc/sudoers文件权限拒 2019-06-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash