Come modificare le autorizzazioni predefinite dei file creati da transmission-daemon?


25

Ho una macchina che esegue Ubuntu 12.04 server con daemon di trasmissione in esecuzione per gestire i bitorrent. Tutto funziona benissimo tranne il daemon di trasmissione che crea file come utente / gruppo debian-transmissione con 744 autorizzazioni per i file.

  • Vorrei poter eliminare e spostare questi file da una condivisione samba.

  • Ho pensato di cambiare il gruppo principale dell'utente debian-transmission, ma ero preoccupato che potesse rovinare l'accesso ad altri file.

  • Ho pensato che sarebbe stato meglio cambiare l'autorizzazione di default dei nuovi file creati dalla trasmissione debian in 774 e aggiungermi al gruppo debian-trasmissione.

    So che questo può essere fatto con un umask, ma la mia comprensione è che questo sarebbe impostato nel file .profile e poiché debian-transmission non ha una cartella home non so se quel file esistesse per l'utente. Quindi come posso realizzare questo?

    Suggerimenti o soluzioni alternative sono i benvenuti. Grazie in anticipo.


Fatto questo su Crystalubuntu, ora ricevo un errore all'avvio della trasmissione - "impossibile impostare gid su 113 (operazione non consentita)". Qualche idea?

Ho finito per seguire come voce crontab <pre> #! / Bin / sh trap "" 1 logfile = / dev / null exec> $ logfile 2> & 1 set -x mentre vero; do a = "$ (inotifywait -q -r -e move -e create -e delete / data / completeddownloads / Movies --format% w% f)" chown -R nessuno: nessuno "$ a" fatto </pre>

Risposte:


46

È possibile specificare un umask nel file di configurazione di trasmissione ( /etc/transmission-daemon/settings.json). Umask che normalmente rappresentiamo in ottale, ma sfortunatamente, json non lo supporta, quindi dobbiamo convertirlo in base 10. Puoi farlo nella shell in questo modo:

$ echo $(( 8#022 ))
18

Questo è il valore predefinito, ma probabilmente vuoi 002, che è lo stesso in decimale, quindi

sudo editor /etc/transmission-daemon/settings.json
# change "umask": 18 to "umask": 2 and save
sudo reload transmission-daemon # tells transmission-daemon to re-read the config 
                                # file. This is important, otherwise, the changes
                                # will be lost

Un'altra cosa. Se si modifica la proprietà del gruppo della directory di download e si aggiunge il bit setgid su di essa, tutti i file creati in quella directory avranno la stessa proprietà del gruppo di quella directory.

sudo chgrp "$USER" /path/to/transmission/download/dir
sudo chmod g+s /path/to/transmission/download/dir

Non influirà sui file già esistenti. Vedi http://mywiki.wooledge.org/Permissions per ulteriori informazioni.


Esattamente quello di cui avevo bisogno. Grazie per aver incluso le informazioni sui bit setgid, mi sono dimenticato di quei bit extra.
jpetersen,

Penso di fare qualcosa di sbagliato. Voglio impostare i permessi come chmod 775, quindi ho provato con quel comando echo $ ((8 # 775)) e ho ottenuto 509, ma sembra che questo abbia appena rotto il daemon di trasmissione in quanto non scaricherà più file torrent.
Fran Marzoa,

3
@Fran Se si imposta umask su 0775, i file avranno la modalità 002; La maschera specifica quali bit NON impostare su nuovi file. Qui vuoi la umask di default (002), in modo che i file vengano creati con la modalità 664 e le directory con la modalità 775.
geirha,

Oh! Ho già capito che devo mettere 002, ma non sapevo perché! Grazie mille per il chiarimento! :)
Fran Marzoa,

Era quello chmod g+sche mi mancava. Grazie!
Flith,

0

Prova questo:

mkdir /your_path/progress
mkdir /your_path/completed
sudo usermod -a -G debian-transmission your_user
chgrp debian-transmission /your_path/progress
chgrp debian-transmission /your_path/completed
chmod 770 /your_path/progress
chmod 770 /your_path/completed
sudo service transmission-daemon stop
sudo adduser your_user debian-transmission
sudo nano /etc/init.d/transmission-daemon
sudo chown your_user -R /var/lib/transmission-daemon/info/
sudo chown your_user -R /your_path/progress
sudo chown your_user -R /your_path/completed
sudo chown your_user -R /etc/transmission-daemon/settings.json

E modifica nel file: sudo nano /etc/transmission-daemon/settings.json

"rpc-whitelist": "127.0.0.1" > "rpc-whitelist": "*.*.*.*",
"rpc-password": "password" > "rpc-password": "your_password",
"download-dir": "/var/lib/transmission-daemon/downloads" > "download-dir": "/your_path/completed"
"incomplete-dir": "/var/lib/transmission-daemon/downloads" > "incomplete-dir": "/your_path/progress"

Basta riavviare il demone:

service transmission-daemon start
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.