目前蜗牛上稳定运行OMV用作NAS,在使用Transmission的时候一直有个权限问题。

问题

Transmission默认是使用debian-transmission这个用户运行的,下载种子后默认创建的文件夹和文件属于debain-transmission用户和组,权限是744。
我的情况是,A用户使用Samba去访问的时候应当具有读写权限,B用户仅有读权限,而默认的权限导致只要debian-transmission这个用户是有读写权限的,同组用户和其他用户都只能读。

解决方法

网上有很多解决办法,比如修改运行用户,使用你想要有读写权限的用户去运行Transmission。这个办法可以解决问题,但是需要修改服务和配置目录,也只能解决只有一个用户需要读写的情况。还有修改debian-transmissionusers组等说法,但是744权限下users组依旧无法访问。其实这后面应该还有一步。

Transmission配置文件中有一个参数是umask指定默认创建文件的权限,这个是已十进制表示的权限掩码,需要转换一下。比如我想要的权限是775,让用户和用户组都有读写执行的权限,其他用户只有读和执行的权限。掩码就是002,转换成八进制还是2,将umask值设为2即可。可以通过执行echo $(( 8#权限掩码 ))获得。

然后就是将需要权限的用户加入组debian-transmission,把debian-transmission用户加入组users应该也是可以的,不过这样users组就都有读写权限了。