Quyền cho thư mục Video cho minidlna?


10

Tôi có một ổ cứng thứ cấp được gắn dưới dạng / media / Media và tôi muốn sử dụng một thư mục có tên Video nằm trên ổ đĩa mà tôi muốn chia sẻ các video nằm trên thư mục này qua minidlna. Tôi đã minidlnalàm việc với /home/jonathan/Videosổ đĩa nhỏ hơn của mình và thay vào đó tôi muốn chuyển các video sang các ổ đĩa lớn hơn.

Tuy nhiên, sau khi tôi chỉnh sửa minidlna.confđể trỏ đến thư mục / media / Media / Video và thực hiện sudo service minidlna force-reloadđể tải lại cơ sở dữ liệu, tôi gặp lỗi.

Ai đó có thể chỉ cho tôi các quyền chính xác mà tôi cần để đặt trên thư mục này không?


Để giúp chúng tôi cần các lỗi chính xác mà bạn nhận được. Chúng tôi cũng cần biết cách bạn định dạng, cách bạn gắn ổ đĩa phương tiện và vị trí minidlna.conf của bạn. Nếu không thì nó chỉ đoán ở đây. Cách minidlna để quét lại thư viện của nó được đưa ra trong câu trả lời của tôi - không cần force-reload.
Takkat

Khi tôi bắt đầu mindlna sau khi thay đổi minidlna.conf thành piont vào thư mục video / media / media / Video, nó cho tôi biết quyền bị từ chối. Ổ đĩa là ổ đĩa thứ cấp và được hệ thống gắn kết khi tôi đăng nhập / bật máy tính nên không chắc ý của bạn về cách gắn kết
jjlie

Những gì tôi đã nghĩ là, sự thiếu tôn trọng quyền của thư mục Video minidlna của bạn nên có quyền truy cập đọc khi nó chạy như root. Điều này không đúng với cơ sở dữ liệu minidlna được lưu trữ /var/lib/minidlnathuộc sở hữu của nhóm minidlna. Do đó, chúng tôi cần chạy quét lại -Rvới tư cách người dùng minidlnahoặc chúng tôi có thể đặt thư viện này đến một nơi khác (xem mindlna.conf -> db_dir=). Tôi có của tôi trong nhà của tôi.
Takkat

Vì vậy, minidlna hoạt động miễn là tôi sử dụng / home / jjesse / Video / vì thư mục của tôi hoạt động tốt, nhưng nếu trỏ nó vào / media / media / videos tôi sẽ gặp phải lỗi permssions, do đó tôi sẽ hỏi về quyền gì tôi cần trên / media / media / video
jjesse

Trên hệ thống của tôi ở đây, chúng tôi cần quyền đọc cho minidlna, tất nhiên. Chúng có thể phụ thuộc vào người dùng / nhóm bạn chạy minidlna. Điều này thường là rootnhưng nó cũng có thể được chạy như minidlna, hoặc như bất kỳ người dùng nào, tùy thuộc hoàn toàn vào thiết lập cá nhân của bạn.
Takkat

Câu trả lời:


14

Tôi đã thử làm theo các ví dụ trong chủ đề này nhưng vẫn không thể làm cho nó hoạt động. Cuối cùng tôi đã vấp phải bài viết này ở đây: Chạy minidlna trên Ubuntu và làm theo từng bước một và bây giờ tôi có phương tiện trên ổ đĩa thứ hai của mình được phục vụ thông qua minidnla. Nếu bất kỳ ai khác đấu tranh, tôi khuyên bạn nên làm theo quy trình của anh ấy.

Tôi đã trích dẫn văn bản của anh ấy trong trường hợp trang của anh ấy biến mất.


Anh ta đã cài đặt một dịch vụ gọi là minidlna, được cho là cho phép truyền phát phương tiện truyền thông. Tuy nhiên, nó không giống như các quyền trên thư mục đã chọn của anh ấy. Đường dẫn là / 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]

