我收到 sudo 错误,我该如何解决这个错误?
sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting
Run Code Online (Sandbox Code Playgroud) 当我在终端中键入 sudo 命令时,它显示以下错误:
sudo: /etc/sudoers is owned by uid 1000, should be 0
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
有没有办法sudo
让我的命令授予我比默认时间更长的权限?
sudo
当需要安装许多软件包时,必须不断输入密码可能会很痛苦,因此如果存在可以执行的命令或配置来影响其使用期限,那就太好了。
我按照这个过程在 Ubuntu 中创建了一个交换文件,但我不再需要它,所以我想删除它。
但是,博客文章没有写任何关于删除的内容,所以我尝试通过 删除它sudo rm -rf
,但它得到了Operation not permitted
错误。
到目前为止,我尝试了许多关于如何删除具有相同错误的文件的答案,但在我的情况下没有任何效果:
, 其中包括:
/
( hmod ugo+w .
)/
( chattr -i -a .
)上的不可变标志他们都没有工作。我想知道如何删除它,但是如果它是交换文件,我该如何删除它?
结果free -h
是:
total used free shared buff/cache available
Mem: 1.7G 101M 405M 1.2M 1.2G 1.4G
Swap: 1.5G 234M 1.3G
Run Code Online (Sandbox Code Playgroud) 不建议sudo
与图形应用程序一起使用gedit
,如本链接所述。因此,我倾向于使用vim
with sudo
。
最近我注意到我~/.viminfo
在一个相当新的Ubuntu 16.04 (Xenial Xerus)安装上被 root 所有,所以我想知道 Vim 是否被认为是图形化的,或者调用sudo vim
. 通过以下方式将所有权更改为我自己后:
sudo find $HOME -not -user $USER -exec chown $USER:$(id -g) {} +
Run Code Online (Sandbox Code Playgroud)
随后运行sudo vim
我无法~/.viminfo
拥有root。但是,我确信它最近由 root 拥有。
不建议调用sudo vim
吗?
当我使用sudo
以下命令运行命令时,后续sudo
命令将不再要求输入密码。
sudo ls
Run Code Online (Sandbox Code Playgroud)
但这仍然运行ls
。如果我不想在开始时运行任何命令,而只是sudo
在稍后停止询问密码的后续命令。有没有办法这样做?
背景:
我有一台带有 LAMP 设置的开发机器。一些开发人员会不时访问这台机器。每次他们在配置文件中进行一些更改时,他们都需要使用sudo service apache restart
或重新启动 apache 服务器sudo /etc/init.d/apache2 restart
问题:
我现在想要的是,每个访问机器的开发人员都没有对所有内容的 sudo 访问权限。相反,他/她应该只能service
使用 sudo运行命令,而不能使用其他任何命令。有可能这样做吗?
pkexec visudo
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/sbin/visudo' as the super user
Authenticating as: Thomas,,, (tuc) Password: polkit-agent-helper-1:
error response to PolicyKit daemon:
GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for
cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized
This incident has been reported.
Run Code Online (Sandbox Code Playgroud)
我是通过 ssh 执行此操作的,因为我正在执行此操作的盒子用作没有屏幕的音乐服务器,并且无法访问。这发生在我从 Ubuntu 14.04 升级到 16.04 时。我试图从另一个最近的 16.04 安装中复制一个 sudoers 文件,但由于 sudoers 文件,我无法这样做:
sudo mv ~/gyrf sudoers
>> /etc/sudoers: syntax error near line 36 …
Run Code Online (Sandbox Code Playgroud) 我使用没有 sudo 的 sshfs 创建一个目录,如
sshfs user@172.19.76.226:/media/user/harddrive /temp/user/harddrive
Run Code Online (Sandbox Code Playgroud)
但是当我想卸载/temp/user/harddrive
目录时
umount /temp/user/harddrive
Run Code Online (Sandbox Code Playgroud)
它提示:
umount: /temp/user/harddrive: Permission denied
Run Code Online (Sandbox Code Playgroud)
那么如何卸载这个目录呢?
一个奇怪的问题,我知道。这是脚本:
echo $USER
Run Code Online (Sandbox Code Playgroud)
这是我用来运行它的命令:
sudo ./myscript.sh
Run Code Online (Sandbox Code Playgroud)
现在它打印“root”,但我希望它打印jon
我的用户名。有没有办法通过更改脚本而不是命令来做到这一点?