我安装git
在我的服务器上并使用 root 用户克隆我的开发存储库。权限似乎已设置为:
Files: -rw-r--r--
Directories: drwxr-xr-x
我以前一直使用FTP客户端上传文件。有时我仍然需要能够使用 FTP 编辑器,但现在当我尝试使用它上传文件时,我收到错误:
Can't open that file: Permission denied
我一直在读一本很多关于 Linux 权限的内容,但我只是非常困惑我应该设置什么文件和目录权限才能让我的 FTP 客户端再次工作。
我读过的很多信息似乎都是相互冲突的。例如,一些网站说只需将权限更改为 777,但其他网站则说不要这样做,因为这允许系统上的任何用户完全控制文件。
这里正确的方法是将文件的“所有者”从我假设的 root 更改为我的 FTP 用户吗?
答案1
这里正确的方法是将文件的“所有者”从我假设的 root 更改为我的 FTP 用户吗?
是的。作为root
,运行chown -R yourftpuser:yourftpgroup /path/to/tree
。此时您的 FTP 权限就可以了。所有文件将归具有写入权限的 FTP 用户所有。
将来,您可以通过克隆为最终拥有这些文件的用户来避免这种情况。
r
请注意,服务器上具有您发布的权限的任何用户都可以读取所有文件。如果这是一个问题,您可以r
从g
组中删除权限,o
然后:chmod -R go-r /path/to/tree
。
¹这假设您的 FTP服务器设置为使用系统用户帐户进行登录。它们并不都是这样,您可能需要使用其内部帐户系统或将文件所有者更改为服务器的用户。