我使用以下方法更改了 sudoers 文件中的设置
须藤
把它搞砸了。现在,当我尝试再次执行此操作或使用 sudo 打开任何文件时,我无法再打开它并收到以下错误消息:
>>> sudoers 文件:语法错误,第 7 行
现在怎么办?
有什么办法可以解决这个问题(恢复设置),还是我需要安装一个全新的 linux 副本?
我得到这一切的原因是当它告诉我有一些错误时我按下了“Q”,这对我来说非常愚蠢。
谢谢。
编辑
我的 sudoers 文件与普通的 sudoers 文件没有什么不同。我刚刚在该文件中添加了 timestamp_timeout = 0 行,所有这些问题都出现了。我按照 James 的建议做了,甚至删除了该行(timestamp_timeout = 0)。我将文件权限更改为它请求的 0440,然后正常启动。然后,我收到相同的错误消息
sudoers file: syntax error, line 7
sudo: parse error in /etc/sudoers near line 7
Run Code Online (Sandbox Code Playgroud) 如上。
我现在该怎么办 ??
编辑 2 解决
这就是我所做的:
万岁!!
我通过 ssh 连接到远程计算机并且 xforwarding 工作正常......但是一旦我“sudo su -”或“sudo su user2”它不再Xforwards任何给我错误的东西:
X11 connection rejected because of wrong authentication.
xterm Xt error: Can't open display: localhost:10.0
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢
我在理解上有一些问题sudo。我以非管理员/非 root 用户身份登录终端。这个“普通”用户不在 sudoers 文件中(我认为不应该)。
现在我尝试执行一个需要 admin/root 权限以及访问我的普通用户目录的命令——因此我不能简单地su进入一个 admin 或 root 用户。
在我的理解中sudo -u root应该可以解决问题 - 但是它不接受root(或 admin 如果我尝试使用我的普通管理员用户)的密码。它只接受“普通”用户的密码,这似乎表明该-u username选项无法按照我期望的方式工作。
我的期望是它
以 root 的权限sudo -u root some_command执行some_command,因此它也要求提供 root 的密码。显然不是。
TL;DR:如何在不将普通用户添加到 sudoers 文件的情况下执行任何需要管理员权限并有权访问“登录(普通)用户”文件的命令?
我在 Mac OS X 10.7 下启用了 root 用户。
我一直在尝试以不同的用户身份运行应用程序。
尝试 1
sudo -u otheruser open /Applications/TextEdit.app启动应用程序,但它使用当前用户,而不是otheruser。
尝试2
login username并su - otheruser成功登录为otheruser,不同的用户活动监控器弹出,但类似open /Applications/TextEdit.app回报的错误LSOpenURLsWithRole() failed with error -10810 for the file /Applications/TextEdit.app.
尝试 3
sudo su - otheruser -c /Applications/TextEdit.app/Contents/MacOS/TextEdit似乎启动了该应用程序(它出现在由otheruser启动的 Activity Monitor 下)但是当停靠栏图标无限期地弹跳时会出现此错误:_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
问题
那么……我如何以不同的用户身份运行应用程序?
我有一个在 imx6 平台上运行的嵌入式 Linux。这是一个飞思卡尔嵌入式linux。问题是该 linux 没有可用的 sudo,但我需要由用户激活和停用 wlan0 设备。我试图将用户添加到组 root 没有任何成功。我还尝试将整个命令添加到 /etc/busybox.conf 文件中,但这也没有效果。
如何在没有 sudo 的情况下以用户身份运行此命令?
user@touch:~$ /sbin/ifconfig eth0 down
SIOCSIFFLAGS: Permission denied
Run Code Online (Sandbox Code Playgroud) 我要复制文件系统storage/photos从source以destination不启用ssh登录为root用户。我尝试了许多不同的组合,例如:
sudo zfs send -R storage/photos@frequent_2015-02-12_18:15 | ssh example.com sudo zfs recieve storage/photos
sudo zfs send -R storage/photos@frequent_2015-02-12_18:15 | ssh example.com su -c zfs recieve storage/photos
sudo zfs send -R storage/photos@frequent_2015-02-12_18:15 | ssh example.com 'sudo -S zfs recieve storage/photos <~/topsecret'
Run Code Online (Sandbox Code Playgroud)
我不能使用 sudo -S 传递密码,因为 zfs 流已经连接到标准输入。上面的两个示例需要交互式终端而不是标准输入。
也许不想在服务器上启用 root 登录是愚蠢的。但是,对于蛮力攻击者来说,还有一件事可以猜测哪个好。
我正在尝试使用来自 Docker 中心的 Jenkins 映像在 AWS 上设置 CI。我已经在这个过程中花费了几个小时(为 Node 项目进行配置),现在我意识到我的一些 npm 依赖项需要make构建。Docker 映像没有make,也没有sudo,所以看起来我不能apt-get install make。是否有另一种方法make无需使用授予 root 访问权限的 Dockerfile 重新创建映像?
我有以下输出ls -lFh:
-rw-r--r-- 1 hjpotter92 hjpotter92 926 Aug 2 18:40 static.yaml
drwxr-xr-x 5 hjpotter92 hjpotter92 4.0K Sep 12 19:40 templates/
-rw-r--r-- 1 root root 1.5K Sep 12 20:09 xyz
Run Code Online (Sandbox Code Playgroud)
我以hjpotter92. 我的用户NOPASSWD在sudoers列表中没有条目。有人可以解释我尝试以下操作时的行为:
$ which rm
rm: aliased to rm -i
$ rm xyz
rm: remove write-protected regular file 'xyz'? y
$ sudo rm xyz
rm: cannot remove 'xyz': No such file or directory
$ ls -lFh
total 176K
<a lot of other files> …Run Code Online (Sandbox Code Playgroud) 操作系统: Arch Linux
Linux版本: 4.16.11
须藤版本: 1.8.23
我需要什么:
any executable与sudo使用密码提示/home/username/script.sh没有密码提示的情况下执行一个可执行文件。当我这样配置时
username ALL=(ALL) NOPASSWD: /home/username/script.sh
Run Code Online (Sandbox Code Playgroud)
我对 有想要的效果script.sh,但我不能executable用sudo.
例子
$ sudo ./script.sh # runs fine!
Run Code Online (Sandbox Code Playgroud)
尝试别的
$ sudo nano /etc/sudoers
[sudo] password for username:
Sorry, user username is not allowed to execute '/usr/bin/nano
/etc/sudoers' as root on hostname.
Run Code Online (Sandbox Code Playgroud)
看来这是替换的结果ALL有NOPASSWD,看来我需要两者。如果sudoers文件已ALL供用户使用,我可以使用密码提示执行任何我想要的操作
username ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
我试图结合 ALL 和 NOPASSWD 但没有结果
username ALL=(ALL) …Run Code Online (Sandbox Code Playgroud) 我在终端中犯了一个错误,现在每次使用 sudo 时,都会收到错误消息: sudo: unable to initialize PAM: Invalid argument
我知道我搞砸了什么,即在以下文件中的注释之外添加一个字符:/etc/pam.d/sudo
内容如下:
x# sudo: auth account password session
auth sufficient pam_tid.so
auth sufficient pam_smartcard.so
auth required pam_opendirectory.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
Run Code Online (Sandbox Code Playgroud)
发生的事情是我正在使用 nano 编辑此文件以添加pam_tid.so到此文件,以便我可以使用 touch id 绕过 sudo。然后我按 Ctr+x 退出,但错过了 Ctr 并且没有看到评论之外的 x。因此,当我尝试使用 sudo 时,出现错误。最糟糕的是,要编辑此文件,我需要 sudo。任何帮助将不胜感激。
谢谢