1
cabbala 2013-01-02 17:36:16 +08:00 via Android
rsync + git hooks
|
2
cute 2013-01-02 19:15:42 +08:00 via iPhone
也遇到这个问题
|
3
summic 2013-01-02 19:26:48 +08:00
|
4
summic 2013-01-02 19:27:12 +08:00
怎么贴 gist 来着?
|
5
summic 2013-01-02 19:27:49 +08:00
<script src="https://gist.github.com/4433947.js"></script>
|
6
harmy 2013-01-02 19:32:32 +08:00
用http开头就能正常显示gist
|
7
panxianhai 2013-01-02 19:44:33 +08:00
|
8
anyforever OP 以上各位,我明白是用git钩子来做的,我本帖的问题专门指的权限分配如何做更优
@summic @panxianhai 你那里www-data的帐户与网站目录下的文件所属用户是同一个么?nginx下的,一般配置成www |
9
Kymair 2013-01-02 21:55:05 +08:00
试试专门弄一个group把git和www的用户都塞进去,然后用group权限来管理?
*nix的文件权限系统确实有些古老了... |
10
summic 2013-01-03 00:45:07 +08:00
@anyforever 我的nginx 是给的 www-data 用户
|
11
daweiba 2013-01-03 03:54:57 +08:00
root 用户不会影响安全问题
只是有可能会令其他用户无法正常的操作这些文件 我们这边目前是root用户提交的 一切运行正常 有洁癖的话 把设置www设置密码(没有密码的用户不能登录) 然后把测试环境设置成公钥登陆 最后取消密码 以后都用www用户提交push到服务器上即可 |
12
anyforever OP @summic 突然又想到一个,如果是pull到远程服务器,就没办法cd了。还有就是部署到N台服务器的话。
|
14
anyforever OP @daweiba www用户一般给设置nologin了,如果要让它登陆,那要多设置不少权限来控制吧
|
15
summic 2013-01-03 10:44:53 +08:00
@anyforever 我们多台服务器,会有一台机器做发布服务器,pull之后rsync
|
16
daweiba 2013-01-03 15:41:50 +08:00
@anyforever 没有密码,默认就是不能通过密码登录的,你可以建一个账号试一下。
先建立密码只是为了设置公钥,设置完了就可以通过公钥登陆,而不用通过口令登陆了。 这时候就可以删除密码了。 这样其他人也是无法通过口令登陆www用户的。 @gamexg 你可以试下ubuntu下sudo 能否设定SUID,我这边用的CentOS 新建用户默认没有sudo权限,无法测试。 如果sudo无法设定SUID的话 ,那么就没有问题了。 因为这样的话只有root用户才能设置SUID,如果人家得到你root用户权限了,也就没有必要再去设置SUID了 如果sudo可以设置SUID , 那么用上一种方法即可。 |
17
sdlearn 2018-03-01 02:24:43 +08:00
老铁,这个问题杂解决的,我也在这里蛋疼了
|
18
anyforever OP @sdlearn 用 www 用户 git push,或者在钩子里 pull 完,更改文件权限
|