我通过ssh访问了一个git守护进程。所有存储库都在/srv/git中。
我在exfat磁盘上保存了其他一些项目,因此我希望创建一个从该磁盘到/srv/git的符号链接。
例如,我有/mnt/Medias/Projects/Defi\ H.git
,所以我只需要:
cd /srv/git
sudo ln -s /mnt/Medias/Projects/Defi\ H.git
但是文件被创建为root:root,777。
为了限制对存储库的访问,我希望更改该文件的posix权限。如果第一次尝试:
sudo chmod 755 Defi\ H.git
chmod: changing permissions of `Defi H.git': Function not implemented
我发现这是因为链接指向存储在exfat磁盘上的文件夹。同样,这也失败了:
sudo chown git:defih Defi\ H.git
chown: changing ownership of `Defi H.git': Function not implemented
因此,我想直接作为正确的用户创建链接:
sudo -u git -g defih ln -s /mnt/Medias/Projects/Defi\ H.git
Sorry, user geoffroy is not allowed to execute '/bin/ln -s /mnt/Medias/Projects/Defi H.git' as git:defih on Aethelflaed.
我是wheel
和sudo
's组合节目的一员:
%wheel ALL=(ALL) ALL
我不明白为什么这最后的命令失败了?有什么建议吗?
还是我应该在另一个文件系统上复制文件? /srv/git是btrfs,如果这有任何重要意义的话。
发布于 2012-01-21 23:56:11
链接的权限对目标没有影响,您要做的是根本不限制对目标的权限。
只有目标的许可才会产生效果。
引用http://en.wikipedia.org/wiki/Symbolic_链接:
符号链接的文件系统权限通常只与链接本身的重命名或删除操作相关,而与目标文件自身权限控制的目标文件的访问模式无关。
https://serverfault.com/questions/352326
复制相似问题