/ var / www的正确权限

时间:2014-10-20 21:47:01

标签: git bitbucket file-permissions centos6.5

我正试图在CentOS VPS上将Bitbucket的私人仓库克隆到/ var / www。

我在VPS上生成了一个SSH密钥对,并将.pub文件作为(只读)Deploy Key上传到Bitbucket。

键设置正确,因为当我使用连接时:

ssh -T git@bitbucket.org

它工作正常:

authenticated via deploy key.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
This deploy key has read access to the following repositories: 
<username>/<repo_name>: <Deployment Key Nickname> -- <vps_username>@<vps_hostname>                                      
Connection to bitbucket.org closed.

到目前为止,这么好。但是当我尝试将repo克隆到/ var / www时,我得到:

fatal: could not create work tree dir '<repo_name>'.: Permission denied

当我sudo它时,我得到了

Permission denied (publickey).

我在Bitbucket docs中找到了关于上述错误的说明:

  

您在尝试连接时使用了sudo   在使用Bitbucket克隆存储库或任何其他SSH操作时,您不需要使用sudo。

看起来我需要以root权限运行才能创建树,但如果我这样做,则表明它没有正确使用SSH密钥。

所以,我chmod了/ var / www目录,以便我的非root用户具有写权限,一切正常。但那个目录现在是777(drwxrwxrwx),这可能并不好。

有没有更好的方法来解决这个问题?我想让/ var / www回到755,但每次我想更新我的代码时,我都不想乱用一个临时的chmod ...

提前致谢!

1 个答案:

答案 0 :(得分:2)

使/ var / www group-writable(chmod g+w /var/www)并将其组更改为受信任用户(包括您)所属的组。如果你不想打开/ var / www的全部,那么你可以引入一个额外的级别,比如/ var / www / foo,你打开它。