Transmission.service 폴더 권한은 시작할 때마다 변경됩니다.

Transmission.service 폴더 권한은 시작할 때마다 변경됩니다.

토렌트를 다운로드하기 위해 systemd를 실행 archlinux하고 사용하고 있습니다 transmission.service. 자동으로 마운트된 ext4하드 드라이브 파티션이 있습니다 . 완료된 모든 다운로드를 여기에 저장하고 로컬 네트워크의 삼바 서버와 디렉토리를 공유합니다.fstab/var/lib/transmission

문제는 컴퓨터가 시작될 때마다 /var/lib/transmission모든 사람에게 읽기 권한이 없다는 것을 알 수 있다는 것입니다. 이는 삼바 서버가 디렉토리의 전체 경로를 읽을 수 없으며 궁극적으로 삼바 클라이언트를 사용하여 파일에 액세스할 수 없음을 의미합니다. 부팅한 후에 실행할 수 있고 sudo chmod a+rX /var/lib/transmission그런 다음에야 디렉터리에 액세스할 수 있습니다. 부팅할 때마다 권한이 다시 작성되는 것 같습니다 transmission.drwxr-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/

어쨌든 이 문제를 해결하는 또 다른 방법은 umask 번호를 /usr/lib/tmpfiles.d/transmission.conf다음과 같이 편집하는 것입니다.

d /var/lib/transmission 0755 transmission transmission

관련 정보