Quyền bị từ chối khi tải xuống với deamon truyền


24

Tôi đã cài đặt xubfox và trình nền truyền, đặt đường dẫn tải xuống cho các chương trình gia đình / người dùng / TV của tôi và bị từ chối khi cố tải xuống torrent thông qua truyền.

Tôi đã thử chmod -r 777trên thư mục này mà không thành công.

Hãy giúp tôi!

đầu ra của ps -ef | truyền 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

Bạn có thể thêm đầu ra của ps -ef | grep transmissioncâu hỏi. Tôi không nghĩ mặc định truyền-daemon có quyền ghi vào thư mục nhà.
mikewhthing

Tôi đã thêm nó, làm cách nào để thêm quyền cho người dùng này?
Chen Kinnrot

Chà, tôi đã theo tên của người dùng mà nó chạy theo, nhưng nó không được hiển thị. Hãy thử ps aux | grep transmissionthay thế.
mikewhthing

Hừm ..., có vẻ như tên người dùng của nó là 109 - loại lạ.
mikewhthing

Điều này thực sự kỳ quái, nhưng nó nên được chạy theo debian-transmission, không biết tại sao nó cho thấy một con số ngu ngốc. Bạn có thể xác minh rằng với id debian-transmission.
mikewhthing

Câu trả lời:


47

Giả sử đường dẫn đến thư mục tải xuống là /home/chen/TV shows, hãy chạy như sau:

  • thêm chen vào nhóm truyền debian

    sudo usermod -a -G debian-transmission chen
    
  • thay đổi quyền sở hữu thư mục

    sudo chgrp debian-transmission /home/chen/TV\ shows
    
  • cấp quyền truy cập ghi vào nhóm

    sudo chmod 770 /home/chen/TV\ shows
    
  • Dừng deamon với

    sudo service transmission-daemon stop
    
  • Điều cuối cùng cần làm là thay đổi mặt nạ tạo tệp, để các tệp đã tải xuống có thể ghi được bằng chen.

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

    Càng và đổi "umask": 18sang "umask": 2. Nhấn Ctrl+ Ođể lưu và Ctrl+ Xđể thoát.

Bắt đầu daemon với

sudo service transmission-daemon start

Trong trường hợp bất cứ ai cố gắng cdvào thư mục của họ ngay sau khi làm điều này và nhận được sự cho phép bị từ chối, hãy đăng xuất và đăng nhập lại. Phiên SSH của tôi không có quyền truy cập vào thư mục sau khi quyền sở hữu thư mục được trao cho debian-tranmissionnhóm (vì người dùng của tôi không được thêm vào nhóm đó cho đến lần đăng nhập tiếp theo)
matrixanomaly

Điều này hoạt động cho đến khi tôi cần tạo một thư mục mới (ví dụ: các tệp của torrent được lồng vào nhau). Sau đó, tôi nhận được một sự cho phép khác bị từ chối.
GDorn

@GDorn Đó không phải là trường hợp. "umask": 2dịch sang quyền của 774 hoặc rwxrwxr--, có nghĩa là quyền truy cập ngu ngốc cho chủ sở hữu và nhóm.
mikewhthing

Câu trả lời hữu ích, nhưng, có lẽ, tôi có thể đề nghị một editt cho câu trả lời: Tôi gặp rắc rối với /var/lib/transmission-daemon/.config/transmission-demon/torrents. Thư mục này không có quyền ghi. Thay đổi tất cả chúng được nêu để làm việc.
LP

6

Đây là vấn đề cấp phép dựa trên ID người dùng đang chạy Truyền. Truyền tải thiết lập một người dùng mặc định mà bạn có thể không mong đợi trong lần cài đặt đầu tiên. Tên người dùng là debian-transmission.

Tôi sẽ giải thích làm thế nào để thay đổi điều đó:

  1. Dừng trình nền truyền sudo service transmission-daemon stop
  2. Mở tệp cấu hình truyền để chỉnh sửa: sudo nano /etc/init.d/transmission-daemon
  3. Tìm dòng nói USER=debian-transmissionvà thay đổi nó cho người dùng sở hữu thư mục được đề cập. Nếu bạn không quan tâm đến các vấn đề bảo mật, bạn cũng có thể sử dụng USER=roottrong tệp này. (Không nên, nhưng tốt cho việc khắc phục sự cố).
  4. Ngoài ra (thay vì điểm số 3), hãy sửa đổi thư mục / etc / fstab để gắn thư mục với quyền chính xác cho người dùng chạy trình nền truyền.
  5. Bắt đầu trình nền truyền sudo service transmission-daemon start

