Wie ändere ich die Standardberechtigungen für Dateien, die vom Transmission-Daemon erstellt wurden?

24

Ich habe eine Maschine mit Ubuntu 12.04 Server mit Transmission-Daemon zur Behandlung von Bitorrents. Alles funktioniert einwandfrei, außer dass der Übertragungsdämon Dateien als Benutzer / Gruppe erstellt debian-transmissionund über 744 Dateiberechtigungen verfügt.

  • Ich möchte diese Datei von einer Samba-Freigabe löschen und verschieben können.

  • Ich überlegte, die primäre Gruppe der Benutzer-Debian-Übertragung zu ändern, befürchtete jedoch, dass der Zugriff auf andere Dateien durcheinander geraten könnte.

  • Ich dachte, es wäre besser, die Standardberechtigung für neue Dateien, die durch debian-transmission erstellt wurden, auf 774 zu ändern und mich der Gruppe debian-transmission hinzuzufügen.

    Ich weiß, dass dies mit einer umask gemacht werden kann, aber ich verstehe, dass dies in der .profile-Datei eingestellt wird und da debian-transmission keinen Home-Ordner hat, bin ich mir nicht sicher, ob diese Datei für den Benutzer existiert. Wie mache ich das?

    Vorschläge oder alternative Lösungen sind willkommen. Danke im Voraus.

jpetersen
quelle
Habe das auf Crystalubuntu gemacht, jetzt bekomme ich eine Fehlermeldung beim Starten der Übertragung - "gid kann nicht auf 113 gesetzt werden (Operation nicht erlaubt)". Irgendeine Idee?
Am Ende folgte ich als crontab-Eintrag <pre> #! / Bin / sh trap "" 1 logfile = / dev / null exec> $ logfile 2> & 1 set -x, während true; do a = "$ (inotifywait -q -r -e move -e create -e delete / data / completeddownloads / Movies --format% w% f)" chown -R nobody: nobody "$ a" done </ pre>

Antworten:

45

Sie können eine umask in der Konfigurationsdatei der Übertragung angeben ( /etc/transmission-daemon/settings.json). Umask stellen wir normalerweise in Oktal dar, aber leider unterstützt json das nicht, deshalb müssen wir es in Basis 10 konvertieren. Sie können dies in der Shell wie folgt tun:

$ echo $(( 8#022 ))
18

Das ist die Standardeinstellung, aber Sie möchten wahrscheinlich 002, was in der Dezimalzahl identisch ist

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

Etwas anderes. Wenn Sie das Gruppeneigentum des Download-Verzeichnisses ändern und das Setgid-Bit hinzufügen, haben alle in diesem Verzeichnis erstellten Dateien das gleiche Gruppeneigentum wie dieses Verzeichnis.

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

Es wirkt sich nicht auf Dateien aus, die bereits vorhanden sind. Weitere Informationen finden Sie unter http://mywiki.wooledge.org/Permissions .

geirha
quelle
Genau das, was ich brauchte. Vielen Dank, dass Sie die setgid-Bit-Informationen hinzugefügt haben. Ich habe diese zusätzlichen Bits vergessen.
jpetersen
Ich glaube, ich mache etwas falsch. Ich möchte die Berechtigungen wie chmod 775 setzen, also habe ich es mit dem Befehl echo $ ((8 # 775)) versucht und 509 erhalten, aber es scheint, dass dies den Übertragungsdämon nur kaputt macht, da er keine Torrent-Dateien mehr herunterlädt.
Fran Marzoa
3
@Fran Wenn Sie die umask auf 0775 setzen, erhalten die Dateien den Modus 002; Die Maske gibt an, welche Bits für neue Dateien NICHT gesetzt werden sollen. Sie möchten die Standard-Umask (002) hier, damit die Dateien mit Modus 664 und Verzeichnisse mit Modus 775 erstellt werden.
Geirha
Oh! Ich habe bereits erkannt, dass ich 002 setzen muss, aber ich wusste nicht warum! Vielen Dank für die Aufklärung! :)
Fran Marzoa
Es war das chmod g+s, was ich vermisst habe. Vielen Dank!
Flith
0

Versuche dies:

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

Und ändern Sie in der Datei: 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"

Starte einfach den Daemon neu:

service transmission-daemon start
Costales
quelle