送信:USBディスクで許可が拒否されました


21

USBを使用して接続されたWD MyBookでRaspBMCを実行しているRaspberry Piがあります。ドライブはに自動的にマウントされ/media/My Bookます。フォルダー/media/My Book/downloadsを作成し、Trasmissionのダウンロードディレクトリをに設定しました/media/My Book/downloads

ファイルをダウンロードしようとすると、Transmissionは言います

Error: Permission denied (/media/My Book/downloads/The.Simpsons.S24E09.720p.HDTV.X264-DIMENSION [PublicHD]/The.Simpsons.S24E09.720p.HD

ls -laは私に与えます

drwx------ 1 pi       0 Dec 15 16:24 downloads 

だから、問題は、送信がpiフォルダとは異なるユーザーの下で実行され、フォルダに書き込むことができないことだと思います。しかし、私が実行するとき

chmod 777 downloads -R

操作はエラーなしで成功しますが、権限は変更されず、所有者だけのために700のままです。

何が間違っているのですか?Transmissionを有効にしてそのディレクトリに書き込むにはどうすればよいですか?

回答:


18

たくさんの読書とフラストレーションの後。まず、通常のユーザーがUSBドライブへのアクセスを読み書きしていることを確認してください。USBドライブへの書き込みアクセスを持つための正しい「非ルート」修正は次のとおりです。

ステップ1:伝送デーモンを停止する

sudo service transmission-daemon stop

ステップ2:pidebian-transmissionグループに追加する

sudo usermod -a -G debian-transmission pi 

ステップ3:デーモンユーザーの変更

sudo nano /etc/init.d/transmission-daemon

に変更USERpiます。

手順4構成ファイルフォルダーの権限を変更する

sudo chown -R pi /var/lib/transmission-daemon/info/
sudo chmod 755 /var/lib/transmission-daemon/info/settings.json 

ステップ5:ダウンロード/不完全なフォルダーに適切なアクセス許可を設定する

sudo chown -R pi /somewhere/downloads
sudo chown -R pi /somewhere/incomplete

ステップ5:伝送デーモンを開始する

sudo service transmission-daemon start

コンパイル元:


2
これが唯一の正しい答えです。root間違って実行しています。するのchmod 777は間違っています。正しいグループとユーザーを設定することが唯一の正しい方法です。
いとこコカイン

これは受け入れられた答えでなければなりません。
パウロロドリゲスピント

1
たぶんそれは正しい答えかもしれませんが、私にはうまくいきません。
-rebolek

ユーザー名をからpi別の名前に変更しました。ただし、実行ls -alすると、ファイルはまだpiグループ内に表示されます。上記の手順で、のすべてのインスタンスをpi新しいユーザー名に変更する必要がありますか、それともまだ存在するグループを参照する必要がありpiますか?すべてのpiユーザー名を変更すると、これらの手順は機能しません。
Keavon

@Keavon「piのすべてのインスタンスを新しいユーザー名に変更する必要があります」はい、debian-tranmissionグループの新しいユーザーもですか?
バイクタイヤ

11

問題は、USBディスクの自動化方法でした。mount -t ntfs-3gを使用して手動でマウントすると、動作し始めました。


4
私にも同じことが起こりました。HDDが自動マウントされると、すべてのアクセス許可が0700に設定されますが、sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/HDD/それらをマウントすると0777になり、伝送は完全に動作します。本当に奇妙です。
プイグセルバー14

ExFATはで自動exfat defaults,auto,umask=000,users,rw 0 0マウントされていましたが、piユーザーIDでマウントするように変更しexfat defaults,uid=1000,gid=1000 0 0ました。このAskUbuntuの回答を確認してください:自動マウントexfatドライブの所有権/許可の問題
brasofilo

10

私はLinuxの専門家ではありませんが、これを試すことはできますが、うまくいくかもしれません。このほとんどはhttp://www.superfecta.ca/?p=44からの情報です

sudo service transmission-daemon stop
sudo nano /etc/init.d/transmission-daemon

変化する

USER=debian-transmission

USER=root
ctrl-x
Y
# hit enter to overwrite
sudo service transmission-daemon start

私はルートとして実行することは大きなLinuxではないことを知っています(それがルートで実行されているとカウントされるかどうかはわかりません)が、それは私のために働いたので、私はそれで大丈夫です。USER=pi代わりに試すことができますが、私はそこに愛を持っていなかったので、私はルートにこだわった


3
もちろん、rootとして動作することは、セキュリティ上のリスクにすぎません。
ブレイザーブレード

追加するもの:Linuxは/ etc / fstabファイルを使用して、ドライブのマウントポイントと権限/所有権を設定します。したがって、ルートとして送信を実行する、ドライブが存在するフォルダの所有者として送信を実行する(所有者をls -l教えてくれる)、または別の所有者を表示するように/ etc / fstabファイルを変更する(debian-送信)。
テリー

ゲストとしてマウントされたNASドライブにトレントを保存するという同様の問題に直面していました。私はどこでも言及されたすべての解決策を試しましたが、私のために何もうまくいかなかったので、私はあきらめて、rootとして送信デーモンを実行させました。私はそれが好きではありませんが、それが機能する唯一のものです。
aalaap 14年

これは間違っており、このようなデーモンは決してroot権限で実行すべきではありません。他の人の設定にダメージを与えるため、この回答を削除する必要があります。
いとこコカイン

5

あなたの問題は、USBスティックがNFTSまたはFAT、ユーザー/グループごとの許可をサポートしないファイルシステムとしてフォーマットされていることだと思います。解決策は、ext4として再フォーマットすることです。そうすれば、Piをメディアセンターとして使用している場合の遅延もはるかに少なくなります。Piのドライバーは、ext4を使用するとはるかに高速になります。


ntfs-3gよりもかなり高速ですか?その声明をバックアップするためのデータをいくつか見せていただけますか?
ジョセフ

@Joseph NTFSは非常にCPUに負荷がかかるため、主にraspberry pi 1の問題でした。転送速度のベンチマークは次のとおり
content

4

ここでの答えはどれも役に立たなかったので、https://pimylifeup.com/raspberry-pi-torrentbox/を参照する新しいものを書いていpiます。これはOPに直接答えているわけではありませんが、この種の問題ではこの質問が非常に人気があります(最初のGoogleの結果)。

入る:

sudo vi /etc/init.d/transmission-daemon

USERファイルの上部で見つけて、次のように変更します。

USER=pi

次に、chownいくつかのファイルを許可範囲に入れる必要があります。

sudo chown -R pi:pi /etc/transmission-daemon
sudo chown -R pi:pi /etc/init.d/transmission-daemon
sudo chown -R pi:pi /var/lib/transmission-daemon

次に実行します(これは非常に重要です。そうでない場合、サービスのデーモンはとして実行されますdebian-transmission

sudo vi /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

userそこを見つけて次のように変更します:

user=pi

そして、サービスユニットをリロード

sudo systemctl daemon-reload

そして最後に、設定ファイルをpiホームディレクトリにシンボリックリンクし、それにアクセス許可を与える必要があります。

sudo mkdir -p /home/pi/.config/transmission-daemon/
sudo ln -s /etc/transmission-daemon/settings.json /home/pi/.config/transmission-daemon/
sudo chown -R pi:pi /home/pi/.config/transmission-daemon/

そして、再び送信を開始します。

sudo service transmission-daemon start

これで完了です。これで動作するはずです。


2

私は人々が一望できている主なものの一つは、あなたがいることだと思うべきで、あなたのUSB /外付けドライブをマウントでは/ mnt / myUsbDriveフォルダ、およびNOT/メディア/ PI / myUsbDrive。

sudo umount /media/pi/usb_disk
sudo mkdir /mnt/usb_disk
sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /mnt/usb_disk

私はこの議論で与えられたすべての答え(ルートを含む)をさまざまなオプションで100通りの方法で試しましたが、USB SSDドライブに保存するための伝送を得ることができませんでした。次に、何か異なるものを読みながら、デーモンまたは他のグループがアクセスできない可能性があるため、/ media / piにマウントしないことが言及されました。そこで、USBドライブを/ mnt / usb_diskにマウントし、/ etc / transmission-daemon / settings.jsonのパスを/ mnt / usb_disk / downloadsに設定すると、ディスクへの保存が開始されます。

参考までに、/ etc / init.d / transmission-daemonにuser = piがあります。

参考までに、/ mnt / usb_disk / downloadsの所有者をpiに変更し、グループを777権限のdebian-transmissionに変更しました。


1
sudo chown debian-transmission /downloads

/ downloadsは、ダウンロードを保存するディレクトリ(またはマウント場所)です。

これは、ルートを使用するよりも安全です。

これにより、フォルダに対する「debian-transmission」権限として知られる「ユーザー」に付与されます


1

Igorとpuigcerberと同じ解決策を見つけました。ドライブが自動マウントに設定されていたため、fstabを編集して自動マウントを削除してから使用しましたsudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/*mymountpoint/


1

バイクタイヤの答えは正しいですが、debianは最近systemdに切り替えられたので、ここでユーザーを変更する必要があります

sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

セクションで確認してください

[Service]

あなたはラインを持っています

User=pi

1

溶液:

たくさんの読書とフラストレーションの後。

まず、通常のユーザーがUSBドライブへの読み取りおよび書き込みアクセス権を持っていることを確認してください。USBドライブへの書き込みアクセス権を持つための正しい「非ルート」修正は次のとおりです。

ステップ1:伝送デーモンを停止する

sudo service transmission-daemon stop

ステップ2:piをdebian-transmissionグループに追加します

sudo usermod -a -G debian-transmission pi

ステップ3:デーモンユーザーの変更

sudo nano /etc/init.d/transmission-daemon

USERをpiに変更します。

sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

USERをpiに変更します。

手順4:構成ファイルフォルダーの権限を変更する sudo chown -R pi /var/lib/transmission-daemon/info/ sudo chmod 755 /var/lib/transmission-daemon/info/settings.json

ステップ5:ダウンロード/不完全なフォルダーに適切なアクセス許可を設定する sudo chown -R pi /somewhere/downloads sudo chown -R pi /somewhere/incomplete

ステップ6:送信デーモンを開始する

sudo service transmission-daemon start


1

ファイルシステムが問題であることがわかりました。幸いなことに、それは真新しいUSBハードドライブだったので、フォーマットすることは問題ではありませんでした。

最初にハードドライブをext4にフォーマットしました

sudo mkfs.ext4 /dev/<usb disk> -L <diskname>

次に、USBハードドライブをマウントしました

sudo mount /dev/<usb disk> /mnt/<my mount folder>

マウントしたら、ハードドライブのグループを debian-

sudo chgrp debian-transmission /mnt/rpi_nas/

最後に、piユーザーをdebian-transmissionグループに追加しました。これは私のユースケースに適しています。


0

Transmission-daemonユーザーをrootに変更すると、usbまたはsmb共有のいずれかで権限の問題がなくなります。

sudo nano /etc/init.d/transmission-daemon

次に、ユーザー行を次のように変更します。

USER = root


7
それはセキュリティ上のリスクです。
ブレイザーブレード

これは間違っており、このようなデーモンは決してroot権限で実行すべきではありません。他の人の設定にダメージを与えるため、この回答を削除する必要があります。
いとこコカイン

0

この問題は、FATが複数のユーザーを認識しないことに関連しています。

/ dev / [your dev] / mnt / usb1 vfat defaults、uid = 65534、gid = 65534、dmask = 000、fmask = 111 0 0などのfstabファイルで行を使用する場合

「nogroup」に属する「nobody」が所有するフォルダー777とファイル666でファイルシステムをマウントする必要があります

変更を確認するには、再マウント(または再起動)する必要があります。


0

最後に、実用的なソリューションを見つけました。

XBIAN設定でリムーバブルデバイスの自動共有を無効にし、ディスクを手動でshares.confに追加しました

[mybook]
    path = /media/mybook
    guest ok = yes
    read only = no
    browseable = yes
    writeable = yes
    force user = xbian

share.confに追加するだけでは不十分で、自動共有をオフにする必要があります。


0

同様の権限の問題がありました。

私はサビのソリューションを盲目的にフォローしようとしましたが、うまくいかないことがわかりました。それだけでなく、ちょっとやり過ぎだと思います。

私の状況では、transmission-daemonがユーザーとして実行されているという事実を見落としていました:debian-transmission

したがって、送信デーモンがフォルダー(folder_name)に書き込む許可を付与するには、次のコマンドを実行するだけです。

chgrp -R folder_name
chmod -R 765 folder_name

もちろん、すでにsettings.jsonを適切に構成していることを前提としています


-1

chmod 777は、すべてのユーザーにファイルまたはディレクトリへのすべての権限を付与する必要があります。それでもうまくいかない場合は、そのchmodコマンドを実行するユーザーがディレクトリまたはファイルを所有していない可能性があります。たとえば、rootが/ media / My Book /を所有しており、piユーザーがそのファイルの権限を変更できない場合。chmodコマンドに渡す3つの番号は、所有者、グループ、および他の全員にこの順序で影響します。したがって、ディレクトリの最も一般的な設定は「chmod 755 somedirectory」です。つまり、所有者はディレクトリの読み取り、書き込み、および変更を行うことができますが、グループと他の全員はファイルの読み取りとディレクトリへの変更しかできません。


1
この答えは本当に質問に答えません。質問者は既にファイルのchmoddingを試みており、動作しませんでした。
hifkanotiks
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.