![ext4 数据分区上非管理员用户的用户权限](https://linux22.com/image/1128719/ext4%20%E6%95%B0%E6%8D%AE%E5%88%86%E5%8C%BA%E4%B8%8A%E9%9D%9E%E7%AE%A1%E7%90%86%E5%91%98%E7%94%A8%E6%88%B7%E7%9A%84%E7%94%A8%E6%88%B7%E6%9D%83%E9%99%90.png)
我正在尝试授予每个用户对数据分区的写入权限。但是,当我这样做时,每个用户都可以删除彼此的文件夹,尽管他们无权访问该文件夹。我想要的是:1) 每个用户都可以在“/media/data”上写入 2) 任何用户都不能删除其他用户在“/media/data”上创建的文件夹
数据分区通过此条目安装/etc/fstab
/dev/sdb1 /media/data ext4 defaults 0 0
当分区为空时我也执行了以下操作:
$ sudo chown -R :users /media/data
$ sudo chmod -R g+rw /media/data
我记得,如果没有这最后两个命令,任何用户都无法向数据分区写入任何内容。
现在我认为问题在于向组“用户”( g+rw
) 授予写入权限是问题的一部分。因为这已经意味着“用户”中的每个人都可以删除“/media/data”下的任何内容。我仍然希望我的多用户 Ubuntu 系统按照上述方式配置(每个人都可以写入数据分区,但没有人可以删除其他用户创建的内容)。
有人知道该怎么做吗?
答案1
答案是设置粘着位(t)您的目录。
您可以通过以下方式在数据目录中递归设置粘滞位:
sudo chmod -R +t /media/data
尽管该目录可能是公开可读可写的,但这将删除或重命名文件的权限仅限于文件所有者。
之后的权限字符串将看起来像例如rwxrwxrwt
如果所有者用户、组和每个其他用户都具有完全权限(读取、写入、执行),而只有每个特定文件的所有者可以删除或重命名它。