§ sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0411。 当我用sudo chmod 777 /etc/sudoers修改了sudoers文件的访问权限后,sudo就不能再用了。 再想通过sudo chmod 440 /etc/sudoers修改文件sudoers的访问权限,或着使用sudo 时结果提示:sudo: /etc/sudoers is mode 0777, should 这样就可以修改/etc/sudoers文件的访问权限。问题也就解决了。 后来在网上找到一篇关于sudoers文件的解析,这里就贴在下边。 编辑配置文件命令:visudo 默认配置文件位置:/etc/sudoers [root@localhost ~]# cat /etc/sudoers # sudoers file. # # This file
由于自己修改sudoers文件失误,导致切换root用户报错 公司同事劝我重新装系统,经过我不懈的努力,今天下午终于解决了这个问题 1.将 /etc/sudoers 的 owner 和组,修改为 admin : chown root:admin /etc/sudoers 然后sudo 又出现了一个新的问题 2.继续 su 切换到 root 用户,修改权限 su chmod 555 /etc/sudoers 这是一个教训,/etc/sudoers 这个文件千万不要随便乱动。为了保护系统安全,sudoers 的权限一旦修改后,任何 sudo 命令都会被拒绝。
自己作死,没有用visudo 修改/etc/sudoers 文件,结果导致sudoers文件出错,sudo无法使用。 在网上找了一圈才搞好,哎! 我只好用 chmod 666 /etc/sudoers 修改文件权限,然后正常登陆,修改/etc/sudoer 恢复到正常状态,用visudo,切记。
文章目录 sudo使用 sudo命令执行过程 赋予用户sudo操作的权限 /etc/sudoers内容详解 编辑/etc/sudoers 命令作用域 通配符以及取消命令 输入密码时有反馈 修改sudo /sudoers文件,系统提示我没权限啊,怎么办? 不过,系统文档推荐的做法,不是直接修改/etc/sudoers文件,而是将修改写在/etc/sudoers.d/目录下的文件中。 如果使用这种方式修改sudoers,需要在/etc/sudoers文件的最后行,加上#includedir /etc/sudoers.d一行(默认已有): #includedir /etc/sudoers.d 任何在/etc/sudoers.d/目录下,不以~号结尾的文件和不包含.号的文件,都会被解析成/etc/sudoers的内容。
它默认的存放位置是/etc/sudoers。 sudo使用时间戳文件来完成类似“检票”的系统。 二、实操 我们可以直接以root用户vi /etc/sudoers文件或者执行visudo命令 我们添加一个用户来实验,u001 useradd u002 passwd u002 我们切换到u002用户 我们可以通过root用户设置sudoers文件,让u002可以通过sudo命令具有root用户权限。 我们编辑/etc/sudoers文件 第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明foobar可以在此主机上执行后面的命令。 在实际项目中,一般编辑sudoers文件,几乎不用ALL权限,而是根据实际需要进行定制。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151407.html原文链接:https://javaforall.cn
错误背景分析 1.1 什么是sudoers文件? sudoers文件是一个特殊的配置文件,位于/etc/sudoers路径下,它定义了哪些用户或用户组可以使用sudo命令,以及他们可以执行哪些命令。 典型的sudoers文件内容如下: # /etc/sudoers root ALL=(ALL:ALL) ALL %admin ALL=(ALL) ALL %sudo ALL=(ALL:ALL 1.2 错误提示解读 当你尝试以用户erpit执行sudo命令时,如果该用户不在sudoers文件中,系统将会报错并显示以下消息: erpit is not in the sudoers file. 2.2 修改sudoers文件 要为用户erpit添加sudo权限,你可以使用以下步骤: 编辑sudoers文件: 使用visudo命令编辑sudoers文件,这是最安全的方式,因为它会在保存前检查语法错误 总结 “erpit is not in the sudoers file.
以下是本机配置: root@myths-X450LD:/etc/sudoers.d# cat /etc/sudoers # # This file MUST be edited with the 'visudo ' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers (5) for more information on "#include" directives: #includedir /etc/sudoers.d 注释啥的不去管他,Defaults啥的暂时还用不到
使用Linux,初学使用root不要太方便,工作中却不会给你这样的,必须要用自己的账号。新账号需要添加sudo的权限。 su 使用root登陆 visudo 在root下添加自己的用户名 root ALL=(ALL) ALL ryan ALL=(ALL) NOPASSWD: ALL 这里nopasswd是为了sudo的时候不用确认密码
Linux中普通用户用sudo执行命令时报”xxx is not in the sudoers file.This incident will be reported”错误,解决方法就是在/etc/sudoers /etc/sudoers文件默认是只读的,对root来说也是,因此需先添加sudoers文件的写权限,命令是: 即执行操作:chmod u+w /etc/sudoers 3.编辑sudoers文件 即执行 :vi /etc/sudoers 找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名) ps:这里说下你可以sudoers添加下面四行中任意一条 第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码. 4.撤销sudoers文件写权限,命令: chmod u-w /etc/sudoers
sudoer #创建一个普通用户suveng useradd suveng #为hadoop用户添加密码: echo 123456 | passwd --stdin suveng #将bigdata添加到sudoers echo "suveng ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/suveng chmod 0440 /etc/sudoers.d/suveng requiretty/' /etc/sudoers
其实这个原因很简单,就说sudoers文件由于某种原因写入失败了 自己手动写入一下就好了,把root那行负责一下,名字改成你的用户名即可 vi /etc/sudoers ? 再试试发现ok了 ? 如果发现自己没有sudoers写的权限就先设置一下可写权限:(root用户应该是有权限的,我是有的) chmod 777 /etc/sudoers chmod用法我就不说了,可以参考我发的基础文档(有问题可以直接反馈我 恢复只读权限 chmod 440 /etc/sudoers 闪人。。。
命令$ ll /etc/sudoers表示查看文件的属性,属性包括有:文件拥有者、文件所属组以及其他用户组对该文件拥有的读写权限和文件的类型等,上图的/etc/sudoers文件表示拥有者和所属组都是root 命令$ sudo cat /etc/sudoers表示当前登录用户是普通用户zouqi,我想使用该用户查看/etc/sudoers文件的内容,由于需要有root权限才能查看该文件的内容,于是使用sudo 切换至root用户 $ su - root 给root用户添加可写权限 chmod 640 /etc/sudoers 修改sudoers文件 # vim /etc/sudoers 如上图所示位置加上 查看是否修改成功 # cat /etc/sudoers 可以看到已经成功添加了用户zouqi到sudoers文件中。 etc/sudoers sudo命令继续查看sudoers文件内容验证结果。
(我尝试使用adduser username wheel不成功) 还有一种极端的办法是修改/etc/sudoers文件。 其实visudo命令是使用vi编辑/etc/sudoers文件,但是sudoers文件是只读文件,所以我们最好直接使用系统提供的visudo命令,这样可以直接编辑sudoers文件而不用修改文件属性。
问题以及解决办法:hadoop 不在 sudoers 文件中。 命令,让hadoop用户使用root身份执行命令时报错: [hadoop@mydocker ~]$ sudo date [sudo] password for hadoop: hadoop 不在 sudoers
~]# 2)查看/etc/sudoers文件权限,如果只读权限,修改为可写权限 [root@localhost ~]# ll /etc/sudoers -r--r-----. 1 root root 4030 12月 10 09:55 /etc/sudoers [root@localhost ~]# chmod 777 /etc/sudoers [root@localhost ~]# ls -l /etc/sudoers -rwxrwxrwx. 1 root root 4030 12月 10 09:57 /etc/sudoers 3)修改/etc/sudoers文件,执行命令如下: 的访问权限为440 [root@localhost ~]# chmod 440 /etc/sudoers [root@localhost ~]# ll /etc/sudoers -r--r----- . 1 root root 4030 12月 10 09:59 /etc/sudoers 5)切换到普通用户,即可使用。
首先切换root身份 su 如果显示su: Authentication failure输入这个 sudo passwd root 编辑sudoers文件 visudo 这里是vim的编辑语法,找到 root
第一件事就是将用户添加到 sudoers 文件。这个文件包含一系列规则,决定哪些用户或者群组可以获得 sudo 授权,和权限级别一样。第二个选项就是将用户添加到sudoers文件中的 sudo 组。 否则,你会得到错误提示“该用户不在 sudoers 文件”。 将用户添加到 sudoers 文件 用户和用户组的 sudo 权限都定义在/etc/sudoers文件中。 你可以通过编辑 sudoers 文件或者在/etc/sudoers.d文件夹下创建一个新的配置文件来进行配置。这个文件夹下的文件会被包含在 sudoers 文件中。 /etc/sudoers.d文件夹下创建一个新文件,添加授权规则来实现同样的目标。 将同样的规则添加到这个新创建的 sudoers 文件: echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
由于存在错误,当在sudoers文件中启用pwfeedback选项时,用户可能会触发基于堆栈的缓冲区溢出。即使未在sudoers文件中列出的用户也可以触发此错误。 在以下示例中,sudoers配置容易受到攻击: ? 在以下配置中就未受影响 ? 0x03:编号 CVE-2019-18634 ? 0x05:影响 除非在sudoers文件中启用了pwfeedback,否则不会有任何影响。 如果在sudoers中启用了pwfeedback,则堆栈溢出可能使无特权的用户升级到root帐户。 0x06:解决方案 如果sudoers文件启用了pwfeedback,那么通过预先挂起一个感叹号来禁用它就足以防止利用这个bug。 pwfeedback 在使用vi 在sudo命令在sudoers中禁用pwfeedback之后,示例sudo -l输出变成: ? 该错误已在sudo 1.8.31中修复。
第一种方式就是将用户添加到 sudoers 文件。 二、将用户添加到 sudoers 文件 用户和用户组的 sudo 权限被定义在文件/etc/sudoers文件。将一个用户添加到这个文件,允许你自定义访问命令以及配置自定义安全策略。 你可以通过修改 sudoers 文件或者在/etc/sudoers.d目录下创建配置文件来配置用户的 sudo 访问权限。目录下的所有文件都会被包含在 sudoers 文件中。 通常,visudo使用 vim 来打开/etc/sudoers文件。 文件,你还可以通过在/etc/sudoers.d文件夹下创建同样的文件来完成这个需求。