Hus*_*oli 3 permissions webserver
我有一个目录来存储发票 -
drwxrwxr-x 2 me www-data 49152 Sep 9 13:38 invoices
Run Code Online (Sandbox Code Playgroud)
有两个应用程序将文件写入此目录。
PHP 网络应用程序
-rw-r--r-- 1 www-data www-data 7681 Sep 9 13:38 invoice_1.html
Python脚本
-rw-rw-r-- 1 me me 8911 Sep 4 06:04 invoice_2.html
现在我想从 Web 应用程序覆盖 invoice_2.html。我怎么做?
我不想添加www-data到me组。我不知道怎么做,但这会使我的服务器容易受到安全威胁。
帮帮我。
谢谢。
两个选项(均执行为root):
第一的
如果你很高兴me成为www-data小组的一员:
将用户添加me到www-data组:
# usermod -a -G www-data me
Run Code Online (Sandbox Code Playgroud)
在目录上设置SetGID标志invoices:
# chmod g+s /<path>/<to>/invoices
Run Code Online (Sandbox Code Playgroud)
现在,由于设置了 SetGID 位,在invoices目录中创建的任何文件都将其组设置为www-data(目录的组)。由于用户me在此组中,因此用户将有权写入该文件。
第二
如果您不希望用户me成为该www-data组的成员,那么...
创建一个新组 - invoices。
# groupadd invoices
Run Code Online (Sandbox Code Playgroud)
将用户me和添加www-data到该组。
# usermod -a -G invoices me
# usermod -a -G invoices www-data
Run Code Online (Sandbox Code Playgroud)
将invoices目录的组更改为此新组 ( invoices)。
# chown .invoices /<path>/<to>/invoices
Run Code Online (Sandbox Code Playgroud)
确保该组invoices对该目录具有写权限:
# chmod g+w /<path>/<to>/invoices
Run Code Online (Sandbox Code Playgroud)
在目录上设置SetGID标志invoices:
# chmod g+s /<path>/<to>/invoices
Run Code Online (Sandbox Code Playgroud)
现在,该invoices目录将归invoice组所有,并且invoices由于在目录上设置了 SetGID 位,因此在其中创建的任何文件都将设置为它们的组。双方me并www-data具有写权限,因为它们是成员invoices拥有该写权限组。
| 归档时间: |
|
| 查看次数: |
7126 次 |
| 最近记录: |