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系统中,etc文件夹下的sudoers文件是我们常用sudo指令的配置文件。我们可能会通过修改sudoers去修改指令。但是如果修改不当则会出现以下情况:
这样的情况的出现一般是 sudoers文件本身成为了可读和可写的状态。并且可以被所有人读写。
解决问题的办法很简单:
这样即可正常使用sudoers文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)