<分区>
我之前曾问过有关防止用户通过执行以下操作删除其主目录中的某些关键文件/文件夹的问题:
/home
└── [-rw-rw-r-- daedalus ] daedalus
├── [-rw-rw-r-- root ] do_not_delete_file.cpp
├── [-rw-rw-r-- root ] do_not_delete_file.html
├── [-rw-rw-r-- root ] do_not_delete_file.php
├── [drwxrwxr-x root ] do_not_delete_folder
│ ├── [-rw-rw-r-- root ] do_not_delete_file.cpp
│ ├── [-rw-rw-r-- root ] do_not_delete_file.html
│ └── [-rw-rw-r-- root ] do_not_delete_file.php
└── [-rw-rw-r-- daedalus ] index.html
但这失败了,因为用户 daedalus
对他们自己的 /home/daedalus
文件夹具有写入权限,因此具有删除权限。因此,虽然他们无法修改,例如 do_not_delete_file.php
,但他们始终可以删除它,然后再替换它。
但是如果我有这样的东西呢
/home
└── [-rw-rw-r-- root ] daedalus
├── [-rw-rw-r-- root ] do_not_delete_file.cpp
├── [-rw-rw-r-- root ] do_not_delete_file.html
├── [-rw-rw-r-- root ] do_not_delete_file.php
├── [drwxrwxr-x root ] do_not_delete_folder
│ ├── [-rw-rw-r-- root ] do_not_delete_file.cpp
│ ├── [-rw-rw-r-- root ] do_not_delete_file.html
│ └── [-rw-rw-r-- root ] do_not_delete_file.php
├── [drwxrwxr-x daedalus ] Documents
└── [-rw-rw-r-- root ] index.html
我假设这可以通过一个小的 chmod
操作来实现,但是当程序自然地假设它们对主目录具有写权限时,它会导致许多问题吗?如果这是个坏主意,我能否就如何解决这个问题获得一些其他建议。
编辑: 我问这个问题的原因与 LAMP 编程有关。我正在创建一系列 VHost,即:
www.user1.example.com
www.user2.example.com
- ...
www.userN.example.com
我希望将 DocRoot 设置为:
/home/user1
/home/user2
- ...
/home/userN
但是,我在为个人用户授予过多/过少的自由方面苦苦挣扎。在最简单的情况下,我可能想要一个用户可以访问但不能修改/删除的 do_not_delete_folder
。