好的,这是我的问题 - 请不要因为我没有安全感而对我大喊大叫!:) 这是在我的主机上。我是唯一一个使用它的人,所以它相当安全,但我有一个非常复杂的密码,很难一遍又一遍地输入。我使用控制台来移动文件和执行任意命令很多,我切换终端,所以 sudo 记住控制台是不够的(而且我仍然必须至少输入一次我糟糕的密码!)在过去我在 sudoers 中使用了 NOPASSWD 技巧,但我决定更安全。除了不允许密码访问某些应用程序之外,还有什么妥协吗?(这仍然可能不安全)可以阻止恶意软件和远程登录 sudo rm -rf /-ing me,但在我的终端中我可以愉快地输入?我可以在每个终端都有这个吗?所以只是随机命令不会通过?我试过以 sudo 身份运行终端仿真,但这使我成为 root。
如何在 Linux 上列出所有具有管理员权限的用户?我检查了文件 /etc/passwd/,但我不知道如何确定哪个帐户具有特权。
我正在尝试使用简单的命令将用户添加到 sudoers 文件
sudo adduser username admin
Run Code Online (Sandbox Code Playgroud)
但我明白了adduser: The group 'admin' does not exist。因此,我查看了 sudoers 文件 ( sudo visudo -f /etc/sudoers),其中包含以下行:
%admin ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
据我所知,这意味着管理员组存在。
那么我在这里错过了什么?
我想禁用组中用户的命令sudo和。sustaff
所以我把这个放进去/etc/sudoers:
%staff ALL=ALL, !/usr/bin/sudo,!/usr/bin/su
Run Code Online (Sandbox Code Playgroud)
但我发现,只有sudo工作,su仍然适用于组中的用户staff。
我也尝试过这个:
%staff ALL=ALL, !/usr/bin/sudo
%staff ALL=ALL, !/usr/bin/su
Run Code Online (Sandbox Code Playgroud)
尽管如此,适用于sudo但不适用su。
我怎样才能解决这个问题?
有一个服务器已经设置了一段时间,我需要更改一些设置,其中一个是具有超级用户权限的用户。但是,我到处都在告诉使用visudo或编辑/etc/sudoers,但是这台服务器上不存在这些东西。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ whereis visudo
visudo:
$ visudo
-bash: visudo: command not found
$ ls -l /etc/sudoers
ls: cannot access '/etc/sudoers': No such file or directory
Run Code Online (Sandbox Code Playgroud)
那个配置在哪里?
需要明确的是,用户可以su没有密码,因此可以在某处进行设置,但由于/etc/sudoers不存在visudo且未安装(也未安装sudo),那么该配置在哪里?
备份数据后,我安装了 SSD 驱动器。我安装了 OSX Maverick(因为我的笔记本电脑大约是 2014 年),然后我开始将我的数据从 user-2 复制到 user-1(因为安装操作系统后我的用户与保存备份数据中的数据)。
然后我开始修复文件的所有权,但我做了一些非常糟糕的事情:我跑sudo chmod -R user-1:staff进去/etc改变了/etc/sudoers. 并且文件所有权已损坏,您无法将其改回。
我已经完成了单用户模式启动,发现文件系统以只读方式挂载。
我以恢复模式启动,发现 OSX不再在 Disk Utility 中提供“修复磁盘权限”。
我已经在恢复模式下启动,发现我无法从我的 Time Machine 备份中恢复单个文件,因为恢复模式只允许在你的机器上铺满所有 Time Machine 数据。
我试过做一个普通的启动,但这需要 30 分钟,虽然进度条说它已经完成,但操作系统再也没有出现。
那么,我该如何
/etc/sudoers或也许能够再次启动我的笔记本电脑?
遗憾的是,我无法以 root 身份使用此漏洞,因为我无法获得登录对话框提示。
稍后 2018-01-21
我遇到了这个问题并且能够mount -uw / && chmod 0 /etc/sudoers成功,但我仍然无法启动。可能是其他原因引起的chown -R。
稍后:当我以详细模式 (Command-V) 启动时,我收到无限滚动的错误消息“进程 X 崩溃:opendirectoryd。正在创建太多尸体。” 这看起来是致命的。我可能需要重新安装操作系统和我的备份。
我想强制用户使用他的密码进行身份验证,每次他发出带有“sudo”的命令时。但是,我想从该需求中排除一个命令(一个 init 脚本)。这个单一的命令应该能够在不需要密码的情况下作为 sudo 运行。知道这是否可能吗?或者我是否需要为此设置一个不同的用户帐户,唯一的权利就是调用命令?
这与我安装了 Raspbmc 的 Raspberry Pi 有关。我确实意识到有一个 Raspberry Pi StackExchange 站点,但我想我可能会在这里更多地关注这个问题。
问题是我进行了修改/etc/sudoers以试图向NOPASSWD其中一个用户授予权限,但我猜我在此过程中的某个地方破坏了文件,现在每当我登录/尝试使用时都会收到以下错误sudo:
sudo: parse error in /etc/sudoers near line 19
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Run Code Online (Sandbox Code Playgroud)
我在Ubuntu和StackOverflow上发现了类似的帖子,但问题是所有的答案都需要 root 密码,并且在 Raspbmc 上默认禁用 root 帐户,显然我在尝试更改之前没有启用它/etc/sudoers。
所以我的问题是:如果我没有启用 root 访问权限,我该如何修复文件?甚至有可能吗?