目前有些用户设置了umask,导致对常规文件执行权限,我想避免。
有没有办法强制所有签入的文件只能读取一些例外?
在CVS中处理此问题的建议方法是什么?
答案 0 :(得分:1)
Cvs命令选项watch也阻止恢复文件权限。如果被观看,当文件被签出时它将是只读的。来自cvs手册页:
$ cvs watch --help_options
Usage: cvs watch {on|off|add|remove} [-lR] [-a <action>]... [<path>]...
on/off: turn on/off read-only checkouts of files
因此,使用cvs watch off filename
从存储库中删除签出,使其每次都只读取。
答案 1 :(得分:0)
我不确定这是否是最佳解决方案,但我可能会使用commitinfo,commitcheck和commit_prep.pl对repo的CVSROOT目录中的cvswrappers文件执行某些操作。如果你没有commit_prep.pl,你可以使用类似这样的东西:
http://opensource.apple.com/source/cvs/cvs-29/cvs/contrib/commit_prep.pl
网上有很多例子,所以如果您的回购邮件中没有这些文件,请搜索这些提交文件。
请注意,正如本文所述,该权限实际上只在第一次提交文件时设置,之后,您需要“手动”修改存储库本身的权限。
How do I add execute permission to a file in CVS after it's already been checked in?
在commit_prep.pl中,您可以在首次提交文件之前使用chmod ugo-x清除exec权限。
此解决方案假设您使用的是Linux。