Linux如何授予用户对特定目录的访问权限

前几天,我在整理服务器上的一些旧数据时,突然发现一个子目录的权限设置有问题。
它原本只打算只供一组人使用,但事实证明其他人可以随意进出。
该站立即开通并开始工作。

首先,使用 chown 命令并输入 sudo chown -R admin:admin /path/to/directory 将目录所有权更改回您自己。
接下来,我决定使用 chmod 设置基本权限并输入 sudo chmod 7 7 0 /path/to/directory。
这样,所有者及其所属组就拥有完全权限,但其他用户则没有。

看起来事情已经解决了,但是突然我想到了ACL。
我听说这可以带来更精细的权限控制。
因此,我尝试使用 setfacl 命令来设置特定用户和组的权限。
我输入 sudo setfacl -m u:myuser:rwx /path/to/directory ,然后为其他用户设置读取执行权限。
该过程完成后,我检查并确保只有指定的用户和组具有相应的权限。

这时我突然想到,如果以后其他用户需要访问这个目录,我该如何设置默认的权限呢?我记得这可以通过设置默认 ACL 来实现。
于是我尝试了sudo setfacl -md u:myuser:rwx /path/to/directory,这样myuser以后对新创建的文件或目录就有读、写和执行的权限。

正当我正忙着自己的事情时,突然出现了一个问题:如果有一天公司的员工变动了,我怎样才能快速更新这些权限设置呢?

Linux授权文件夹给用户

上周一位客户问我如何在 Linux 中授权文件夹。
我给他解释了几种方法。
请大家看看这个想法是否正确。

第一种方法是使用 chown 来更改所有权。
这是最简单的。
例如,如果您想将项目文件夹移交给另一个组中的某人,请使用 chown。
chown -R 用户名:组文件夹名称 这个-R很重要,否则只会修改当前文件夹,不会修改子文件夹。
去年我在阿里云服务器上改代码库的时候遇到了一个坑。
我没有添加-R。
结果,子文件夹权限仍然是旧的。

第二种方法是使用chmod更改权限 它更灵活,但你必须小心。

随便给7 7 7 真的很危险。
上次我错误地给了测试环境7 7 7 ,邻组的同事删除了缓存。
7 5 5 正常运行。
用户可以阅读并运行它。
自己写文件的时候用7 7 5 比较合适。

该示例是正确的,但最好使用数字权限。
例如,文件夹名称chmod 7 7 5 比符号权限(u=rwx,g=rx,o=)更容易记住,而且不容易出错。

第三种方法使用ACL更加详细。
这特别适合复杂的环境,例如向用户授予特殊权限。
setfacl -m u:用户名:rwx 文件夹名称 我是2 02 3 年在上海某商场的云服务器上做的,我给了运维同学临时权限,比换所有权方便多了。
我忘记尝试默认的 ACL,但它可以处理新创建的文件,非常强大。

最重要的提醒
除非您确定 7 7 7 安全,否则请勿使用它。

不要混淆 chown 和 chmod,一个更改所有者,另一个更改权限。

ACL 学习起来有点复杂,但是绝对物有所值,尤其是对于多人协作项目。

您通常使用哪一种?仍然认为 ACL 是最受欢迎的吗?不管怎样,在这件事上,你需要根据具体情况来选择方案。