我有2个用户的问题
• git用户 – 用于gitosis – 所以这是一个没有密码的用户,它只能通过root访问…
• 用户用户 – 我的文件所在的位置
所以我想要做的是给用户git权限导航到这样的luddico文件夹
[email protected]:~/respositories# cd /home/user/websites/domain.com
然后在用户用户文件(任何文件/文件夹)内执行任何操作,例如这样我可以
[email protected]:/home/user/websites/domain.com# git pull
因为实际上面提到的动作,返回:
error: cannot open .git/FETCH_HEAD: Permission denied
所以当我要求这样的行动,它要求git的密码,这是没有任何btw,或立即取消
所以我怎么能configuration用户git有像root / admin权限的用户用户,而不需要在命令之前提供任何密码或sudo? 就好像它是根
提前致谢
根据要求,一些小组的教程。 希望这不是太简单。
默认情况下,大多数用户帐户也是同名组的一部分。 要确定帐户是哪个组的成员,请使用groups命令。
# groups root root : root bin daemon sys adm disk wheel
列出的第一个是主组,并且将是用户创build的任何文件的默认组拥有者。 这在ls的输出中被列为第二个“root”条目。
# touch testfile # ls -l testfile -rw-r--r-- 1 root root 19 Jan 29 08:37 testfile
为了添加一个用户到一个组,你使用usermod如图所示。 你给它的小写“-g”标志改变了主组。 使用“-G”和“-a”标志可能会更好一些。 也就是说,把git用户放入luddico的小组中。
# usermod -G luddico -a git # groups git git : git luddico
这应该允许git访问luddico组拥有的任何文件,并具有适当的组权限。 组权限是ls中列出的第二个“rwx”组。 我上面显示的testing文件只允许根组读取访问。 如果你想给该组的所有成员写入权限,那么你必须使用chmod。
# ls -l testfile -rw-r--r-- 1 root root 19 Jan 29 08:37 testfile # chmod g+w testfile # ls -l testfile -rw-rw-r-- 1 root root 19 Jan 29 08:37 testfile
现在,根组中的任何人都可以读取或写入testing文件。 将相同的概念应用于Luddico的文件。
如果你想授予一个用户(如你的例子中的git)访问另一个用户的空间,把它们放在同一个组中,并相应地设置组权限。
如果您需要更复杂的访问控制列表function,则应查看getfacl(1)和setfacl(1)提供的POSIX ACL。