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.