Izin ditolak saat mengunduh dengan deamon transmisi

24

Saya menginstal xubuntu dan daemon transmisi, mengatur jalur unduh ke acara home / user / TV saya, dan mendapatkan izin yang ditolak ketika mencoba mengunduh torrent melalui transmisi.

Saya mencoba chmod -r 777folder ini tanpa hasil.

tolong bantu!

output dari ps -ef | transmisi grep

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
Chen Kinnrot
sumber
Bisakah Anda menambahkan output ps -ef | grep transmissionke pertanyaan. Saya tidak berpikir transmisi-daemon memiliki hak untuk menulis ke direktori home secara default.
mikewh Apapun
Saya menambahkannya, bagaimana cara menambahkan izin ke pengguna ini?
Chen Kinnrot
Yah, saya mencari nama pengguna yang menjalankannya, tetapi tidak ditampilkan. Coba ps aux | grep transmissionsaja.
mikewhthing
Hm ..., sepertinya username-nya 109 - agak aneh.
mikewhthing
Ini benar-benar aneh, tetapi harus dijalankan di bawah debian-transmission, tidak yakin mengapa ini menunjukkan angka bodoh. Anda dapat memverifikasi itu dengan id debian-transmission.
mikewhthing

Jawaban:

47

Dengan asumsi path ke folder unduhan adalah /home/chen/TV shows, jalankan yang berikut ini:

  • tambahkan chen ke grup transmisi-debian

    sudo usermod -a -G debian-transmission chen
    
  • ubah kepemilikan folder

    sudo chgrp debian-transmission /home/chen/TV\ shows
    
  • beri akses tulis ke grup

    sudo chmod 770 /home/chen/TV\ shows
    
  • Hentikan deamon dengan

    sudo service transmission-daemon stop
    
  • Hal terakhir yang harus dilakukan adalah mengubah topeng pembuatan file, sehingga file yang diunduh akan dapat ditulis oleh chen.

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

    ... dan ubah "umask": 18ke "umask": 2. Tekan Ctrl+ Ountuk menyimpan dan Ctrl+ Xuntuk keluar.

Mulai daemon dengan

sudo service transmission-daemon start
mikewhthing
sumber
Seandainya ada yang mencoba cdmasuk ke direktori mereka segera setelah melakukan ini dan menerima izin ditolak, logout dan login lagi. Sesi SSH saya tidak memiliki izin yang tepat untuk mengakses folder setelah kepemilikan folder diberikan kepada debian-tranmissiongrup (karena pengguna saya tidak ditambahkan ke grup itu sampai masuk berikutnya)
matrixanomaly
Ini berfungsi sampai saya perlu membuat folder baru (misalnya file torrent bersarang). Lalu saya mendapat izin lain ditolak.
GDorn
@ David Tidak seharusnya begitu. "umask": 2diterjemahkan menjadi izin 774, atau rwxrwxr--, yang berarti akses bodoh untuk pemilik dan grup.
mikewhthing
Jawaban yang berguna, tetapi, mungkin, saya dapat menyarankan editt untuk jawabannya: Saya memiliki masalah dengan /var/lib/transmission-daemon/.config/transmission-demon/torrents. Direktori ini tidak memiliki izin menulis. Mengubah mereka semua dinyatakan berhasil.
LP
6

Ini adalah masalah izin berdasarkan ID pengguna yang menjalankan Transmisi. Transmisi mengatur pengguna default yang mungkin tidak Anda harapkan pada pemasangan pertama. Nama pengguna adalah debian-transmission.

Saya akan menjelaskan bagaimana cara mengubahnya:

  1. Hentikan daemon Transmisi sudo service transmission-daemon stop
  2. Buka file konfigurasi Transmisi untuk diedit: sudo nano /etc/init.d/transmission-daemon
  3. Temukan baris yang mengatakan USER=debian-transmissiondan ubah ke pengguna yang memiliki folder tersebut. Jika Anda tidak khawatir tentang masalah keamanan, Anda juga dapat menggunakan USER=rootdalam file ini. (Tidak disarankan, tetapi bagus untuk pemecahan masalah).
  4. Sebagai alternatif (alih-alih poin nomor 3), ubah folder / etc / fstab untuk memasang folder dengan izin yang benar untuk pengguna yang menjalankan daemon transmisi.
  5. Mulai daemon Transmisi sudo service transmission-daemon start