1
Điều đó sẽ không làm việc. Ở đây, người dùng transmission-daemon hoặc root cũng sở hữu "/var/lib/transmission-daemon/info/sinstall.json" và nếu bạn thay đổi daemon để chạy như $ USER, nó sẽ cung cấp Couldn't read "/var/lib/transmission-daemon/info/settings.json": Permission denied. Nó bằng cách nào đó đã làm việc trong hệ thống của bạn, nhưng đây không phải là cách thích hợp để làm điều đó.
Khurshid Alam

Nó hoạt động, cảm ơn. Và nếu bạn sử dụng systemd, bạn nên chỉnh sửa Userdưới [Service]tại /lib/systemd/system/transmission-daemon.service.
zer09

4

Kiểm tra xem bạn đang sử dụng thư mục "chưa hoàn thành". Lỗi này có thể gây hiểu nhầm trong trường hợp này và nó có thể là thư mục không đầy đủ mà bạn không có quyền ghi.


2
đó là trường hợp của tôi: trong cài đặt tôi đã gặp trường hợp sai đối với thư mục không đầy đủ. Vì vậy, lỗi này đã gây hiểu nhầm gấp đôi: lỗi không nằm trong thư mục mà lỗi đã được thông báo và lỗi nên được "không tìm thấy" và không được "từ chối cấp phép"
Riccardo Cossu

2
Đây là vấn đề của tôi! Nó đã được thiết lập lại thành / root / không đầy đủ, rõ ràng là không thể ghi được!
Pez Cuckow

1
Những gì @RiccardoCossu nói. Không thể upvote đủ.
lửa

1

Nó vừa mới xảy ra với tôi. Tôi tìm thấy trang này, bị đe dọa bởi tất cả các biệt ngữ, vì vậy tôi đã khởi động lại Transmission, dành tệp torrent đến một vị trí khác và lưu dữ liệu torrent vào cùng một vị trí khác (máy tính để bàn). Làm việc như người ở...


0

Đây có thể là một vấn đề hồ sơ apparmor. Truyền chạy dưới sanitized_helperhồ sơ trong apparmor.

Tìm kiếm khiếu nại trong /var/log/kern.log. grep transm /var/log/kern.log, đặc biệt chỉ sau khi cố gắng chạy truyền và nó không thành công.


0

Vì đây là kết quả tìm kiếm hàng đầu trong Google, cho bất kỳ ai đọc nó, tôi dành hơn một giờ để cố gắng làm cho nó hoạt động. Hóa ra, thư mục tải xuống được chỉ định trong settings.json là "Tải xuống" thay vì "tải xuống". Lưu ý trường hợp.


0

Trong trường hợp của tôi, vấn đề là làm thế nào ổ đĩa được gắn kết. Sử dụng điều này trong /etc/fstablàm việc cho tôi:

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

Một chút bối cảnh có thể giúp ích ở đây ( vfat? Không phải là một hệ thống tệp Linux điển hình) - kịch bản của bạn là gì, chính xác là gì không hoạt động và làm thế nào để khắc phục nó?
Zanna

0

Gắn ổ đĩa ngoài vào thư mục nhà của tôi đã giải quyết vấn đề này;

sudo mkdir / home / plex / media-server

sudo chmod 770 / home / plex / media-server

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

chú thích. sdxx là tên của hdd của bạn. bạn có thể sử dụng lệnh sau để tìm lệnh của bạn;

sudo blkid


-1

Tôi cũng gặp vấn đề tương tự và đó là một lỗi tôi đã mắc phải khi liên kết sym thư mục tải xuống truyền đến thư mục nhà / người dùng / thư mục của tôi, do đó tôi đã thay đổi quyền sở hữu tệp liên kết sym, do đó cũng thay đổi quyền sở hữu truyền tải ' tải xuống thư mục ...

Tôi vừa trở lại quyền sở hữu 'truyền tải debian' và nó hoạt động như một cơ duyên (không cần phải khởi động lại dịch vụ)

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

(tốt, bạn sẽ phải kiểm tra theo phân phối linux của riêng bạn đâu là chủ sở hữu phù hợp và cuối cùng cũng là đường dẫn đúng của bạn đến thư mục tải xuống)


-1

Tôi đã có vấn đề tương tự với truyền. Tôi đã gặp Lỗi Quyền trong khi tải xuống ngay cả với cài đặt quyền thư mục chính xác trên USB HDD bên ngoài.

Tôi chỉ gắn ổ cứng gắn ngoài /home/pi/với các quyền tương tự và nó hoạt động tốt.

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

quyền là drwxrwxrwx (0777) pi:debian-transmission. tên người dùng được đổi thành pitrong /etc/init.d/transmisssion-daemon.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.