Jak zmienić domyślne uprawnienia plików tworzonych przez demona transmisji?

24

Mam maszynę z serwerem Ubuntu 12.04 z demonem transmisji działającym do obsługi bitorrentów. Wszystko działa dobrze, z wyjątkiem tego, że demon transmisji tworzy pliki jako użytkownik / grupa debian-transmissioni ma uprawnienia do plików 744.

  • Chciałbym móc usunąć i przenieść ten plik z udziału samby.

  • Zastanawiałem się nad zmianą podstawowej grupy użytkownika debian-transmisja, ale martwiłem się, że może to zepsuć dostęp do innych plików.

  • Pomyślałem, że lepiej byłoby zmienić domyślne zezwolenie na nowe pliki tworzone przez debian-transmisję na 774 i dodać się do grupy debian-transmisja.

    Wiem, że można to zrobić za pomocą umask, ale rozumiem, że byłoby to ustawione w pliku .profile, a ponieważ debian-transmisja nie ma folderu domowego, nie jestem pewien, czy ten plik istniał dla użytkownika. Jak to zrobić?

    Sugestie lub alternatywne rozwiązania są mile widziane. Z góry dziękuję.

jpetersen
źródło
Zrobiłem to na Crystalubuntu, teraz pojawia się błąd podczas uruchamiania transmisji - „nie można ustawić gid na 113 (Operacja niedozwolona)”. Dowolny pomysł?
Skończyło się na tym, że wpisałem crontab <pre> #! / Bin / sh trap "" 1 logfile = / dev / null exec> $ logfile 2> & 1 set -x while true; wykonaj a = "$ (inotifywait -q -r -e move -e twórz -e delete / data / completedownloads / Movies --format% w% f)" chown -R nikt: nikt "$ a" zrobione </pre>

Odpowiedzi:

45

Możesz określić umask w pliku konfiguracyjnym transmisji ( /etc/transmission-daemon/settings.json). Umask, który zwykle reprezentujemy ósemkowo, ale niestety json tego nie obsługuje, więc musimy przekonwertować go na bazę 10. Możesz to zrobić w powłoce w następujący sposób:

$ echo $(( 8#022 ))
18

Jest to ustawienie domyślne, ale prawdopodobnie chcesz 002, który jest taki sam w postaci dziesiętnej, więc

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

Inna rzecz. Jeśli zmienisz własność grupy katalogu pobierania i dodasz do niego bit setgid, wszystkie pliki utworzone w tym katalogu będą miały takie same prawa własności do grupy jak ten katalog.

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

Nie wpłynie to na pliki, które już istnieją. Więcej informacji na stronie http://mywiki.wooledge.org/Permissions .

geirha
źródło
Dokładnie to, czego potrzebowałem. Dzięki za podanie informacji o bitach setgid, zapomniałem o tych dodatkowych bitach.
jpetersen
Myślę, że robię coś złego. Chcę ustawić uprawnienia, takie jak chmod 775, więc spróbowałem z tym poleceniem echo $ ((8 # 775)) i otrzymałem 509, ale wygląda na to, że to właśnie zepsuło demona transmisji, ponieważ nie chce już pobierać plików torrent.
Fran Marzoa
3
@Fran Jeśli ustawisz umask na 0775, pliki otrzymają tryb 002; Maska określa, których bitów NIE należy ustawiać w nowych plikach. Chcesz tutaj domyślnego umask (002), aby pliki były tworzone w trybie 664, a katalogi w trybie 775.
geirha
O! Już zdałem sobie sprawę, że muszę wstawić 002, ale nie wiedziałem dlaczego! Dzięki milion za wyjaśnienia! :)
Fran Marzoa
Właśnie chmod g+stego mi brakowało. Dzięki!
od
0

Spróbuj tego:

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

I zmień plik: 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"

Po prostu zrestartuj demona:

service transmission-daemon start
Costales
źródło