Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
老陌笔记:sudo命令
Theme area
1007
views ·
0
replies ·
To
floor
Go
老陌
deepin
2018-08-12 23:36
Author
本帖最后由 myccloves 于 2019-7-31 22:44 编辑
最近明显减少了发帖子的数量,一来感觉自己的帖子没技术含量,二来论坛也太慢了,点击发帖,等了一分多钟也打不开,热情骤降……
我们能体谅官方的难度,但也请照顾一下这些爱好份子的感受,论坛真的是太慢了。对于我们这些不懂技术的小白,也不会设置,只能点一下,慢慢等。
长长的站台,寂寞的等待……
聊胜于无,今天发一篇学习笔记。
sudo命令是普通用户经常使用的命令
sudo把本来只能超级用户执行的命令赋予普通用户执行
sudo的操作对象是系统命令
sudo命令,普通用户执行时,会根据配置文件授权给普通用户执行指定的命令。 可以指定所有命令(普通用户相当于管理员),也可以指定部分命令(建议)。
一、设置普通用户使用sudo
在/etc/sudoers文件中可以配置哪些用户可以使用sudo。
管理可以通过下面命令修改配置文件,添加或删除可以使用sudo命令的用户
visudo
Copy the Code
当然管理员也可以用其它编辑器修改/etc/sudoers。我们可以在两个位置添加或删除使用sudo命令的用户:
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
Copy the Code
格式说明:
root
ALL=(ALL) ALL
Copy the Code
用户,被管理主机的地址,(可使用的身份),授权命令(绝对路径)
被管理主机的地址,这个位置不是表示哪些IP段的用户可以管理这台主机,而是表示自己(被管理主机的地址)。可以写本机IP,也可以写ALL,也可以写网段。为啥要写网段? 这和linux搭建一些服务有关。当然作为普通用户,针对自己的计算机,用ALL来表示就OK了。
可使用身份,一般指root,可以用ALL表示任何身份。
授权命令表示可以执行哪些命令,如果是ALL表示可以执行所有命令,和root用户没有区别。
%wheel
ALL=(ALL)
ALL
Copy the Code
%组名, 被管理主机的地址,(可使用的身份),授权命令(绝对路径)
可以把用户添加到wheel组中,此时用户就可以使用sudo命令了。当然也可以自己定义一个组写到配置中,之后把需要使用sudo命令的用户添加到这个组中。
二、实例操作
1. 配置alice用户允许使用sudo命令,但只赋予重启计算机命令的权限
alice ALL=/sbin/shutdown -r now,/bin/ls
alice 172.16.18.10=/usr/bin/vim
Copy the Code
这里给出ls命令和shutdown命令。shutdown命令还指定了参数,表示只能执行重启,无法关机。 这样可以防止alice用户把服务器关了(注意服务器不允许关机的)
[alice@centos ~]$ sudo shutdown -h now
[sudo] password for alice:
Sorry, user alice is not allowed to execute '/sbin/shutdown -h now' as root on centos.
Copy the Code
我们发现alice不能执行关机命令,但是执行重启可以。
可以用sudo -l查看一下当前授权了哪些命令。
alice@centos ~]$ sudo -l
User alice may run the following commands on this host:
(root) /sbin/shutdown -r now, (root) /bin/ls
(root) /usr/bin/vim
Copy the Code
注意:IP是服务器本机IP,不是远程用户自己电脑的IP。
同时我们要小心,现在对alice用户添加了/usr/bin/vim命令,表示alice可以用sudo 提升到管理员身份,并使用vim修改任何文件,造成了安全隐患。
2. 通过组的方式配置kevin用户允许使用sudo命令
%wheel ALL=(ALL) ALL
Copy the Code
默认这句是注释的,现在把注释去掉,之后把kevin加入wheel组中。
gpasswd -a kevin wheel
Copy the Code
[kevin@centos ~]$ sudo cat /etc/shadow
[sudo] password for kevin:
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
Copy the Code
此时kevin用户和root用户没有什么区别,因为wheel组被授权所有命令了。但要注意这样就很危险了,kevin用户可能误操作使服务器瘫痪。
当然你也可以自己创建一个组,设置一些命令。
#添加一个组
groupadd greboot
#修改/etc/sudoers,添加
%greboot ALL=/sbin/shutdown -r now
#添加abc用户
useradd abc
passwd abc
#添加abc用户到greboot组中
gpasswd -a abc greboot
#abc用户登录,执行重启
sudo shutdown -r now
Copy the Code
对这个组设置了只能使用shutdown -r now命令,而其它系统命令,abc用户是没有权限执行的。
三、注意
对于本机电脑,自己家用的可以设置普通用户具有所有权限,可以执行所有命令,如:alice用户
alice ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
Copy the Code
第一种:alice用sudo命令,可以执行所有系统命令。
第二种:开启wheel组,把alice加入组中,此时alice用户可以执行所有系统命令。
对于服务器来说,只允许配置用户执行部分命令。
Reply
Like 0
Favorite
View the author
All Replies
No replies yet
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Ranking
Change
【Enhanced Repo】Better Deepin Repo is released
Popular Events
More
最近明显减少了发帖子的数量,一来感觉自己的帖子没技术含量,二来论坛也太慢了,点击发帖,等了一分多钟也打不开,热情骤降……
我们能体谅官方的难度,但也请照顾一下这些爱好份子的感受,论坛真的是太慢了。对于我们这些不懂技术的小白,也不会设置,只能点一下,慢慢等。
聊胜于无,今天发一篇学习笔记。
sudo命令是普通用户经常使用的命令
sudo命令,普通用户执行时,会根据配置文件授权给普通用户执行指定的命令。 可以指定所有命令(普通用户相当于管理员),也可以指定部分命令(建议)。
一、设置普通用户使用sudo
在/etc/sudoers文件中可以配置哪些用户可以使用sudo。
管理可以通过下面命令修改配置文件,添加或删除可以使用sudo命令的用户
当然管理员也可以用其它编辑器修改/etc/sudoers。我们可以在两个位置添加或删除使用sudo命令的用户:
格式说明:
用户,被管理主机的地址,(可使用的身份),授权命令(绝对路径)
被管理主机的地址,这个位置不是表示哪些IP段的用户可以管理这台主机,而是表示自己(被管理主机的地址)。可以写本机IP,也可以写ALL,也可以写网段。为啥要写网段? 这和linux搭建一些服务有关。当然作为普通用户,针对自己的计算机,用ALL来表示就OK了。
可使用身份,一般指root,可以用ALL表示任何身份。
授权命令表示可以执行哪些命令,如果是ALL表示可以执行所有命令,和root用户没有区别。
%组名, 被管理主机的地址,(可使用的身份),授权命令(绝对路径)
可以把用户添加到wheel组中,此时用户就可以使用sudo命令了。当然也可以自己定义一个组写到配置中,之后把需要使用sudo命令的用户添加到这个组中。
二、实例操作
1. 配置alice用户允许使用sudo命令,但只赋予重启计算机命令的权限
这里给出ls命令和shutdown命令。shutdown命令还指定了参数,表示只能执行重启,无法关机。 这样可以防止alice用户把服务器关了(注意服务器不允许关机的)
我们发现alice不能执行关机命令,但是执行重启可以。
可以用sudo -l查看一下当前授权了哪些命令。
注意:IP是服务器本机IP,不是远程用户自己电脑的IP。
同时我们要小心,现在对alice用户添加了/usr/bin/vim命令,表示alice可以用sudo 提升到管理员身份,并使用vim修改任何文件,造成了安全隐患。
2. 通过组的方式配置kevin用户允许使用sudo命令
默认这句是注释的,现在把注释去掉,之后把kevin加入wheel组中。
此时kevin用户和root用户没有什么区别,因为wheel组被授权所有命令了。但要注意这样就很危险了,kevin用户可能误操作使服务器瘫痪。
当然你也可以自己创建一个组,设置一些命令。
对这个组设置了只能使用shutdown -r now命令,而其它系统命令,abc用户是没有权限执行的。
三、注意
对于本机电脑,自己家用的可以设置普通用户具有所有权限,可以执行所有命令,如:alice用户
第一种:alice用sudo命令,可以执行所有系统命令。
第二种:开启wheel组,把alice加入组中,此时alice用户可以执行所有系统命令。
对于服务器来说,只允许配置用户执行部分命令。