Terry
sumber
1
Itu tidak akan berhasil. Di sini pengguna transmission-daemon atau root juga memiliki "/var/lib/transmission-daemon/info/settings.json" dan jika Anda mengubah daemon untuk dijalankan sebagai $ USER, itu akan memberikan Couldn't read "/var/lib/transmission-daemon/info/settings.json": Permission denied. Entah bagaimana itu berhasil di sistem Anda, Tapi ini bukan cara yang tepat untuk melakukannya.
Khurshid Alam
Berhasil, terima kasih. Dan jika Anda menggunakan systemdAnda harus mengedit di Userbawah [Service]di /lib/systemd/system/transmission-daemon.service.
zer09
4

Periksa apakah Anda menggunakan folder "tidak lengkap". Kesalahan ini dapat menyesatkan dalam kasus ini dan mungkin folder yang tidak lengkap yang Anda tidak memiliki akses tulis.

blockdor
sumber
2
itu adalah kasus saya: dalam pengaturan saya punya kasus yang salah untuk dir tidak lengkap. Jadi kesalahan itu dua kali lipat menyesatkan: kesalahan itu tidak ada di direktori kesalahan itu mengatakan dan kesalahan itu seharusnya "tidak ditemukan" dan bukan "izin ditolak"
Riccardo Cossu
2
Ini masalah saya! Ini telah diatur ulang ke / root / tidak lengkap, yang jelas tidak dapat ditulisi!
Pez Cuckow
1
Apa yang dikatakan @RiccardoCossu. Tidak cukup mengungguli.
rocketboy
1

Ini baru saja terjadi pada saya. Saya menemukan halaman ini, terintimidasi oleh semua jargon, jadi saya memulai kembali Transmisi, menyimpan file torrent ke lokasi yang berbeda, dan menyimpan data torrent ke lokasi berbeda yang sama (desktop). Bekerja seperti pesona ...

Alexia
sumber
0

Ini mungkin masalah profil apparmor. Transmisi berjalan di bawah sanitized_helperprofil di apparmor.

Cari keluhan di /var/log/kern.log. grep transm /var/log/kern.log, terutama setelah mencoba menjalankan transmisi dan gagal.

Jim Salter
sumber
0

Karena ini adalah hasil pencarian teratas di Google, bagi siapa pun yang membaca ini, saya menghabiskan lebih dari satu jam mencoba membuatnya bekerja. Ternyata, folder unduhan yang ditentukan dalam settings.json adalah "Unduhan" dan bukan "unduhan". Perhatikan kopernya.

SomeGuest1425125125
sumber
0

Dalam kasus saya masalahnya adalah bagaimana drive sedang dipasang. Menggunakan ini /etc/fstabberfungsi untuk saya:

UUID=2069-1A05  /mnt/ext   vfat   rw,user,exec,umask=0000   0   0
davidcm
sumber
Sedikit konteks mungkin membantu di sini ( vfat? Bukan sistem file Linux yang khas) - apa skenario Anda, apa sebenarnya yang tidak berfungsi dan bagaimana cara memperbaikinya?
Zanna
0

Memasang drive eksternal ke direktori home saya menyelesaikan masalah ini;

sudo mkdir / home / plex / media-server

sudo chmod 770 / home / plex / media-server

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

catatan. sdxx adalah nama hdd Anda. Anda dapat menggunakan perintah berikut untuk menemukan milik Anda;

sudo blkid

liquidbender
sumber
-1

Saya memiliki masalah yang sama, dan itu adalah kesalahan yang saya buat ketika sym-menghubungkan direktori unduhan transmisi ke rumah / pengguna / direktori saya, saya mengubah kepemilikan file sym-linked yang akibatnya juga mengubah kepemilikan transmisi ' unduh direktori ...

Saya baru saja mengubah kepemilikan 'debian-transmission' dan itu bekerja seperti pesona (tanpa perlu me-restart layanan)

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

(yah, Anda harus memeriksa sesuai dengan distribusi linux Anda sendiri apa pemilik yang benar dan akhirnya juga jalur kanan Anda ke direktori unduhan)

baobab33
sumber
-1

Saya memiliki masalah serupa dengan transmisi. Saya mendapat Kesalahan Izin saat mengunduh bahkan dengan pengaturan izin folder yang benar pada HDD USB eksternal.

Saya baru saja memasang HDD eksternal ke /home/pi/dengan izin yang sama dan itu bekerja dengan baik.

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

izin adalah drwxrwxrwx (0777) pi:debian-transmission. nama pengguna diubah menjadi pidi /etc/init.d/transmisssion-daemon.

Akos
sumber