PPA를 통해 Transmission을 설치했으며 부팅시 데몬이 시작됩니다. 다운로드 한 파일을 내 XBMC 설치와 동일한 사용자로 유지하려고하므로 데몬을 실행하는 사용자를 변경하고 싶습니다. 편집 위치를 찾을 수 없습니다.
데몬은 upstart를 사용하므로 어느 사용자가 그것을 실행하는 데 대한 정보가 없으며 사용자 /etc/init.d/transmission-daemon
에 /etc/default/transmission-daemon
대한 정보도 없습니다.
전송에이 ppas를 사용하고 있습니다.
/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list:deb //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main
/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list:deb-src //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main
/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list.save:deb //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main
/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list.save:deb-src //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main
답변
신출내기 V1.4로, setuid
그리고 setgid
config 파일에서 기본적으로 지원됩니다
setgid <groupname>
과
setuid <username>
v1.4 이전에는 이것을 사용할 수 있습니다 ( 여기에 설명 됨 ).
exec start-stop-daemon --start -c {user} --exec {command}
답변
다른 모든 답변은 Ubuntu 사전 시스템에 대한 것이므로 Ubuntu 16.04에 대한 업데이트 된 안내서는 다음 과 같습니다 ( sensecodons.com ). 기본적으로 “transmission-daemon.service”에 대한 보충 단위를 작성하여 User=...
설정 을 변경 한 다음 해당 사용자의 “~ / .config / transmission-daemon / settings.json”파일을 업데이트하십시오.
전송을 중지하십시오 (이미 실행중인 경우).
sudo systemctl stop transmission-daemon
전송할 보충 파일 디렉토리를 작성하십시오.
sudo mkdir -p /etc/systemd/system/transmission-daemon.service.d
“run-as-user.conf”라는 새 보충 파일을 작성하십시오.
sudo vi /etc/systemd/system/transmission-daemon.service.d/run-as-user.conf
다음 텍스트를 넣습니다.
[Service] User=codon
“코돈”이 아닌 원하는 사용자 이름을 사용하십시오.
systemd에게 장치를 다시 장착하라고 지시하십시오.
sudo systemctl daemon-reload
다음으로, ~/.config/transmission-daemon/
새 사용자를위한 디렉토리 를 만들기 위해 전송을 시작한 다음 중지 합니다.
전송을 시작한 다음 전송을 중지하십시오.
sudo systemctl start transmission-daemon; sudo systemctl stop transmission-daemon
이제 사용자의 홈 디렉토리에 다음 디렉토리가 있어야합니다.
.config/transmission-daemon/
여기에서 ~/.config/transmission-daemon/settings.json
정상적으로 업데이트 할 수 있어야 합니다.
완료되면 전송을 시작하십시오.
sudo systemctl start transmission-daemon
답변
가정 :
- 이 PPA를 사용했습니다.
ppa:transmissionbt/ppa
- user :
some_user
및 group으로 Transmission을 실행하려고합니다 .some_group
System V (SysV) 초기화 시스템의 경우 (예 : Ubuntu 10.04 LTS) :
-
전송 데몬을 중지하십시오.
sudo service transmission-daemon stop
-
init.d 스크립트 편집
sudo nano /etc/init.d/transmission-daemon
… 그리고 변화
USER=debian-transmission
에USER=some_user
Upstart init 시스템 (예 : Ubuntu 14.04 LTS)의 경우 :
-
전송 데몬을 중지하십시오.
sudo service transmission-daemon stop
-
init 스크립트를 편집하십시오 :
sudo nano /etc/init/transmission-daemon.conf
… 그리고 다음과 같이 편집하십시오 :
-
변화
setuid debian-transmission
에setuid some_user
-
변경
setgid debian-transmission
에setgid some_group
-
시스템화 된 초기화 시스템 (예 : Ubuntu 16.04 LTS) :
-
전송 데몬을 중지하십시오.
sudo systemctl stop transmission-daemon.service
-
systemd override.conf 파일을 작성하십시오.
sudo systemctl edit transmission-daemon.service
… 그리고 다음과 같이 편집하십시오 :
[Service] User= User=some_user Group= Group=some_group
노트:
-
다음과 같은 파일이 생성됩니다.
/etc/systemd/system/transmission-daemon.service.d/override.conf
-
빈 변수 할당 (예 🙂
User=
은 기존 변수의 값을 지우거나 재설정하는 데 사용됩니다. 이것은 시스템 단위 파일의 드롭 인 대체를 사용할 때 수행되는 방식입니다. systemd.unit 매뉴얼의 “예 2. 공급 업체 설정 재정의”를 참조하십시오 .“… 드롭 인 파일의 경우 목록으로 구문 분석 된 (종속성이 아닌) 설정에서 항목을 제거하려면 … … 먼저 항목을 제외한 모든 항목을 다시 추가하기 전에 목록을 지워야합니다. 제거 될 것 … “
-
-
시스템 재로드 및 전송 데몬 시작 :
sudo systemctl daemon-reload sudo systemctl start transmission-daemon.service
참고 : Upstart 및 SysV init 시스템 전송 데몬과 달리 모든 구성 및 설정
/home/some_user/.config/transmission-daemon/
을/etc/transmission-daemon/settings.json
및/var/lib/transmission-daemon
참고 및 참고 자료
-
/etc/default/transmission-daemon
Upstart 스크립트 (/etc/init.d/transmission-daemon
) 및 SysV 스크립트 (/etc/init/transmission-daemon.conf
) 에서만 사용 되므로 Systemd init 시스템을 사용하는 경우 이러한 모든 파일을 무시할 수 있습니다.
권한 및 패키지 업데이트에 관한 선택적 / 추가 정보 :
참고 : 다음은 Upstart 및 SysV init 시스템에만 해당됩니다.
전송 구성 파일에 대한 권한 변경
당신이 systemd 초기화 시스템을 사용하지 않는 경우에 당신은 지금부터 변속기의 구성 파일에 대한 권한을 변경해야 할 수도 있습니다 user=debian-transmission
에 user=some_user
와에서 group=debian-transmission
에 group=some_group
.
-
전송 구성 디렉토리의 위치를 확인하십시오.
/etc/default/transmission-daemon
파일에 다음과 같이 한 줄로 언급 되어 있습니다.CONFIG_DIR="/var/lib/transmission-daemon/info"
-
구성 디렉토리가이라고 가정하면
/var/lib/transmission-daemon/info
구성 파일의 소유권을 변경하십시오.sudo chown some_user:some_group /var/lib/transmission-daemon/downloads sudo chown some_user:some_group /var/lib/transmission-daemon/info sudo chown some_user:some_group /var/lib/transmission-daemon/info/blocklists sudo chown some_user:some_group /var/lib/transmission-daemon/info/dht.dat sudo chown some_user:some_group /var/lib/transmission-daemon/info/resume sudo chown some_user:some_group /var/lib/transmission-daemon/info/torrents
-
다른 파일의 소유권을 변경하십시오.
sudo chown :some_group /etc/transmission-daemon sudo chown some_user:some_group /etc/transmission-daemon/settings.json
추가 정보 (전송 업데이트) :
기본 사용자를 변경했기 때문에 저장소를 사용하여 전송을 업데이트 한 후 (예 : apt-get upgrade) 전송 데몬이 더 이상 실행되지 않는 것을 알 수 있습니다.
“sudo apt-get -f install”을 실행하면 다음 오류가 발생합니다.
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up transmission-daemon (2.84-0ubuntu0.12.04.1) ...
* Starting bittorrent daemon transmission-daemon
invoke-rc.d: initscript transmission-daemon, action "start" failed.
dpkg: error processing transmission-daemon (--configure):
subprocess installed post-installation script returned error exit status 255
Errors were encountered while processing:
transmission-daemon
E: Sub-process /usr/bin/dpkg returned an error code (1)
데몬이 시작되지 않는 이유 ( “invoke-rc.d : initscript transmission-daemon,”start “실패”)는 권한을 “debian-transmission”에서 “some_user”로 변경하고 업데이트 후에 재설정 되었기 때문입니다. . 따라서 수정하려면 다음을 수행하십시오.
-
데몬 중지 및 구성 파일 편집 :
sudo service transmission-daemon stop sudo nano /etc/init.d/transmission-daemon
… 그리고 변화
USER=some_user
에USER=debian-transmission
-
다음을 실행하여 업데이트 수정을 재 시도하십시오.
sudo apt-get -f install
-
업데이트가 성공하면 이제 전송 데몬이 실행 중이어야합니다. 위 단계를 따라 사용자 / 그룹을 다시 변경할 수 있습니다.
답변
이것은 완전한 이야기가 아닙니다. 변화 외에도
setgid <groupname>
과
setuid <username>
에
/etc/init/transmission-daemon.conf
transmission-daemon 구성 파일의 권한을 변경해야합니다. 그렇지 않으면이 파일에 설정을 다시 쓸 수 없으며 데몬은 upstart가 충분한 기회가 있다고 생각할 때까지 다시 시작됩니다 (초기 : 전송 데몬 재 생성이 너무 빠르거나 중지됨)
sudo chown <user>:<group> /etc/transmission-daemon/settings.json
sudo chown -R <user>:<group> /var/lib/transmission-daemon/
답변
systemd를 사용하는 시스템에서 편집하려는 파일은 실제로 다음과 같습니다.
/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
다음을 사용하여 편집을 수행하십시오.
sudo systemctl daemon-reload
답변
Ubuntu 16.04에서 시작 서비스가 시작에서 시스템으로 변경되어 이전 답변이 더 이상 사용되지 않아야합니다. 사용자 전송 데몬 실행을 변경하려면 다음을 실행하십시오.
데몬 중지 :
sudo service transmission-daemon stop
구성 파일 및 “홈”의 소유권을 변경하십시오.
sudo chown -R USER:USER /var/lib/transmission-daemon/*
sudo chown -R USER:USER /etc/transmission-daemon/settings.json
그런 다음 다음을 사용 /lib/systemd/system/transmission-daemon.service
하여 파일 을 편집하십시오 .
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=USER
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-debug --config-dir /var/lib/transmission-daemon/info
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
을 유의하시기 바랍니다 User
, --config-dir
그리고 --log-debug
변경됩니다.
시스템 구성을 다시로드하십시오.
sudo systemctl daemon-reload
데몬을 다시 시작하십시오.
sudo service transmission-daemon start
당신이 설정 한 후 --log-debug
(당신에게 문제의 더 많은 정보를 제공 할) 옵션을 사용하면 데몬의 로그를 얻을 수 있습니다 :
sudo journalctl -u transmission-daemon.service
끝난.
참고 사항 :
파일을 무시할 수 있습니다.
/etc/default/transmission-daemon
: 아무도 시스템 시스템에서 그것을 소싱하지 않는 것 같습니다.
/etc/init.d/transmission-daemon
: 이것은 오래된 시스템 5 시작 스크립트 인 것 같습니다.
/etc/init/transmission-daemon.conf
: 이것은 오래된 시작 시작 스크립트 인 것 같습니다.
답변
나는 다음을 수행했는데, 그것은 다른 대답보다 덜 침습적 인 것 같습니다.
-
전송 데몬 시작을 제거하십시오.
sudo update-rc.d -f transmission-daemon remove
-
다음에 추가하십시오
/etc/profile
:if [ -f "$HOME/.autostart" ]; then $HOME/.autostart fi
-
작성
~/.autostart
:#!/bin/bash if [ -z "$(pidof transmission-daemon)" ]; then /usr/bin/transmission-daemon --config-dir /home/[USERNAME]/.config/transmission-daemon & fi
이것은 아마도 좀 더 이식성이 좋으며, 일반 데비안과 미니비 안에서도 작동합니다.