Odmowa dostępu podczas pobierania z deamon transmisji


24

Zainstalowałem xubuntu i demona transmisji, ustawiłem ścieżkę pobierania do mojego programu domowego / użytkownika / telewizyjnego i otrzymałem odmowę dostępu podczas próby pobrania torrentów przez transmisję.

próbowałem chmod -r 777 tego folderu bez powodzenia.

proszę pomóż!

wyjście ps -ef | grep transmisja

chen@htpc:~$ ps -ef | grep transmission
109       1023     1  1 21:46 ?        00:00:35 /usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info

chen@htpc:~$ ps aux | grep transmission
109       1023  3.2  0.4  47684 16620 ?        Ssl  21:46   1:20     /usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info
chen      1852  0.0  0.0   4200   772 pts/0    S+   22:27   0:00 grep --color=auto transmission

enter code here

Czy możesz dodać wynik ps -ef | grep transmissiondo pytania. Nie sądzę, żeby demon transmisji domyślnie miał prawo pisać do domowych katalogów.
— mikewhthing

Dodałem go, jak dodać uprawnienia do tego użytkownika?
— Chen Kinnrot

Cóż, miałem na imię użytkownika, pod którym działa, ale nie jest pokazany. Spróbuj ps aux | grep transmissionzamiast tego.
— mikewhthing

Hm ..., wygląda na to, że jego nazwa użytkownika to 109 - trochę dziwne.
— mikewhthing

To jest naprawdę dziwne, ale powinno działać poniżej debian-transmission, nie jestem pewien, dlaczego pokazuje głupią liczbę. Możesz to sprawdzić za pomocą id debian-transmission.
— mikewhthing

Odpowiedzi:


47

Zakładając, że ścieżka do folderu pobierania to /home/chen/TV shows:

  • dodaj chen do grupy transmisji debian

    sudo usermod -a -G debian-transmission chen
    
  • zmień własność folderu

    sudo chgrp debian-transmission /home/chen/TV\ shows
    
  • przyznać grupie dostęp do zapisu

    sudo chmod 770 /home/chen/TV\ shows
    
  • Zatrzymaj demona za pomocą

    sudo service transmission-daemon stop
    
  • Ostatnią rzeczą do zrobienia jest zmiana maski tworzenia pliku, aby pobrane pliki były zapisywane przez chen.

    sudo nano /etc/transmission-daemon/settings.json
    

    … I zmień "umask": 18na "umask": 2. Naciśnij Ctrl+, Oaby zapisać i Ctrl+, Xaby wyjść.

Uruchom demona za pomocą

sudo service transmission-daemon start

W przypadku, gdy ktoś spróbuje cdwejść do swojego katalogu zaraz po zrobieniu tego i otrzyma odmowę dostępu, wyloguj się i zaloguj ponownie. Moja sesja SSH nie miała odpowiednich uprawnień, aby uzyskać dostęp do folderu po tym, jak własność folderu została przekazana debian-tranmissiongrupie (ponieważ mój użytkownik nie został dodany do tej grupy do następnego logowania)
— matranomalia

Działa to do momentu, gdy muszę utworzyć nowy folder (np. Pliki torrenta są zagnieżdżone). Potem dostaję odmowę innego pozwolenia.
— GDorn

@GDorn Nie powinno tak być. "umask": 2przekłada się na uprawnienia 774 lub rwxrwxr--, co oznacza głupi dostęp dla właściciela i grupy.
— mikewhthing

Przydatna odpowiedź, ale może uda mi się zasugerować odpowiedź: Miałem problemy /var/lib/transmission-daemon/.config/transmission-demon/torrents. Ten katalog nie miał uprawnień do zapisu. Zmiana ich wszystkich oświadczyła, że ​​działają.
— LP

6

Jest to problem z uprawnieniami na podstawie identyfikatora użytkownika, który uruchamia transmisję. Transmisja ustawia domyślnego użytkownika, którego nie można oczekiwać przy pierwszej instalacji. Nazwa użytkownika to debian-transmission.

Wyjaśnię, jak to zmienić:

  1. Zatrzymaj demona transmisji sudo service transmission-daemon stop
  2. Otwórz plik konfiguracyjny Transmission do edycji: sudo nano /etc/init.d/transmission-daemon
  3. Znajdź wiersz, który mówi, USER=debian-transmissioni zmień go na użytkownika, który jest właścicielem danego folderu. Jeśli nie obawiasz się problemów związanych z bezpieczeństwem, możesz również użyć USER=roottego pliku. (Nie zalecane, ale dobre do rozwiązywania problemów).
  4. Alternatywnie (zamiast punktu 3) zmodyfikuj folder / etc / fstab, aby zamontować folder z poprawnymi uprawnieniami dla użytkownika, który uruchamia demona transmisji.
  5. Uruchom demona transmisji sudo service transmission-daemon start

