我对 Ubuntu 和 Linux 还不太熟悉。我主要想用 Ubuntu 进行 Web 开发,所以我继续使用以下命令手动安装了 LAMP:本指南。一切运行良好。Apache、PHP、MySQL 都运行良好,但存在权限问题。
我的文件将放在 /var/www 中,但我没有访问此目录的权限。我该如何才能获得编辑、查看(也在浏览器中)、删除和创建此目录中文件的权限?
请注意,我没有托管服务器,因此安全不是问题。我将在本地管理我的项目。
答案1
您可以使用 ACL 为您的某个组授予对整个子树的权限,而不是让您的文件世界开放。我认为 ACL 比常规权限更灵活,并且可以使用默认规则应用于新文件/目录。
sudo apt-get install acl
要使用,您可以使用命令setfacl
和getfacl
man acl
将解释这个概念并man setfacl
提供所有使用选项,但这里有一个建议:
sudo setfacl -Rm d:g:<your-user-main-group>:rwX,g:<your-user-main-group>:rwX /var/www
将授予您的主要组rw
权限和x
目录权限(以进入它们)。
-R: recursive
-m: modify existing rule (the actual permissions)
d:g:<...>:rwX = default part for new files, group permissions
g:<...>:rwX = applied to the existing files/directories
rwX = read, write and change directory allowed (rwx will allow file execute too)
如果您愿意,您可以创建一个组(例如 webdev)并使用它,而不是使用您的主组(例如如果您有其他用户):
sudo addgroup webdev
sudo adduser your-user webdev
webdev
并在 acl 中使用组,而不是your-user-main-group
注意:您还可以对用户(u:
)或其他用户(other:
)使用 ACL,而不是对组使用 ACL。