ubuntu 16.04 利用samba 共享行動硬碟
阿新 • • 發佈:2019-01-12
Windows 下面如何訪問到ubuntu 下的一個行動硬碟呢,一開始當然是考慮到samba 這個工具了。
沒有什麼好說的,立即安裝一個samba
sudo apt-get install samba
新增系統使用者賬戶
sudo adduser samba_user1
新增samba 共享使用者賬戶
sudo smbpasswd -a samba_user1
按照 通用的去配置 smb.cnf,新增共享u disk 方法。
sudo vi /etc/samba/smb.cnf
[u_disk]
comment = share removable hardware disk
path = /media/xxxx/Elements/
public = yes
writable = yes
valid_users = samba_user1
force user = samba_user1
available = yes
browseable =yes
unix charset= UTF-8
dos charset= cp936
在 windows 端能看到u_disk共享名,但是就是無法點選進入訪問,增加了 force user = samba_user1 也是一樣的效果,無法訪問,有許可權的問題。
後來測試在home 目錄下去通過samba 去共享一些目錄,訪問時是沒有問題的。
這說明smb.cnf 配置應該是沒有問題,問題可能還是u disk 的配置導致了訪問錯誤。
後來參考了Cloud Chou 關於 樹莓派共享硬碟的方案。
新建檔案/etc/udev/rules.d/99-udisks2.rules,內容如下:
# By default, udisks2 mounts removable drives under the ACL controlled directory # /run/media/$USER/. If you wish to mount to /media instead, use this rule: # set DISKS_FILESYSTEM_SHARED =1 # UDISKS_FILESYSTEM_SHARED # ==1: mount filesystem to a shared directory (/media/VolumeName) # ==0: mount filesystem to a private directory (/run/media/$USER/VolumeName) # See udisks(8) ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{UDISKS_FILESYSTEM_SHARED}="1"
繫結掛載
sudo apt-get install bindfs
然後建立新的掛載點,並利用bindfs進行繫結掛載:
sudo mkdir /mnt/media
bindfs -o perms=0775 /media /mnt/media
這樣新掛載點/mnt/media的許可權就是0775,任何使用者都可以訪問了, 不過這只是臨時掛載, 可以通過修改/etc/rc.local檔案來實現開機時自動掛載,程式碼如下所示:
# ...
bindfs -o perms=0775 /media /mnt/media
exit 0
最後修改samba配置檔案smb.cnf,讓其在區域網內共享,修改path=/mnt/media/xxxx/Elements/
[u_disk]
comment = share removable hardware disk
path = /mnt/media/xxxx/Elements/
public = yes
writable = yes
valid_users = samba_user1
force user = samba_user1
available = yes
browseable =yes
unix charset= UTF-8
dos charset= cp936
最後重新啟動下ubuntu ,再重新連線下共享目錄,就可以正常訪問了。