Transmission.service フォルダのアクセス許可は起動するたびに変更されます。

Transmission.service フォルダのアクセス許可は起動するたびに変更されます。

急流をダウンロードするためにsystemdを実行してarchlinux使用していますtransmission.service。自動的にマウントされたext4ハードドライブパーティションがあります。完了したすべてのダウンロードをここに保存し、ローカルネットワーク上のSambaサーバーとディレクトリを共有します。fstab/var/lib/transmission

問題は、コンピュータが起動するたびに/var/lib/transmission誰もが読み取り権限を持っていないことがわかるということです。これは、Sambaサーバーがディレクトリのフルパスを読み取ることができず、最終的にSambaクライアントを使用してファイルにアクセスできないことを意味します。起動後に実行でき、sudo chmod a+rX /var/lib/transmissionその後にディレクトリにアクセスできます。起動するたびに権限が再作成されるようですtransmissiondrwxr-x---

いくつかのシステムファイルを編集して修正するエレガントな方法はありますか?たぶん使用しますかsudo systemctl edit transmission.service

ベストアンサー1

解決策は、/etc/systemd/system/multi-user.target.wants/transmission.service以下を追加することです。または使用sudo systemctl edit transmission.serviceして作成します。

[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

引用:

tmpfiles.d(5)systemdには、起動時に.serviceファイルの外部にファイルまたはディレクトリを作成するために使用できるという新機能があります。Openvpnどちらもこれを使用するため、起動時に起動しなくてもejabberdディレクトリは作成され続けます。/var/run

tmpfiles 構成ファイルは次の場所に保存されます。/usr/lib/tmpfiles.d/

とにかく、この問題を解決するもう1つの方法は、umask番号を/usr/lib/tmpfiles.d/transmission.conf次のように編集することです。

d /var/lib/transmission 0755 transmission transmission

おすすめ記事