Anh ta chỉ nó vào một thư mục trong thư mục nhà của mình và nó thích điều đó tốt, nhưng không phải là ổ đĩa thứ 2 chứa phương tiện truyền thông .

Anh ấy đã thử đặt người dùng là tôi trong tệp conf và trong tệp mặc định. Nhưng cuối cùng, anh phát hiện ra rằng anh phải đặt người dùng là gốc Root để làm cho nó hoạt động.

Anh mở thiết bị đầu cuối và bước vào ...

sudo gedit /etc/default/minidlna

... và chỉnh sửa tập tin ...

# User and group the daemon should run as
USER=”root”
#GROUP=”minidlna”

... Sau đó được lưu và quay lại thiết bị đầu cuối và nhập ...

sudo gedit /etc/minidlna.conf

... và chỉnh sửa tập tin ...

# Specify the user name or uid to run as.
user=root

Anh khởi động lại dịch vụ bằng ...

sudo service minidlna restart

... Trong thiết bị đầu cuối và lần này không có lỗi về quyền.


Tôi hy vọng điều đó sẽ giúp được ai đó vì nó đã giúp tôi. Nếu nó giúp bạn thì hãy ghé thăm trang của anh ấy và để lại cho anh ấy một bình luận như tôi đã làm để anh ấy biết rằng trang của anh ấy đang giúp đỡ!

CẬP NHẬT:

Điều này hoạt động ngay lập tức nhưng nếu bạn tắt nguồn máy và sau đó khởi động lại thì ổ đĩa thứ hai không được phục vụ bởi máy chủ minidnla cho đến khi bạn chạy:

sudo service minidlna restart

Làm cho nó hoạt động từ bootup là một vấn đề ổ đĩa chế độ người dùng và có thể được khắc phục bằng cách thêm ổ đĩa vào fstab . Nhược điểm là hệ thống sẽ không tự động khởi động nếu ổ đĩa không được cắm, vì nó sẽ gây khó chịu khi yêu cầu thử lại hoặc bỏ qua trước khi tiếp tục khởi động.

Một cách khác để thêm ổ đĩa vào fstab là khởi động lại dịch vụ minidlna khi khởi động lại từ cron:

sudo crontab -e

sau đó thêm dòng tiếp theo vào cuối tập tin:

@reboot sleep 60 && sudo service minidlna restart

9

