chmod 777 etcsudoers

chmod 777 etcsudoers,第1张

记掘烂吵录一次比较弱智的行为,希望这篇文章到我为止,不要再有相同的人犯如此低级的错误

在服务器上,创建一个用户,希望将它加入root组,拥有root权限,所以使用了一个错误的行为,首先 chmod 777 /etc/sudoers 给这个文件所有权限,首先这个命令本身就比较弱智,因为在服务器上,很少有情况需要将一个文件的所有权限都给到。很自信的执行命令之后,傻眼了,这台服务器上的判侍所有用户都失去了sudo权限,当执行sudo的时候出现以下错误:

它告诉你sudoers这个文件是全局可写的,不允许你执行这个 *** 作,因为它毫无安全性可言,其次,也是最关键的,正常人的思维是再把权限修改回去不就OK了,但是etc是普通用户无法切入的,所以普通用户无法修改这个文件的权限。更要命的是,执行了网上各种解决方案,都需要知道root用户的密码,问题是我怎么知道。悲剧了。。。。

不幸中的万幸,我们这台服务器在自己本地

重启服务器,长按 esc 键,进入linux启动界面,这个时候会看到以下选项:

选择 Advanced options for Ubuntu ,回车;

接下来会进入另历磨一个界面,如下所示:

选择 Ubuntu, with Linux 4.4.0-38-generic(recovery mode) 模式;

接下来会进入另一个页面, Recovery Menu(filesystem state: read-only)

选择 root ,然后回车。

这时候会在底部出现shell命令的界面,执行如下两步 *** 作(顺序不能错):

重启虚拟机,正常启动,这个时候 ll /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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12134919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存