Ich habe Raspberry Pi mit RaspBMC und einem WD MyBook, das über USB angeschlossen ist. Das Laufwerk wird automatisch an gemountet /media/My Book
. Ich habe einen Ordner erstellt /media/My Book/downloads
und das Download-Verzeichnis von Trasmission auf festgelegt /media/My Book/downloads
.
Wenn ich versuche, eine Datei herunterzuladen, sagt Transmission
Error: Permission denied (/media/My Book/downloads/The.Simpsons.S24E09.720p.HDTV.X264-DIMENSION [PublicHD]/The.Simpsons.S24E09.720p.HD
ls -la gibt mir
drwx------ 1 pi 0 Dec 15 16:24 downloads
Ich schätze, das Problem ist, dass die Übertragung unter einem anderen Benutzer als ausgeführt wird pi
und nicht in den Ordner schreiben kann. Jedoch wenn ich ausführe
chmod 777 downloads -R
Der Vorgang ist ohne Fehler erfolgreich, aber die Berechtigungen ändern sich nicht. Sie verbleiben nur für den Eigentümer bei 700.
Was mache ich falsch und wie kann ich aktivieren, dass Transmission in dieses Verzeichnis schreibt?
quelle
root
es falsch ist. A zu tunchmod 777
ist falsch. Das Einstellen der richtigen Gruppe und des richtigen Benutzers ist der einzig richtige Weg.pi
in etwas anderes umbenannt. Wenn ich diesls -al
jedoch tue , befinden sich meine Dateien immer noch in einerpi
Gruppe. Sollte ich mit den obigen Anweisungen jede Instanz vonpi
in meinen neuen Benutzernamen ändern oder auf die Gruppe verweisen, die noch vorhanden istpi
? Diese Anweisungen funktionieren nicht, wenn ich jeweilspi
meinen Benutzernamen geändert habe.Das Problem war die Art und Weise, wie das USB-Laufwerk automatisch installiert wurde. Ich habe es manuell mit mount -t ntfs-3g gemountet und es fing an zu funktionieren.
quelle
sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/HDD/
0777 funktioniert die Übertragung einwandfrei, wirklich komisch.exfat defaults,auto,umask=000,users,rw 0 0
gemountet, ich habe das so geändert, dass es mitpi
Benutzer-IDs gemountet wurdeexfat defaults,uid=1000,gid=1000 0 0
und es hat funktioniert. Aktivieren Sie diese AskUbuntu-Antwort: Besitz- / Berechtigungsproblem beim automatischenIch bin kein Linux-Experte, aber Sie könnten es versuchen, es könnte funktionieren. Die meisten Informationen stammen von http://www.superfecta.ca/?p=44
Veränderung
zu
Ich weiß, als root zu laufen, ist ein großes Linux. Du könntest es
USER=pi
stattdessen versuchen, aber ich habe dort keine Liebe, also bin ich bei root gebliebenquelle
ls -l
teilt Ihnen mit, wem es gehört), oder ändern Sie die Datei / etc / fstab, um einen anderen Eigentümer anzuzeigen (z. B. debian- Getriebe).Ich glaube, Ihr Problem ist, dass Ihr USB-Stick als NFTS oder FAT formatiert ist, Dateisysteme, die die Berechtigungen pro Benutzer / Gruppe nicht unterstützen. Die Lösung ist die Neuformatierung in ext4. Wenn Sie das tun, werden Sie auch viel weniger Verzögerungen haben, wenn Sie Ihren Pi als Media Center verwenden. Die Treiber für den Pi sind viel schneller, wenn Sie ext4 verwenden.
quelle
Keine der Antworten hier hat für mich funktioniert, daher schreibe ich eine neue, die auf https://pimylifeup.com/raspberry-pi-torrentbox/ verweist. Diese funktionierte hervorragend und ermöglichte mir die Übertragung als
pi
Benutzer, um auf mein USB-Laufwerk zuzugreifen. Dies ist keine direkte Antwort auf das OP, aber diese Frage ist sehr beliebt (erstes Google-Ergebnis) für diese Art von Problem, also habe ich sie hier gestellt.Eingeben:
und finden Sie
USER
oben in der Datei und wechseln Sie zu:Dann müssen wir
chown
einige Dateien in unseren Berechtigungsumfang aufnehmen:Und dann laufen (das ist wirklich wichtig, sonst läuft der Daemon vom Service einfach so
debian-transmission
)und dort
user
finden und wechseln zu:und das Nachladen der Serviceeinheit
Und schließlich müssen wir unsere Einstellungsdatei mit dem pi-Ausgangsverzeichnis verknüpfen und ihm Berechtigungen erteilen:
Und dann starten Sie die Übertragung erneut:
und du bist fertig. Es sollte jetzt funktionieren.
quelle
Ich glaube , eines der wichtigsten Dinge , die Menschen mit Blick auf sind , ist , dass Sie sollten Ihre usb / externes Laufwerk in Mount / mnt / myUsbDrive Ordner und NICHT in / media / pi / myUsbDrive.
Ich habe jede einzelne Antwort in dieser Diskussion (einschließlich root) auf hundert verschiedene Arten mit verschiedenen Optionen ausprobiert und konnte keine Übertragung erhalten, um sie auf meinem USB-SSD-Laufwerk zu speichern. Während Sie etwas anderes lesen, wurde erwähnt, dass Sie nicht in / media / pi mounten sollen, da Dämonen oder andere Gruppen möglicherweise keinen Zugriff haben. Also binde ich das USB-Laufwerk in / mnt / usb_disk ein, setze die Pfade in /etc/transmission-daemon/settings.json auf / mnt / usb_disk / downloads und die Übertragung beginnt auf der Festplatte zu speichern.
Zu Ihrer Information, ich habe user = pi in /etc/init.d/transmission-daemon.
Zu Ihrer Information, ich habe den Besitzer von / mnt / usb_disk / downloads in pi geändert und die Debian-Übertragung mit 777 Berechtigungen gruppiert.
quelle
Dabei ist / downloads das Verzeichnis, in dem sich Ihre Downloads befinden sollen (oder der Einhängeort).
Dies ist sicherer als die Verwendung von root.
Dadurch erhält der Benutzer die Berechtigung "debian-transmission" für den Ordner
quelle
Ich fand die gleiche Lösung wie Igor und Puigcerber. Mein Laufwerk war auf automatisches Mounten eingestellt, daher habe ich meine fstab bearbeitet, um das automatische Mounten zu entfernen, und dann verwendet
sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/*mymountpoint/
quelle
Während die Antwort von biketire richtig ist, hat debian kürzlich auf systemd umgestellt und Sie müssen den Benutzer jetzt hier ändern
sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service
und stellen Sie sicher, dass in dem Abschnitt
Du hast die Leitung
quelle
Lösung:
Nach viel Lesen und Frust.
Stellen Sie zunächst sicher, dass der normale Benutzer Lese- und Schreibzugriff auf das USB-Laufwerk hat. Das richtige Update für den Schreibzugriff auf das USB-Laufwerk ohne Rootberechtigung lautet:
Schritt 1: Stoppen Sie den Übertragungsdämon
sudo service transmission-daemon stop
Schritt 2: Füge pi zur Debian-Übertragungsgruppe hinzu
sudo usermod -a -G debian-transmission pi
Schritt 3: Ändern des Daemon-Benutzers
sudo nano /etc/init.d/transmission-daemon
Ändern Sie USER in pi.
sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service
Ändern Sie USER in pi.
Schritt 4: Ändern Sie die Rechte des Konfigurationsdateienordners
sudo chown -R pi /var/lib/transmission-daemon/info/ sudo chmod 755 /var/lib/transmission-daemon/info/settings.json
Schritt 5: Legen Sie die richtigen Berechtigungen für die Download- / unvollständigen Ordner fest
sudo chown -R pi /somewhere/downloads sudo chown -R pi /somewhere/incomplete
Schritt 6: Starten Sie den Übertragungsdämon
sudo service transmission-daemon start
quelle
Ich fand, dass das Dateisystem das Problem für mich war. Zum Glück war es eine brandneue USB-Festplatte, daher war das Formatieren kein Problem.
Ich habe die Festplatte zuerst auf ext4 formatiert
Dann habe ich die USB-Festplatte gemountet
Einmal gemountet habe ich die Gruppe für die Festplatte geändert
debian-
Schließlich habe ich den pi-Benutzer zur debian-transmission group hinzugefügt und es hat für meinen Anwendungsfall hervorragend funktioniert.
quelle
Sobald Sie den Benutzer des Übertragungs-Daemons in "root" ändern, ist das Berechtigungsproblem mit einer USB- oder SMB-Freigabe behoben.
sudo nano /etc/init.d/transmission-daemon
Ändern Sie dann die Benutzerzeile in:
USER = root
quelle
Das Problem bezieht sich darauf, dass FAT nicht mehrere Benutzer erkennt.
Wenn Sie in Ihrer fstab-Datei eine Zeile verwenden, z. B. / dev / [your dev] / mnt / usb1 vfat, ist uid = 65534, gid = 65534, dmask = 000, fmask = 111 0 0
es sollte Ihr Dateisystem mit Ordnern 777 und Dateien als 666 mounten, die "nobody" gehören, das zu "nogroup" gehört
Sie müssen erneut einhängen (oder neu starten), damit die Änderungen angezeigt werden.
quelle
Endlich eine funktionierende Lösung gefunden.
Ich habe die automatische Freigabe von Wechseldatenträgern in den XBIAN-Einstellungen deaktiviert und die Festplatte von Hand zur shares.conf hinzugefügt
Das Hinzufügen zu shares.conf reicht nicht aus, das automatische Teilen muss deaktiviert sein.
quelle
Ich hatte ein ähnliches Berechtigungsproblem.
Ich habe versucht, sabis Lösung blind zu folgen und festgestellt, dass es nicht funktioniert hat. Nicht nur das, aber ich glaube, es ist ein bisschen übertrieben.
In meiner Situation habe ich einfach übersehen, dass der Transmission-Daemon als Benutzer ausgeführt wird: debian-transmission .
Um dem Übertragungsdämon die Berechtigung zum Schreiben in einen Ordner ( Ordnername ) zu erteilen , müssen Sie daher nur die folgenden Befehle ausführen:
Dies setzt natürlich voraus, dass Sie richtig konfiguriert haben settings.json bereits
quelle
chmod 777 sollte jedem Benutzer alle Berechtigungen für eine Datei oder ein Verzeichnis erteilen. Wenn dies nicht funktioniert, ist es wahrscheinlich, dass der Benutzer, der diesen chmod-Befehl ausführt, nicht Eigentümer des Verzeichnisses oder der Datei ist. Wenn beispielsweise root / media / My Book / besitzt und der pi-Benutzer die Berechtigungen dieser Datei nicht ändern kann. Die drei Zahlen, die Sie an den Befehl chmod übergeben, wirken sich auf den Eigentümer, die Gruppe und alle anderen in dieser Reihenfolge aus. Daher sind die häufigsten Einstellungen für ein Verzeichnis "chmod 755 somedirectory". Das bedeutet, dass der Eigentümer in das Verzeichnis lesen, schreiben und wechseln kann, die Gruppe und alle anderen jedoch nur Dateien lesen und in das Verzeichnis wechseln können.
quelle