将访问权限从 root 转移到普通用户

将访问权限从 root 转移到普通用户

我使用用户名登录 Ubuntu student

有一些目录只root允许用户访问,例如/var/lib/mysql,(我知道我可以用来sudo访问它,但这不是我想要的)。如果我想获得该账户对这些目录的访问权限student,可以使用以下命令:

chown student: PATH_TO_ROOT_USER_PRIVILEGED_DIR

之后,我可以使用自己的帐户访问该目录吗?我对吗?

  • 如果我是对的,那么root用户是否会因为我将其更改为用户而失去访问权限student

  • 如果我错了,请告诉我正确的解决方案。

答案1

由于某种原因,该目录仅限 root 访问。修改此所有权通常是一个坏主意(并且存在很大的安全风险)。

此外,您可以考虑修改目录的权限,而不是修改所有权。如果用户有权执行 ( +x) 目录,则他或她可以访问该目录。如果您不熟悉 Unix 文件权限,我建议您阅读教程。 (快速谷歌搜索,我想出了这个随机教程)。

其他事情:

  • root永远不会失去任何特权。root可以做任何事情。
  • 只有root能够chown

正确的解决方案

尽管很简单,但这sudo就是要走的路。 Ubuntu 开发人员知道他们在做什么。该sudo实用程序旨在使权限升级变得简单且安全。您绝对没有理由想要改变这一切。

答案2

你应该绝不更改 root 拥有的文件的所有权(或者至少,几乎从不更改)。相反,您应该使用sudo访问根目录。root始终可以访问计算机上的每个文件,无论他们是否拥有该文件。将目录更改为您自己的所有权会破坏 GNU/Linux 安全模型。

答案3

这完全取决于为目录设置的权限,您可以在目录ls -l上执行/var/lib/操作以获得/var/lib/mysql.

你可以阅读这里关于 Linux 中的权限位。

但具体到您的问题,如果目录中的权限位设置正确(默认情况下应该如此),那么用户student可以访问自己的目录,并且用户root不会失去访问该目录的权限。您应该使用sudo和 可能运行此命令-R,以便更改所有子目录的所有权。

相关内容