1
To nie zadziała. Tutaj użytkownik transmission-daemon lub root jest również właścicielem pliku „/var/lib/transmission-daemon/info/settings.json”, a jeśli zmienisz demona tak, aby działał jako $ USER, da to Couldn't read "/var/lib/transmission-daemon/info/settings.json": Permission denied. Jakoś to działało w twoim systemie, ale to nie jest właściwy sposób, aby to zrobić.
— Khurshid Alam

Działa dzięki. A jeśli używasz systemd, powinieneś edytować Userunder [Service]at /lib/systemd/system/transmission-daemon.service.
— zer09

4

Sprawdź, czy używasz „niekompletnego” folderu. Błąd może być w tym przypadku mylący i może to być niekompletny folder, do którego nie masz dostępu do zapisu.


2
taki był mój przypadek: w ustawieniach miałem niewłaściwy przypadek niekompletnego reż. Tak więc błąd był podwójnie wprowadzający w błąd: błędu nie było w katalogu, o którym mówił błąd, a błąd powinien był zostać „nie znaleziony”, a nie „odmowa dostępu”
— Riccardo Cossu

2
To był mój problem! Został zresetowany do / root / niekompletny, co oczywiście nie jest zapisywalne!
— Pez Cuckow

1
Co powiedział @RiccardoCossu. Nie mogę głosować wystarczająco.
— rocketboy

1

To mi się po prostu przydarzyło. Znalazłem tę stronę, byłem zastraszony przez cały żargon, więc ponownie uruchomiłem Transmisję, zarezerwowałem plik torrenta w innej lokalizacji i zapisałem dane torrenta w tej samej innej lokalizacji (na pulpicie). Działa jak urok ...


0

Może to być problem z profilem Apparmor. Transmisja przebiega pod sanitized_helperprofilem w apparmor.

Poszukaj skarg w /var/log/kern.log. grep transm /var/log/kern.log, szczególnie zaraz po próbie uruchomienia transmisji, która kończy się niepowodzeniem.


0

Ponieważ jest to najlepszy wynik wyszukiwania w Google, dla każdego, kto to czyta, spędzam ponad godzinę próbując go uruchomić. Okazuje się, że folder pobierania określony w pliku settings.json to „Pobrane” zamiast „Pobrane”. Zwróć uwagę na przypadek.


0

W moim przypadku problemem był sposób montowania napędu. Korzystanie z tego /etc/fstabdziałało dla mnie:

UUID=2069-1A05  /mnt/ext   vfat   rw,user,exec,umask=0000   0   0

Pomocny może tu być kontekst ( vfat? Nie jest to typowy system plików Linuksa) - jaki był twój scenariusz, co dokładnie nie działało i jak to naprawiło?
— Zanna

0

Podłączenie zewnętrznego dysku do mojego katalogu domowego rozwiązało ten problem;

sudo mkdir / home / plex / media-server

sudo chmod 770 / home / plex / media-server

sudo mount / dev / sdxx / / home / plex / media-drive

Uwaga. sdxx to nazwa twojego dysku twardego. możesz użyć następującego polecenia, aby znaleźć swoje;

sudo blkid


-1

Miałem ten sam problem i to był błąd, który popełniłem, łącząc symetrycznie katalog pobierania transmisji z moim katalogiem domowym / użytkownika /, zmieniłem własność pliku symlinkowanego, co w konsekwencji zmieniło również własność transmisji ” pobierz katalog ...

Właśnie wróciłem do własności „Debian-Transmission” i działało to jak urok (bez konieczności restartowania usługi)

#chown debian-transmission:debian-transmission /var/lib/transmission/downloads

(cóż, będziesz musiał sprawdzić, zgodnie z własną dystrybucją Linuksa, kto jest właściwym właścicielem, a ostatecznie także właściwą ścieżkę do katalogu plików do pobrania)


-1

Miałem podobny problem z transmisją. Wystąpił błąd uprawnień podczas pobierania, nawet przy prawidłowych ustawieniach uprawnień do folderu na zewnętrznym dysku twardym USB.

Właśnie zamontowałem zewnętrzny dysk twardy /home/pi/z tymi samymi uprawnieniami i działało dobrze.

mount /dev/sda /home/pi/USB-HDD-MOUNTED

uprawnienia są drwxrwxrwx (0777) pi:debian-transmission. nazwa użytkownika zostanie zmieniona piw /etc/init.d/transmisssion-daemon.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.