Jar*_*eff 6 freebsd unix permissions
TLDR:我有一个用户是作为辅助组的组的成员。此用户可以作为辅助用户删除具有 664 perms 的文件,但不能删除具有 775 perms 的目录。
详细信息:我有一个用户。让我们称他为ftpuser。我使用他将文件上传和下载到我的开发箱。用户的主要组是“ftp”并且也在组“www”中作为次要组。我的 Web 服务器以用户 www 和组 www 运行,并且我将 proftpd(以 www 和 www 运行)配置为将所有文件作为 www 和 www(用于文件所有权)放入所需的目录中,文件上的权限为 664,目录中的权限为 775。
我的问题是(尝试使用 2 个 ftp 客户端)ftp 客户端可以删除文件,但不能删除文件夹。Filezilla 返回 550 权限被拒绝。没有设置所有者只能删除标志,我已经三重检查了权限,它们确实是 775。
每次都必须登录我的服务器才能手动删除文件夹,这让我发疯了。一些文件夹和文件是由我的 1 个 php 脚本创建的,但是当我检查文件的属性时,权限设置正确。
目录和文件创建效果惊人。可以删除文件,只是不能删除目录。
Freebsd 9.0 在 VirtualBox 中运行(32 位) Proftpd(作为 www 和 www 运行)作为 ftp 服务器(尝试使用 Dreamweaver 和 filezilla 作为客户端)基本放大器设置(apache、mysql 和 php)。
编辑:
父文件夹是 755。我知道这将是愚蠢而简单且容易被忽视的东西。我以为我将 mass perms 设置为 775 两个目录(apache22/data),但我必须在设置 perms 后创建该目录。你每天学习新的东西。谢谢!
为了删除目录,您必须对其父目录具有写权限。例如,给定这个目录:
drwxr-xr-x 3 owner staff 102 Nov 5 22:00 .
drwxr-xr-x 160 owner admin 5440 Nov 5 22:00 ..
drwxr-xr-x 2 owner staff 68 Nov 5 22:00 foo
Run Code Online (Sandbox Code Playgroud)
只能owner
删除目录foo
(因为只有owner
父目录有写权限)。
如果授予staff
组对父目录的写权限:
drwxrwxr-x 3 owner staff 102 Nov 5 22:00 .
drwxr-xr-x 160 owner admin 5440 Nov 5 22:00 ..
drwxr-xr-x 2 owner staff 68 Nov 5 22:00 foo
Run Code Online (Sandbox Code Playgroud)
那么该staff
组的任何成员都可以删除该目录foo
。
但请注意,为了删除该目录,他们还需要能够删除其所有内容,因为您无法删除非空目录。
归档时间: |
|
查看次数: |
837 次 |
最近记录: |