我是 Linux 的新手,所以请原谅我缺乏理解。
想象一下,我的 Linux 安装中有 2 个用户,比如 A 和 B。
用户 A 创建文件夹 FolderA 并在该文件夹中添加一些文件。然后,用户 A 使用 chmod 命令阻止其他任何人使用以下命令访问该文件夹
sudo chmod 700 FolderA -R
我不明白的是,用户 B 如何只登录他的帐户并使用如下命令更改此限制。
sudo chmod 777 FolderA -R
我的意思是当任何人都可以更改文件夹时,对文件夹设置限制有什么意义?我只是不明白这其中的逻辑。
再一次,我是 Linux 的新手,因此这个问题。
roa*_*ima 32
该sudo
命令为用户提供临时管理员权限。如果您使用它,那么您将绕过任何安全控制。在受管理的多用户系统上,很少有用户拥有此权限 - 通常只有系统管理员。在家庭系统上,您可能会默认使用它,以便您可以管理自己的系统。
FolderA
完全删除。然后在不使用的sudo
情况下再次尝试这些命令,看看会发生什么
Sea*_*mus 11
利用sudo
从用户帐户意味着你不再为用户操作,但作为超级用户。就系统而言,userA
并userB
具有相同的权限 -换句话说,他们都是超级用户。
如果你想限制一个用户的权限sudo
,你可以sudoers
通过命令在文件中做到这一点sudo visudo
。请注意,必须以这种方式打开 sudoers 文件进行编辑。
# 必须以 root 身份使用“visudo”命令编辑此文件。
正如其他人所解释的那样 - sudo 允许您暂时承担管理权限(以 root 身份有效地运行您的命令)。尽管如此,它仍然比仅以 root 身份登录更安全 - 因为只有您以 sudo 为前缀的命令才能获得此权限(防止您意外运行具有 root 权限的某些东西,因为您忘记了它是一个 root shell)。
对于家庭桌面环境,大多数用户通常会获得完全的 sudo 访问权限,通常是通过一个组(在 Ubuntu 的情况下为“管理员”,但它可能因发行版而异)。生产服务器环境的配置可能不同。
严格来说,用户可以使用 sudo 做什么是通过 /etc/sudoers 文件控制的——它有很多这样的行:
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
如果需要,这里有很多范围来控制可以运行哪些命令。这是一个更详细地解释语法的手册页:https : //www.sudo.ws/man/1.8.15/sudoers.man.html
每一行都可以限制给定用户或组可以运行哪些命令(以及哪些用户可以运行) - 因此,如果您想更改可以使用 sudo 的人,或者限制他们,您有两个选择:
对于家庭设置,我建议您谨慎设置任何规则的限制/复杂程度 - 如果您太喜欢它,您以后可能会为自己做更多的工作。