将分区锁定到几个文件夹

将分区锁定到几个文件夹

我想要一个分区上有几个文件夹,我可以自由编辑其内容,但外面什么都不应该保存。

具体来说,我希望将 Home 中的文件夹(文档、音乐等)放在不同的分区上,但其余通常隐藏的文件夹仍保留在 Ubuntu 的主分区中。我可以使用fstab绑定将 Home 文件夹中的文件保存在另一个分区中,但我仍然想不出如何锁定分区以防止在这些文件夹之外进行编辑。我愿意接受有关绑定替代方案的建议 - 但请不要使用符号链接。

答案1

您只能向这两个文件授予写入权限。除此之外,不要授予写入权限。这样该用户将无法在其他地方写入。

我建议您授予分区 1/文件夹 1 和文件夹 2 写权限。

chmod u=rwx partition1/folder1
chmod u=rwx partition1/folder2

然后我建议你删除对partition1文件夹的写权限

chmod u=rx partition1

现在您无法在分区 1 内创建任何东西,但您可以写入分区 1/文件夹 1 和 2。

xyz@xyz-desktop:~$ ls -lart|grep test1
dr-xr-xr-x  4 xyz xyz   4096 2011-03-03 19:51 test1
xyz@xyz-desktop:~$ ls test1
test3  test4
xyz@xyz-desktop:~$ ls -lart test1
total 16
drwxr-xr-x 61 xyz xyz 4096 2011-03-03 19:49 ..
drwxr-xr-x  2 xyz xyz 4096 2011-03-03 19:51 test4
dr-xr-xr-x  4 xyz xyz 4096 2011-03-03 19:51 . 
drwxr-xr-x  2 xyz xyz 4096 2011-03-03 19:51 test3
xyz@xyz-desktop:~$ touch ./test1/willItCreate
touch: cannot touch `./test1/willItCreate': Permission denied
xyz@xyz-desktop:~$ touch ./test1/test3/willItCreate

答案2

您想在哪里禁止写入权限 - 目前尚不清楚。作为用户 oxwivi,您无权写入 /lib、/usr、/var、/bin 等,但 sudo 需要写入权限才能进行更新。

或者需要在 /etc 中更改配置。

还有动态文件夹 /proc /sys /dev ,而日志文件则写入 /var/log 等等......

每个用户都需要对 /tmp 有写权限


(讨论后编辑)

chmod a-w -R /partition
chmod u+w /partition/1 /partition/2
  • a-w表示‘全部(用户、组、其他人)- := 删除写权限。
  • -R意思是:递归地,针对其中的目录/文件。
  • u+w:= 为所有者用户添加写权限。

在 + 和 - 前面,您可以用于ugo表示用户、所有者、组和其他人(问题:混淆所有者/其他人)或a表示所有人。 +-表示添加或撤销权限,=表示设置权限。 rwx是读、写和执行的首字母缩写。

这些是最常用的。更多详细信息请参阅man chmod

chmod ug+rw foo.txt 

为用户和组添加读写权限。

chmod o=x bar.txt 

设置其他人可以执行的权限。

相关内容