标签:env 程序 mini 不用 inf always reload admin 允许
Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
使用权限:在 /etc/sudoers 中有出现的使用者。
参数说明:
用户名/组名:代表 root 给哪个用户或用户组赋予命令,注意组名前加“%”
用户可以用指定的命令管理指定 IP 地址的服务器。如果写 ALL,代表可以管理任何主机,如果写固定 IP,代表用户可以管理指定的服务器。一直认为这里的IP 地址管理的是登录者来源的 IP 地址,查了很多资料也都是这样的。直到查看“man 5 sudoers”帮助,这里的 IP 指定的是用户可以管理哪个 IP 地址的服务器。那么如果你是一台独立的服务器,这里写 ALL 和你服务器的 IP 地址,作用是一样的。而写入网段,只有对 NIS 服务这样用户和密码集中管理的服务器才有意义如果我们这里写本机的 IP 地址,不代表只允许本机的用户使用指定命令,而代表指定的用户可以从任何 IP 地址来管理当前服务器。
可使用身份:就是把来源用户切换成什么身份使用,(ALL)代表可以切换成任意身份。这个字段可以省略。
授权命令:代表 root 把什么命令授权给普通用户。默认是 ALL,代表任何命令,这个当然不行。如果需要给那个命令授权,写入命令名即可,不过需要注意一定要命令写成绝对路径。
示例一:
举个例子,比如授权用户 st 可以重启服务器,则由 root 用户添加如下行:
[st@iZbp143t3oxhfc3ar7jey0Z ~]$ sudo -l We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for st: Matching Defaults entries for st on iZbp143t3oxhfc3ar7jey0Z: !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE 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 st may run the following commands on iZbp143t3oxhfc3ar7jey0Z: (root) /sbin/shutdown -r now [st@iZbp143t3oxhfc3ar7jey0Z ~]$ sudo /sbin/shutdown -h Sorry, user st is not allowed to execute ‘/sbin/shutdown -h‘ as root on iZbp143t3oxhfc3ar7jey0Z.
注:阿里云还安装了别的服务,这里就不重启了。
示例二:
授权一个用户管理你的 Web 服务器,不用自己插手是不是很爽,以后修改设置更新。
首先要分析授权用户管理 Apache 至少要实现哪些基本授权:
1、可以使用 Apache 管理脚本
2、可以修改 Apache 配置文件
3、可以更新网页内容
假设 Aapche 管理脚本程序为/etc/rc.d/init.d/httpd 。为满足条件一,用 visudo 进行授权:
[st@iZbp143t3oxhfc3ar7jey0Z ~]$ sudo -l [sudo] password for st: Matching Defaults entries for st on iZbp143t3oxhfc3ar7jey0Z: !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE 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 st may run the following commands on iZbp143t3oxhfc3ar7jey0Z: (root) /sbin/shutdown -r now (root) /etc/rc.d/init.d/httpd reload, /etc/rc.d/init.d/httpd configtest [st@iZbp143t3oxhfc3ar7jey0Z ~]$
示例三:
授权st用户可以添加其他普通用户
[st@iZbp143t3oxhfc3ar7jey0Z ~]$ sudo -l Matching Defaults entries for st on iZbp143t3oxhfc3ar7jey0Z: !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE 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 st may run the following commands on iZbp143t3oxhfc3ar7jey0Z: (root) /sbin/shutdown -r now (root) /etc/rc.d/init.d/httpd reload, /etc/rc.d/init.d/httpd configtest (root) /usr/bin/passwd (root) /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd \"\", !/usr/bin/passwd root [st@iZbp143t3oxhfc3ar7jey0Z ~]$
注:如果只写/usr/bin/passwd的话,也可以修改root的密码,所以最好写的越详细,权限就越小。
标签:env 程序 mini 不用 inf always reload admin 允许
原文地址:https://www.cnblogs.com/dalianpai/p/12571486.html