man sudo
不让我理解其中的区别。
Ubuntu 24.04.01 LTS
从 22.04.01 升级
戴尔 precision 7550
收到升级通知并执行升级。
据称有些东西进行了部分升级,但一天内一切都运行正常。
更新了固件。一切看起来都很好。
突然无法连接到互联网 - 怀疑这是连接到 vpn 的,这种情况以前在使用 proton 时也发生过。
访问终端后发现用户名和主机名不同。用户名已更改一个字母,现在主机名显示为 127,与应有的相反。这是设备上的唯一帐户,并且是管理员。
Sudo 命令输出:
Sudo: unable to resolve host 127.0.01localhost :Temporary failure in name resolution
使用命令:
代码:
hostnamectl
漂亮的主机名显示我旧的、正确的用户名和主机名。
静态主机名在 ip 和 localhost 之间没有空格。
一小时后,互联网和 sudo 命令再次恢复运行。
现在 sudo 命令输出与上面列出的相同的错误输出,但无论如何它都会成功执行该命令。互联网将再次无法正常工作。
尝试过:
sudo -l
输出:
Matching Defaults entries for <My incorrect username> on 127:
env_reset,
mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User <My incorrect username> may run the following commands on 127:
(ALL: ALL) ALL
在我的(家庭)Ubuntu 22.04.4 LTS 机器上,我有无限的 sudo:
$ sudo -l
User <me> may run the following commands on <me>-home:
(ALL : ALL) ALL
但是,我在文件中没有看到我的用户 ID ,并且除了其中没有我的用户 ID 的文件之外/etc/sudoers
,没有其他文件。/etc/sudoers.d
README
Ubuntu 在哪里存储我拥有 sudo 的信息?
我发现在 Ubuntu 中使用 visudo 命令会打开 Nano。这不是我期望的行为,也不是使用 CentOS 或 Darwin 时看到的行为。
我看到这个话题到处都有讨论,但我没有回答我在这里提出的问题......
使用 visudo 调用的 nano 时编辑 sudoers 文件是否安全?也就是问visudo是否在另一个编辑器中进行语法检查?
提前致谢,
卡梅伦。
我有一个专用的远程网络服务器。我通过添加搞乱了/root/.bashrc
文件source /root/.bash_profile
。它在 sudo su 上进行核心转储。
$ sudo su
Segmentation fault (core dumped)
我也无法使用 root 通过 ssh 登录服务器。
我做不到sudo su
。
我可以将服务器重新启动到救援模式。
如何恢复 .bashrc 文件?
我正在运行 Ubuntu 22.04,在为另一块硬件编译 NXP 驱动程序后,我不再能够运行几乎所有命令。任何包含“sudo”或“ls”的内容都会返回以下内容并且不会执行:
aarch64-binfmt-P: Could not open '/lib/ld-linux-aarch64.so.1': No such file or directory
我手动重新启动系统并得到同样的错误。这机器本质上是变砖了吗?我无法使用 sudo 安装任何补丁,所以似乎被卡住了。
评论中的注释:
$ echo $PATH
/home/cwade/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$
$
$ type sudo
sudo is /home/cwade/bin/sudo
/bin/ls
作品。它返回 处的所有文件/home/user
。
我正在尝试创建一个桌面快捷方式,通过执行sudo /usr/bin/ddcutil -d 1 setvcp 60 0xF
而不需要密码来更改我的显示器输入。我已在sudoers.d目录中创建了一个条目,如果从终端运行该命令,则不需要按预期输入密码,但当我单击快捷方式时,它会提示输入密码。如何使该快捷方式无需密码即可运行?
.桌面文件:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Windows 10
Comment=Switch Display to Windows Virtual Machine
Icon=/usr/share/icons/windows-icon.png
Terminal=true
Exec=sudo /usr/bin/ddcutil -d 1 setvcp 60 0xF
sudoers 文件:
myusername ALL = NOPASSWD: /usr/bin/ddcutil
这里的解决方案不起作用,因为 gksu 已被弃用,并且按照答案之一的建议使用pkexec仍然提示输入密码。
我断断续续(几乎完全断断续续)使用 Linux 已有一年多了。从我读过的所有内容(包括这篇文章)来看,如果您的帐户是“sudoer”,您只能暂时获得提升的权限。但是您输入您使用 sudo 的帐户的密码。您无需提供额外的知识即可获得提升的权限。
我可以看到这如何防止已经有权访问提升权限的用户犯下严重错误,因为他们大部分时间都在没有提升权限的模式下度过。但它实际上与 Windows 中的(比方说)用途不同,在 Windows 中,只要您提供提升帐户的登录信息,您就可以从未提升的帐户启动提升的操作。与将帐户设置为 sudoer 帐户相比,我喜欢它为执行特权操作提供的更大障碍。
在发帖询问在 Ubuntu 中是否有一种简单的方法来完成此操作时,我得到了一些提示,这些提示使我找到了一个可能的解决方案:添加Defaults targetpw
到/etc/sudoers
使用sudo visudo
[1]。我不想在没有确认它完成了上述操作而不会以某种意想不到的方式损害安全性的情况下就轻率地这样做。请有使用经验的人/etc/sudoers
确认一下吗?
后记
我回答了这是否回答了我的问题,我点击了“是”。我的问题被标记为重复问题。但问题不是重复的,只是答案适用于我的问题。我不问如何sudo
从标准帐户使用。我问如何执行提升的功能,可以使用sudo
或其他一些方式。事实证明,一个答案不是sudo
从标准帐户使用,而是转移到 sudoer 帐户。所以答案甚至没有解决我可能正在重复的问题。 另一个答案使用pkexec
,这也回答了我的问题,但同样不是我可能正在重复的问题。因此,我的问题增加了价值,因为人们不会找到这两个答案,除非他们专门从非 sudoer 帐户搜索sudo
ing,而这些答案不会回答(并且用户可能不会寻找)。
笔记
当我试图从同一目录中的 SD 卡中删除文件时,我运行了sudo rm /*
,但现在 Ubuntu 不工作了。当我重新启动时,出现错误:内核恐慌试图杀死 init。
我是 Linux 新手。我现在应该怎么做?我不想丢失我的数据。
我的/etc/sudoers
josh ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart servicename.service
运行systemctl restart servicename.service仍然要求输入密码。有没有人有任何想法?
运行命令:locate systemctl 显示它位于:/usr/bin/systemctl