/ media/Mediaとしてマウントされているセカンダリハードドライブがあり、minidlna
を介してこのフォルダーにあるビデオを共有したい、そのドライブにあるビデオというフォルダーを使用したいと思います。私はminidlna
を/home/jonathan/Videos
で操作していますが、これは私の小さなドライブにあり、代わりにビデオを大きなドライブに移動したいです。
ただし、minidlna.conf
を編集して/ media/Media/Videosフォルダーをポイントし、Sudo service minidlna force-reload
を実行してデータベースを再ロードすると、permssionsエラーが発生します。
このフォルダに設定する必要がある正しいアクセス許可を誰かに教えてもらえますか?
このスレッドの例を実行しようとしましたが、それでも動作させることができませんでした。私はここでこの記事につまずきました: buntuでminidlnaを実行する そして、それをステップバイステップで実行すると、2番目のドライブのメディアがminidnla経由で提供されます。他の誰かが苦労している場合は、彼のプロセスに従うことをお勧めします。
彼のページが消えた場合に備えて、彼のテキストを引用しました。
彼は、メディアのストリーミングを許可することになっているminidlnaというサービスをインストールしました。ただし、彼が選択したフォルダーのアクセス許可が気に入らなかった。パスは/ media/jw/drive2/fooです。
jw@FooPC:~$ Sudo service minidlna restart
* Restarting DLNA/UPnP-AV media server minidlna
[2014/07/23 21:03:30] minidlna.c:594: error: Media directory "/media/jw/drive2/foo" not accessible [Permission denied]
彼はそれを自分のホームフォルダ内のフォルダに向けて、それがうまくいくことを気に入ったが、メディアを保持する2番目のドライブは好きではなかった。
彼はユーザーをconfファイルとデフォルトファイルで私として設定しようとしました。しかし、最終的に彼は、ユーザーを「ルート」として設定して機能させる必要があることに気付きました。
彼はターミナルを開いて入りました...
Sudo gedit /etc/default/minidlna
...そしてファイルを編集しました...
# User and group the daemon should run as
USER=”root”
#GROUP=”minidlna”
...保存して端末に戻り、入力しました...
Sudo gedit /etc/minidlna.conf
...ファイルを編集しました...
# Specify the user name or uid to run as.
user=root
彼は次を使用してサービスを再起動しました...
Sudo service minidlna restart
...ターミナルで、今回は権限に関するエラーはありませんでした。
それが私を助けたように、それが誰かを助けることを願っています。それがあなたの助けになったら、彼のページにアクセスして、私がやったように彼にコメントを残してください。
これはすぐに機能しますが、マシンの電源をオフにしてから再起動すると、実行するまでminidnlaサーバーによって2番目のドライブが提供されません。
Sudo service minidlna restart
起動から動作させることはユーザーモードのドライブの問題であり、 ドライブをfstabに追加する で修正できます。欠点は、ドライブが接続されていないとシステムが自動的に起動しないことです。これは、起動を続行する前に再試行または無視することを煩わしく要求するためです。
/media/*
はudisksで自動マウントされます。 NTFSまたはFATの場合、アクティブユーザーのみがアクセスできるため、minidlnaユーザーはアクセスできません。
Udisksにパーミッションがハードコードされているのはばかげている、それに関するバグレポートがあります: https://bugs.launchpad.net/ubuntu/+source/udisks/+bug/682589
Sudo mount /dev/sdb1 /mnt
または/etc/fstab
を使用してディスクをマウントする場合、minidlnaが読み取ることができるように、必要な許可を設定できます。
そのため、ホームPCの簡単な回避策の1つは、/etc/default/minidlna
を編集し、minidlnaがrootとして、または通常それらのディスクをマウントするユーザーとして実行するように指定することです。
# User and group the daemon should run as
USER="root"
#GROUP="minidlna"
ルートではなくユーザーアカウントを指定した場合は、Sudo chown -R user:user /var/lib/minidlna
も実行します
変更後にライブラリを再スキャンするには、Sudo service minidlna force-reload
を実行します
また、/ etc/minidlna.confにmedia_dir=
エントリを追加するのではなく、/ var/lib/minidlnaの下にシンボリックリンクを作成することを好みます。
Sudo ln -sf /media/alkisg/mydisk/Photos /var/lib/minidlna/Photos
...そのため、DLNAクライアントでメディアフォルダーを参照するときに、余分なレベルの階層が得られます。
タイプ
Sudo chown -R minidlna:minidlna/media/Media
メディアに含まれるすべてのファイルとフォルダの所有権をminidlnaに付与するため
その後、サーバーを再起動して強制再スキャンします
重要
rootとしてminidlnaを起動してください!
Sudo minidlna
ファイルをメディアドライブに追加した後にライブラリを再スキャンする
Sudo service minidlna stop
Sudo minidlna -R
Sudo service minidlna restart
それがアップしているかどうかを確認する
service minidlna status
私は別の解決策を見つけました:メディアフォルダの親もminidlnaにアクセス可能でなければなりません。ルートとしてminidlnaを実行し、systemctlサービスファイルでProtectHome = read-onlyを実行しようとしましたが、いずれも機能しませんでした。
私の場合、私のビデオはmedia_dir = V、/ srv/share/videos/libraryにありました
Chmod -R a + xr/srv/share/videos/libraryを実行しましたが、Permission Deniedメッセージがまだ表示されていました
Chmod o + xr/srv/share/videosを実行した後、user = minidlnaですべて動作しました
これが誰かを助けることを願っています。
私は同じ問題を抱えていたので、この投稿を使用して修正しようとしました。しかし、root
にデーモンを実行させたくありませんでした。
注:
/etc/default/minidlna
を編集して、
USER=<user>
GROUP=<group>
次に/etc/minidlna.conf
を含める
user=<user>
また、ユーザーを許可するために権限を変更する必要がありました
chown <user>:<group> /var/cache/minidlna
chown <user>:<group> /run/minidlna
その後、サービスを再起動します
Sudo service minidlna restart
これは古い質問ですが、外部ドライブをデフォルト、ユーザーをオプションとしてfstabしてから、Sudo chown -cR $ USER:minidlna/media /(your_mount point_here)を実行した場合、これにより、再起動しても所有権とグループが維持され、ファイルへのグループアクセスでサーバーが実行されるデフォルトのminidlnaグループが与えられます。
HDHomeRun RECORDの代替ストレージ領域としてMiniDLNAを実行しようとしました(HDHomeRun SETUPのNAS configを使用)。
再起動時にSambaが競合し、DLNAサーバーが機能しなくなったと思いました。 firewalld
にポート8200を開くように設定したことがないので、それをオフにして、サービスを無効にするのを忘れていました(おそらく、後で適切に行うと考えて忘れていた)。
私はFedora 27、BTWを使用しています。
何らかの理由で、ポートが開いていない場合、MiniDLNAはメディアディレクトリをnot accessible
として報告します。例-
Firewalldをオフにする前に:
# systemctl status minidlna
systemd[1]: Started MiniDLNA is a DLNA/UPnP-AV server software.
minidlna.c:620: error: Media directory "/home/local/Downloads" not accessible [Permission denied]
minidlna.c:620: debug: Using locale dir '/usr/share/locale' and locale langauge en_US.UTF-8/en_US.UTF-8
minidlna.c:1048: warn: Starting MiniDLNA version 1.2.1.
Firewalldをオフにした後:
# systemctl status minidlna
<root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><major>1</major><minor>0</minor></specVersion><dev
minidlnad[4401]: MS_MediaReceiverRegistrar</eventSubURL><SCPDURL>/X_MS_MediaReceiverRegistrar.xml</SCPDURL></service></service
minidlna.c:1302: debug: HTTP connection from 192.168.1.190:65260
minidlnad[4401]: clients.c:332: debug: Client found in cache. [Generic UPnP 1.0/entry 1]
minidlnad[4401]: upnphttp.c:889: debug: HTTP REQUEST: GET /icons/sm.png HTTP/1.1
minidlnad[4401]: Connection: Keep-Alive
minidlnad[4401]: User-Agent: User-Agent: Microsoft-DLNA DLNADOC/1.50
minidlnad[4401]: Host: 192.168.1.186:8200
minidlnad[4401]: [1B blob data]
minidlnad[4401]: upnphttp.c:1391: debug:
Sending small PNG icon
ポートがブロックされているためにメディアディレクトリにアクセスできないと報告する理由がわかりませんが、これは奇妙な動作のようです。しかし、ファイアウォールを無効にするだけで、ファイアウォールが再び機能し始めました。
作成しようとするNASで同じ問題に遭遇しました。 /etc/init.d/minidlna
スクリプトは次のようにすべきではないと思います。
if [ -z $GROUP ]; then
GROUP=$USER
fi
しかし、やる
if [ -z $GROUP]; then
GROUP=$(id -gn $USER)
fi
ユーザーのプライマリグループがユーザーと異なる場合があるためです。特に、ユーザーが共有したい場合は、共有するグループもminidlnaのプライマリグループにする必要があります。