/media/*được tự động hóa với udisks. Nếu là NTFS hoặc FAT, chỉ người dùng đang hoạt động mới có quyền truy cập vào nó, vì vậy người dùng minidlna không thể truy cập được.

Thật ngớ ngẩn khi udisks có các quyền được mã hóa cứng, có một báo cáo lỗi về điều đó: https://bugs.launchpad.net/ubfox/+source/udisks/+orms/682589

Nếu một người gắn đĩa với sudo mount /dev/sdb1 /mnthoặc với /etc/fstab, anh ta có thể đặt bất kỳ quyền nào mình muốn để minidlna có thể đọc được.

Vì vậy, đối với các PC gia đình, một cách giải quyết dễ dàng là chỉnh sửa /etc/default/minidlnavà chỉ định rằng minidlna sẽ chạy dưới quyền root hoặc là người dùng thường gắn các đĩa đó.

# User and group the daemon should run as
USER="root"
#GROUP="minidlna"

Nếu bạn đã chỉ định tài khoản người dùng thay vì root, hãy chạy sudo chown -R user:user /var/lib/minidlna

Để quét lại thư viện sau khi thay đổi, hãy chạy sudo service minidlna force-reload

Và một lưu ý cho bản thân tôi, thay vì thêm media_dir=các mục trong /etc/minidlna.conf, tôi thích tạo các liên kết tượng trưng trong / var / lib / minidlna, ví dụ:

sudo ln -sf /media/alkisg/mydisk/Photos /var/lib/minidlna/Photos

... bởi vì theo cách đó tôi có thêm một mức phân cấp khi duyệt các thư mục phương tiện trong các máy khách DLNA.


Cảm ơn, cuối cùng tôi đã có phân vùng NTFS để làm việc với minidlna. Tôi đã gắn phân vùng của mình qua fstab, nhưng có các tùy chọn sai. Vì phân vùng NTFS không được sử dụng bởi hệ thống windows hoặc tương tự, tôi chỉ sử dụng các tùy chọn sau để gắn kết nó trong fstab: default, umask = 0000. Hoạt động như một lá bùa!
Bernd

4


sudo chown -R minidlna: minidlna / media / Media

để trao quyền sở hữu minidlna cho tất cả các tệp và thư mục có trong Media

sau đó khởi động lại và buộc quét lại máy chủ

QUAN TRỌNG
Bắt đầu minidlna với quyền root!

sudo minidlna

để quét lại thư viện sau khi thêm tệp vào ổ đĩa phương tiện của bạn, hãy sử dụng

sudo service minidlna stop
sudo minidlna -R
sudo service minidlna restart

để xem nếu nó lên

service minidlna status

Cảm ơn rất nhiều, tôi đã thực hiện các thay đổi và vẫn nhận được cùng một lỗi [2013/03/20 12:37:50] minidlna.c: 474: error: Thư mục phương tiện "/ media / Media / Video /" không truy cập được! [Quyền bị từ chối]
jjlie

1
điều đó thật kỳ quặc ... Tôi sẽ phải xem lại thiết lập của riêng mình vì tôi đã chạy minidlna, với ổ đĩa ngoài là phân vùng phương tiện và tôi nghĩ đây là thay đổi duy nhất tôi phải thực hiện
Daniel W.

1
một điều bạn có thể làm chỉ để xác minh rằng quyền sở hữu đã thực sự thay đổi là nhập 'ls -lh / media' và xem quyền sở hữu (mục thứ 3 và thứ 4 trong danh sách) được đặt thành 'minidlna' cũng làm điều này cho '/ media / Phương tiện 'và' / phương tiện / Phương tiện / Video 'để xem các thay đổi có được áp dụng đệ quy không
Daniel W.

Cảm ơn vì điều này, có vẻ như sự thay đổi đã không được đệ quy? Bây giờ ls -lh hiển thị minidlna là chủ sở hữu và nhóm. nhưng vẫn nhận được sự cho phép từ chối về điều này. Không hoàn toàn chắc chắn những gì đang diễn ra
jjlie

oh tôi nghĩ rằng tôi đã bỏ lỡ điều hiển nhiên ở đây ... bạn dường như cần phải bắt đầu minidlna với quyền root. Tôi vừa gặp lỗi giống như bạn đã làm trong thiết lập của mình sau khi khởi động lại lần đầu tiên sau 2 tháng. bạn phải nhập 'sudo minidlna' để thực hiện thủ thuật (với điều kiện là tất cả các quyền vẫn được đặt trên các thư mục)
Daniel W.

0

Tôi nhận ra đây là một câu hỏi cũ hơn nhưng nếu bạn đặt ổ đĩa ngoài với mặc định, người dùng làm tùy chọn và sau đó sudo chown -cR $ USER: minidlna / media / (your_mount point_here). Điều này sẽ duy trì quyền sở hữu và nhóm thông qua việc khởi động lại cũng như cung cấp nhóm minidlna mặc định mà máy chủ được chạy với quyền truy cập nhóm vào các tệp.


0

Tôi tìm thấy một giải pháp khác: cha mẹ của thư mục phương tiện cũng có thể truy cập được vào minidlna. Tôi đã thử chạy minidlna với quyền root và ProtectHome = chỉ đọc trong tệp dịch vụ systemctl nhưng không có cái nào hoạt động.

Trong trường hợp của tôi, video của tôi nằm trong media_dir = V, / srv / share / videos / library

Tôi đã thực hiện chmod -R a + xr / srv / share / videos / library nhưng vẫn nhận được thông báo Từ chối cấp phép

Sau khi tôi thực hiện chmod o + xr / srv / share / videos - tất cả đều hoạt động, với user = minidlna

Hy vọng điều này sẽ giúp được ai đó.


0

Tôi đã có cùng một vấn đề, và đã cố gắng khắc phục bằng cách sử dụng bài đăng này. Nhưng tôi không muốn rootchạy daemon.

Lưu ý :

  • Tôi cũng đang kết nối một đĩa di động trong không gian người dùng dưới dạng (không sử dụng fstab).
  • Tôi đang chạy Ubuntu 16.04.02 LTS

Vì vậy, tôi chỉnh sửa /etc/default/minidlnađể chứa

USER=<user>
GROUP=<group>

sau đó /etc/minidlna.confđể chứa

user=<user>

Tôi cũng đã phải thay đổi quyền để cho phép người dùng của tôi

chown <user>:<group> /var/cache/minidlna
chown <user>:<group> /run/minidlna

Sau đó khởi động lại dịch vụ

sudo service minidlna restart

0

Tôi gặp vấn đề tương tự trên một NAS mà tôi cố gắng tạo ra. Tôi nghĩ /etc/init.d/minidlnakịch bản không nên:

if [ -z $GROUP ]; then
   GROUP=$USER
fi

Nhưng làm một

if [ -z $GROUP]; then
   GROUP=$(id -gn $USER)
fi

Bởi vì nhóm chính của người dùng có thể khác với người dùng. Đặc biệt là khi bạn muốn người dùng chia sẻ, bạn cũng muốn một nhóm mà họ chia sẻ cũng là nhóm chính của minidlna.


0

Tôi đã cố gắng chạy MiniDLNA như một vùng lưu trữ thay thế cho HDHomeRun RECORD (sử dụng cấu hình NAS trong HDHomeRun SETUP).

Tôi nghĩ Samba đã xung đột khi tôi khởi động lại và máy chủ DLNA của tôi không còn hoạt động. Hóa ra tôi chưa bao giờ thiết lập firewalldcổng mở 8200, tôi vừa tắt nó và quên vô hiệu hóa dịch vụ (có thể nghĩ rằng tôi sẽ làm điều đó đúng sau và quên).

Tôi đang sử dụng Fedora 27, BTW.

Vì một số lý do, MiniDLNA báo cáo thư mục phương tiện là not accessiblenếu cổng của bạn không mở. Thí dụ --

Trước khi tắt tường lửa:

# 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.

Sau khi tắt tường lửa:

# 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

Tôi không chắc tại sao nó lại báo cáo thư mục phương tiện là không thể truy cập được do cổng bị chặn, đó có vẻ như là hành vi lạ đối với tôi. Nhưng vô hiệu hóa tường lửa là tất cả những gì tôi đã làm để nó bắt đầu hoạt động trở lại.


-1

Để cho miniDLNA quét lại thư viện của nó, chúng tôi có thể đưa ra các lệnh sau:

sudo service minidlna stop    # stop minidlna
sudo -u minidlna minidlna -R  # rescan the library
sudo service minidlna start   # restart minidlna

Lưu ý rằng với cài đặt thư viện mặc định, dòng thứ hai cần được chạy dưới người dùng minidlnađể cho minidlna có quyền truy cập vào thư viện này sau.

Tùy thuộc vào cài đặt của bạn, bạn có thể đã xác định vị trí cho thư viện ngoài mặc định /var/lib/minidlna. Sau đó, chúng tôi có thể cần các quyền khác nhau.


Cảm ơn bạn đã trả lời, tuy nhiên nó không giải quyết mối quan tâm của tôi cả. Tôi đang tìm kiếm các quyền cho thư mục / ổ đĩa
jjlie
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.