use*_*091 15 git permissions umask gitolite
我已经设置了Git和Gitolite,并且在某些时候我记得曾在其中一个配置文件中看到过"umask"设置.这是否为我使用Git同步的所有文件设置了权限?这正是我所需要的.我在哪里可以找到它?
Von*_*onC 20
Gitolite中的umask设置用于更改新创建的repos的umask(而不是那些repos中版本管理的文件).
请参阅gitolite.rc doc:
$REPO_UMASK,八进制,默认0077
UMASKgitolite使用的默认值使得所有repos及其内容都具有rwx------权限.想要运行gitweb的人意识到这是行不通的.处理这个问题的正确方法是给这个变量一个值
0027(注意语法:前导0是必需的),然后让用户运行web服务器(apachewww-data,无论如何)成为'git'组的成员.如果你已经安装了gitolite,那么必须手动修复现有文件(对于umask或者
0027那样chmod -R g+rX).这是因为umask只影响新创建文件的权限,而不影响现有文件的权限.
此设置类似于直接创建git repo时使用的设置(不使用gitolite):
core.sharedRepository
Run Code Online (Sandbox Code Playgroud)
当
group(或true)时,存储库可在组中的多个用户之间共享(确保所有文件和对象都是可写组的).
当all(或world或everybody),储存库将是可读的所有用户,附加到被group-shareable.
当umask(或false)时,git将使用报告的权限umask.
另请参阅" 如何在计算机上与多个用户共享Git存储库? ".
当平台之间存在相对于权限的冲突时,您还可以选择" 指示git忽略文件权限更改 "(git config core.fileMode false).
更新:这个答案涵盖了gitolite 2.使用gitolite 3,设置从$REPO_UMASK仅改为$UMASK.
| 归档时间: |
|
| 查看次数: |
9887 次 |
| 最近记录: |