微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在EC2上使用Apache时允许我的apache用户上传到用户目录?

我已经build立了一个Amazon EC2实例。 认情况下我的apache是​​以组apache用户apache的身份运行的。

我创build了新的ftp用户test并将我的file upload到/home/test/public_html 。 然后,我将虚拟主机DocumentRootconfiguration为指向我的项目,驻留在/home/test/public_html 。

当目录由用户test拥有时,在项目中上传被拒绝:它给出一个权限错误。 如果我更改目录的所有者到apache ,它的工作原理。

怎样才能给apache用户超级用户权限,允许它上传而不改变目录的所有者?

Perl在Windows上运行时获取文件夹权限的最佳做法是什么?

subprocess权限被拒绝

复制文件权限,但不是文件

GetProcessesByName()和Windows Server 2003计划任务

什么是正确的Windows文件夹在本地用户之间交换数据?

如何检查用户是否被允许读取/写入特定的registry项?

在窗口上打开没有权限的pipe道

我可以在创build文件或目录时设置权限吗?

未检测到USB主机模式设备 – 确切需要哪些文件

如何在客户端获取当前login的Windows用户ID

这总是同样的问题。 上传用户ftp和用户apache的没有访问。

我用文件系统扩展的acls解决了这个问题。

可以将“认”用户和/或组放置到新生成文件中。

你必须做什么:

将“acl”添加到您的所需文件系统的安装选项。 (请检查你的内核是否配置了posix acl之前!)

使用命令'setfacl'来设置权限(根据你的发行版,你可能需要安装一个包含'setfacl'的软件包。)

例:

首先为用户ftp所拥有,以便上传

# chown ftp:ftp /var/www/server/htdocs # ls -la /var/www/server/htdocs/ insgesamt 0 drwxr-xr-x 2 ftp ftp 40 26. Nov 12:40 . drwxrwxrwt 15 root root 360 26. Nov 12:40 ..

接下来为用户apache设置认值

# setfacl -d -mu:apache:rwx /var/www/server/htdocs # setfacl -d -mg:apache:rwx /var/www/server/htdocs # getfacl /var/www/server/htdocs # file: /var/www/server/htdocs # owner: ftp # group: ftp user::rwx group::rx other::rx default:user::rwx default:user:apache:rwx default:group::rx default:group:apache:rwx default:mask::rwx default:other::rx

文件或导演放到这个目录后,你会看到你有多个访问权限给他们。 但请记住,这些权利只给新的文件不存在一次。

# getfacl /var/www/server/htdocs/test.txt # file: /var/www/server/htdocs/test.txt # owner: ftp # group: ftp user::rw- user:apache:rwx #effective:rw- group::rx #effective:r-- group:apache:rwx #effective:rw- mask::rw- other::r--

当使用'ls -l'时,你会在权限后看到一个'+'来通知acl权限:

# ls -la /var/www/server/htdocs insgesamt 0 drwxr-xr-x+ 3 ftp ftp 80 26. Nov 12:43 . drwxrwxrwt 15 root root 360 26. Nov 12:40 .. drwxrwxr-x+ 2 ftp ftp 40 26. Nov 12:43 test -rw-rw-r--+ 1 ftp ftp 0 26. Nov 12:43 test.txt

我会不惜一切代价避免让apache用户拥有root权限。

这将是一个相当严重的安全问题 :完全是因为服务器可能(更)易受攻击的情况下,您通常会为其指定一个特定的用户(这里是“apache”用户),您可以在其中指定仅用于服务器运行。

如果Apache用户没有完全正确的权限 ,则应该通过将相应文件的所有权更改为apache用户解决

chown apache:apache <filename>

或者通过使它们对于更多用户可读/可写/可执行,例如使用

chmod 777 <filename>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