我把貓盤作為電影BT下載機侍匙,開啟Samba服務(wù)后掛載到蝸牛星際主機上迈喉,這樣在蝸牛星際上的emby服務(wù)就可以直接掃描貓盤的下載目錄集歇,并更新電影元數(shù)據(jù)桶略。但發(fā)現(xiàn),如果下載了帶有BDMV目錄的藍(lán)光資源诲宇,emby總是把藍(lán)光目錄BDMV下每個m2ts文件識別成一個單獨視頻删性,最終的視頻列表被搞得亂七八糟。進(jìn)一步發(fā)現(xiàn)焕窝,下載目錄中emby創(chuàng)建的海報poster.jpg都是0字節(jié)。通過查看emby日志(在/var/lib/emby/logs下面)可知维贺,emby下載海報圖片后寫入源目錄時失敗了它掂,報的異常信息是文件被占用無法寫入,但實際根源應(yīng)該就是沒權(quán)限溯泣。之所以在emby的媒體庫中還能看到海報虐秋,是因為emby把海報轉(zhuǎn)存到自己內(nèi)部的臨時存儲區(qū)去了。
趁著最長假期垃沦,今天來解決一下問題客给。
因為從日志中明確看到了,我猜測上面的問題根源實際都是掛載目錄的寫入權(quán)限不夠造成的肢簿。感到奇怪的是靶剑,在貓盤的Samba服務(wù)配置參數(shù)中我明明已經(jīng)設(shè)置了777級別的寫入蜻拨。看來問題出在蝸牛星際上的OMV掛載上桩引。
在OVM中是通過下面的遠(yuǎn)程掛載進(jìn)行的:
掛載后缎讼,能夠在/srv下能看到掛載后的目錄,進(jìn)去看一下是這樣的:
root@omv:/srv/092e1049-faf6-49f9-99d8-bc14f138ebbf# ls -l
total 3072
-rwxr-xr-x 1 root root 0 Jan 30 23:13 aa
drwxr-xr-x 2 root root 0 Jan 30 22:52 bt
-rwxr-xr-x 1 root root 1854 Oct 2 00:34 cat.sh
-rwxr-xr-x 1 root root 469 Oct 2 00:14 catmon.sh
-rwxr-xr-x 1 root root 1696 Oct 3 23:54 pt.sh
很顯然坑匠,這里的權(quán)限已經(jīng)變成了755血崭,并且用戶是root。emby服務(wù)是以emby用戶身份運行的厘灼,自然無法寫入夹纫。(但怎么能創(chuàng)建0字節(jié)文件?不得其解)设凹。
這個root用戶身份和0755的權(quán)限組合舰讹,我并沒有在任何地方設(shè)置,這個局面是怎么產(chǎn)生的呢围来?按照對話框上的Tips跺涤,找到了mount.cifs的說明(中文版鏈接),其中關(guān)鍵點如下:
uid=arg
如果被掛載的文件系統(tǒng)服務(wù)器沒有提供文件和目錄的UID信息监透,那么就使用這里的設(shè)置桶错。
arg 可以是字符串形式的用戶名或著是數(shù)字形式的uid值。默認(rèn)值是數(shù)字'0'胀蛮。
更多信息參見下面的“文件和目錄的屬主及權(quán)限”小節(jié)院刁。
file_mode=0nnn
如果服務(wù)器端不支持 CIFS Unix擴展,那么就使用這里設(shè)置的值替代默認(rèn)的文件權(quán)限模式粪狼。
這里的 nnn 是八進(jìn)制的權(quán)限模式退腥,且前導(dǎo)零不能省略。
dir_mode=0nnn
如果服務(wù)器端不支持 CIFS Unix擴展再榄,那么就使用這里設(shè)置的值替代默認(rèn)的目錄權(quán)限模式狡刘。
這里的 nnn 是八進(jìn)制的權(quán)限模式,且前導(dǎo)零不能省略困鸥。
通過這段文字可以知道嗅蔬,uid默認(rèn)為0,0正好是系統(tǒng)中root用戶的id疾就,這解釋了為什么前面的共享文件用戶都是root澜术。755權(quán)限不知道是從哪來的,但是可以通過file_mode和dir_mode來設(shè)置猬腰。于是鸟废,在OMV遠(yuǎn)程掛載對話框的選項中,增加兩個參數(shù)dir_mode=0777,file_mode=0666
姑荷,如下圖:
然后重啟系統(tǒng)盒延,再進(jìn)入共享目錄看一下缩擂,權(quán)限改變了:
root@omv:/srv/092e1049-faf6-49f9-99d8-bc14f138ebbf# ls -l
total 3072
-rw-rw-rw- 1 root root 0 Jan 30 23:13 aa
drwxrwxrwx 2 root root 0 Jan 30 22:52 bt
-rw-rw-rw- 1 root root 1854 Oct 2 00:34 cat.sh
-rw-rw-rw- 1 root root 469 Oct 2 00:14 catmon.sh
-rw-rw-rw- 1 root root 1696 Oct 3 23:54 pt.sh
現(xiàn)在再打開emby,讓它重新刷新元數(shù)據(jù)兰英,果然一切正常撇叁,藍(lán)光文件夾被整體識別了,每個獨立電影下面的海報圖片也不再是0字節(jié)畦贸,后臺日志也不報錯了陨闹。
實際上,OMV的遠(yuǎn)程掛載界面薄坏,就是幫你做了一個mount趋厉,可以用mount命令看到實際生成的指令和參數(shù),如下:
......
//192.168.3.2/public on /sharedfolders/Cat type cifs (rw,relatime,vers=2.0,sec=none,cache=strict,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.3.2,file_mode=0666,dir_mode=0777,soft,nounix,mapposix,rsize=65536,wsize=65536,echo_interval=60,actimeo=1)
......
這個案例告訴我胶坠,Samba服務(wù)端可以設(shè)置目錄權(quán)限君账,客戶端也可以設(shè)置,兩者疊加后沈善,才是最終結(jié)果乡数。
補充:上面的例子中,因為家里就我一個人用闻牡,圖省事净赴,直接把共享目錄設(shè)置為任意用戶可寫≌秩螅考慮安全性玖翅,最好還是設(shè)計一套更完善的權(quán)限分配體系,以防誤操作割以。