1、进入超级用户模式。也就是输入"su
-",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。
u+w
/etc/sudoers"。
3、编辑/etc/sudoers文件。也就是输入命令"vim
/etc/sudoers",输入"i"进入编辑模式,找到这一
行:"root
ALL=(ALL)
ALL"在起下面添加"xxx
ALL=(ALL)
ALL"(这里的xxx是你的用户名),然后保存(就是先按一
下Esc键,然后输入":wq")退出。
4、撤销文件的写权限。也就是输入命令"chmod
u-w
/etc/sudoers"。
笔者在添加新用户后或者在centos系统上使用sudo时会提示没有权限,需要编辑修改/etc/sudoers,于是笔者将WSL Ubuntu、树莓派4B,centos7系统的这个文件罗列出来看看到底怎么配置。
sudo的作用是啥呢?Sudoers allows particular users to run various commands as the root user, without needing the root password。
1、WSL Ubuntu
文件的第一句话:This file MUST be edited with the 'visudo' command as root. 这个文件需要root用户使用visudo来编辑修改,这个编辑器库检查语法,避免修改错误。
/etc/sudoers.d/目录下的文件也同样有效,提示可以在目录下新建个配置文件来避免直接修改sudoers文件。Please consider adding local content in /etc/sudoers.d/ instead of directly modifying this file.
文件里面最重要的是三个配置:
超级用户拥有所有权限
# User privilege specification
root ALL=(ALL:ALL) ALL
admin用户组拥有所有权限
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
允许使用sudo来获得所有权限
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
这条配置的含义是:
第一个,指定的是用户,也可以是别名;
第二个,ALL指定的是用户所在的主机,可以是ip,也可以是主机名;
第三个,括号里指定的也是用户,指定以什么用户身份执行sudo
第四个,ALL指定的是执行的命令;
文件最后包含sudoers.d目录。
#includedir /etc/sudoers.d
2、树莓派4B
相比于WSL Ubuntu,树莓派resdebian就只有其中两条主要的配置。
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
3、CentOS7
相比于上面,CentOS7的sudoers文件就丰富的多,可以定义具体的权限。但也有些区别。
root ALL=(ALL) ALL 。括号中只有一个ALL。
wheel用户在运行所有命令,可以不输入密码。
%wheelALL=(ALL) NOPASSWD: ALL
允许使用用户挂载U盘
%users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
允许使用用户关机
%users localhost=/sbin/shutdown -h now
配置文件中列出很多别名NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS。比如PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall。
那么下面的配置就是允许sys用户组可以执行别名定义的应用。
%sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
在 Linux 上, 只有 root 用户可以执行任何命令, 其他用户必须使用 sudo 才可执行特殊的命令.
sudo 是通过 sudoers 进行配置的.
/etc/sudoers:
不建议直接修改默认配置文件, 我们可以使用 #include 和 #includedir 添加自定义的配置文件.
/etc/sudoers.d/README:
上面的配置表示: root 用户可以在 任意机器 上以 任意用户 和 任意用户组 的 任意组合 执行 任意命令.
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)