首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >transmission.service文件夹权限更改了每次启动

transmission.service文件夹权限更改了每次启动
EN

Unix & Linux用户
提问于 2016-10-24 17:39:42
回答 1查看 1.6K关注 0票数 0

我正在运行archlinux,我使用systemd transmission.service下载torrents。我有一个ext4硬盘分区,在/var/lib/transmission上自动挂载fstab。我将所有已完成的下载保存在那里,并与本地网络上的samba服务器共享该目录。

问题是,每次计算机启动时,我都可以看到/var/lib/transmission并不对每个人都有读取权限。这意味着samba服务器无法读取到该目录的完整路径,并且最终无法使用samba客户端访问文件。启动后,我可以运行sudo chmod a+rX /var/lib/transmission,只有这样,目录才可以访问。transmission似乎在每次引导时都重写权限drwxr-x---

是否有一种优雅的方法来编辑一些系统文件并修复它?也许使用sudo systemctl edit transmission.service

EN

回答 1

Unix & Linux用户

发布于 2016-10-24 18:04:56

解决方案是将以下内容添加到/etc/systemd/system/multi-user.target.wants/transmission.service中,或者使用sudo systemctl edit transmission.service并编写:

代码语言:javascript
复制
[Service]
ExecStartPost=/bin/chmod a+rX /var/lib/transmission

systemctl edit为您打开一个文本编辑器,以覆盖原始服务文件的条目,而不更改包管理器提供的原始文件。

添加这些后,重新启动并修复问题。

注意:使用systemctl edit可能更实用,因为我猜这个命令是创建的,所以您不会编辑包管理器提供的原始服务文件。注意:您可能需要根据您的分发路径调整chmod可执行文件的路径。

编辑:

/var/run中的目录非常相似,我发现了systemd为什么确保每个引导都具有这些权限,这里将解释如下:https://serverfault.com/questions/824393/var-run-directory-creation-even-though-service-is-disabled/824394#824394

引用:

使用systemd,有一个名为tmpfiles.d(5)的新功能,可用于在.service文件之外的引导中创建文件或目录。Openvpnejabberd都在使用它,所以即使它们在引导时没有启动,/var/run中的目录仍然被创建。tmpfiles配置文件存储在/usr/lib/tmpfiles.d/中。

无论如何,解决此问题的另一种方法是编辑/usr/lib/tmpfiles.d/transmission.conf上的umask编号,如下所示:

代码语言:javascript
复制
d /var/lib/transmission 0755 transmission transmission
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/318585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档