我想要一个分区上有几个文件夹,我可以自由编辑其内容,但外面什么都不应该保存。
具体来说,我希望将 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
设置其他人可以执行的权限。