当我尝试从命令行或终端关闭计算机时,我必须具有 root 权限:
amy@amy:~$ shutdown now
shutdown: Need to be root
Run Code Online (Sandbox Code Playgroud)
和
amy@amy:~$ halt
halt: Need to be root
Run Code Online (Sandbox Code Playgroud)
但是当使用图形用户界面(即关机按钮或硬件关机按钮)关机时,我不需要输入密码。图形界面的关闭是什么,为什么它不需要密码或 root 权限?
我正在使用 Ubuntu 11.04 Natty。
我认为拥有比 root 用户更高权限的用户可能是有利的。
你看,我想保留所有的活动和几乎所有现有的 root 用户权限,就像现在一样。
但是,我希望能够在极其孤立的情况下拒绝root 权限。
这样做的好处之一是可以防止在更新期间安装某些不需要的文件。这只是一种可能优势的示例。
因为 apt-get 更新是由 root 或以 sudo 权限运行的,所以 apt-get 能够在更新期间替换某些不需要的文件。
如果我可以拒绝这些特定文件的这些权限,我可以将它们设置为指向/dev/null
或可能有一个空白占位符文件的 simlink,该文件可能具有拒绝在更新期间替换文件的权限。
此外,我不禁想起在接受其中一位 Ubuntu 创作者采访时所说的一句话,当时他说用户如何更好地信任“我们”(指的是 Ubuntu 开发者)“因为我们有 root " 这是对如何使用 root 权限执行系统更新的参考。
简单地改变安装过程来解决这个问题绝对不是我在这里感兴趣的。既然我已经对拥有拒绝 root 访问权限的想法有了一种品味,我想找出一种方法来实现这一点,只是为了做到这一点。
我只是想过这个,到目前为止还没有花任何时间在这个想法上,我相当有信心可以解决这个问题。但是,我很想知道这是否已经完成,或者这是否可能不是一个新想法或概念。
基本上,似乎应该有某种方法可以让超级超级用户拥有超出系统权限的权限仅一级。
注意:虽然我觉得接受的答案最符合标准,但我真的很喜欢@CR 的答案。还。
我想在树上创建一个实际用户(我),但我想我只需要在有一天我有时间弄清楚的时候坐下来。
此外,我不是要在这里选择 Ubuntu;如果我对它感到消极,我不会将它用作我的主要发行版。
我有以下文件:
---------- 1 Steve Steve 341 2017-12-21 01:51 myFile.txt
Run Code Online (Sandbox Code Playgroud)
我将用户切换到root
终端中,我注意到以下行为:
我可以读取这个文件并写入它。
我无法执行此文件。
如果我x
在文件的用户权限 ( ---x------
) 或组权限 ( ------x---
) 或其他权限 ( ---------x
) 中设置该位,那么我将能够执行此文件。
任何人都可以向我解释或向我指出一个教程,该教程解释了root
用户处理文件和目录时适用的所有规则?
我正在写一些关于如何安装某些东西的说明(与 TeX 相关 - 如果你不问,我不会通过提供更多细节来破坏你的一天)并用于sudo
在系统范围内安装。有人评论说,他们不认为这sudo
在所有 Linux(或 Unix)发行版上都可用。
是否有没有没有的 Unix 发行版,如果有sudo
,它们是什么?是否有一个举世公认的“给我超级用户权限”命令,该命令是在所有系统上?
您能否解释一下为什么二进制编译文件(例如,/usr/sbin
)对root
用户具有写权限?
对我来说,这是编译好的。这意味着直接写入没有用,并且可能以某种方式将文件暴露给某些安全问题。
脚本(例如bash
文件)可能是可写的,因为它基本上是一个文本文件,但是据我所知,对于实际上不需要写入的已编译文件,为什么它是相同的?
提前感谢您的反馈。
并不是说改变它是一个很好的主意,而是为了好玩。根据这个帖子,还存在一些问题,即使是在不断变化的条目后/etc/passwd
,/etc/shadow
和/etc/sudoers
。有什么建议?
我对问题中提到的概念比较陌生,从不同来源阅读它们只会使它们更加混乱。所以这是我到目前为止的理解:
当我们获得文件的权限时,它们看起来像这样:
-rwsr-xr-- 1 user1 users 190 Oct 12 14:23 file.bin
Run Code Online (Sandbox Code Playgroud)
我们假设用户user2
谁是该组中users
试图执行file.bin
。如果未设置 setuid 位,则意味着 的 RUID 和 EUIDfile.bin
都等于 的 UID user2
。但是由于设置了 setuid 位,这意味着 RUID 现在等于 的 UID user2
,而 EUID 是文件所有者的 UID,user1
。
我的问题是:
root
?是否root
与所有者具有相同的权限?或者我们是否需要在权限列表中单独的条目root
?我看了这个问题: 试图理解 sudoers 文件中“modernNeo ALL=(ALL:ALL) ALL”和“modernNeo ALL=(ALL) ALL”之间的区别
我还有一个问题。既然“root”用户拥有所有权限,为什么root ALL=(ALL) ALL
在/etc/sudoers
Linux 系统上?
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
我试着把它注释掉,root用户仍然拥有所有权限,它根本不影响root用户。看起来root ALL=(ALL) ALL
是没用的。
root
即使未设置权限,用户也可以写入文件write
。
root
即使未设置权限,用户也可以读取文件read
。
root
即使未设置权限,用户也可以 cd
进入目录execute
。
root
未设置权限时,用户无法执行文件execute
。
为什么?
user$ echo '#!'$(which bash) > file
user$ chmod 000 file
user$ ls -l file
---------- 1 user user 12 Jul 17 11:11 file
user$ cat file # Normal user cannot read
cat: file: Permission denied
user$ su
root$ echo 'echo hello' >> file # root can write
root$ cat file # root can read …
Run Code Online (Sandbox Code Playgroud) 我已经在 centos 6.5 中安装了一个 vlc。我想以root身份运行它。但我收到以下错误,
“VLC 不应该以 root 身份运行。抱歉。如果您需要使用实时优先级和/或特权 TCP 端口,您可以使用 vlc-wrapper(确保它是 Set-UID root 并且不能由非值得信赖的用户优先)。
root ×10
permissions ×5
sudo ×3
files ×2
linux ×2
bash ×1
distros ×1
executable ×1
gui ×1
portability ×1
process ×1
setuid ×1
shutdown ×1
users ×1
vlc ×1