国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux自動共享USB設備:udev+Samba

2024-06-28 13:19:46
字體:
來源:轉載
供稿:網友
linux自動共享USB設備:udev+Samba

一、概述

  公司最近要我實現USB設備插入Ubuntu后,自動共享到網絡上,能像Windows共享一樣(如//192.168.1.10)訪問里面的內容,不需要寫入權限。當時聽完這需求,我這新人表示驚呆了,立刻上網搜相關文檔,并跑去問主管,這功能有人實現了不?主管很肯定地說,必須的。網上搜到的技術文檔只有插入USB設備自動掛載,自動共享沒搜到,這下只好靠自己了。

  經過一番折騰總算在Ubuntu14.04桌面版實現了該功能,但還不完美,例如:默認只共享出來5個USB設備,USB1~5,拔出后設備還存在。文件系統支持常見的FAT32/NTFS/exFAT格式。好想吐槽,完成后還不知道這奇葩的需求究竟用來做什么...

  實現過程:

  1、插入USB設備,自動掛載(udev規則)

  2、掛載后,使用SMB協議共享到網絡上,客戶端有讀取權限(Samba服務器)

二、原理

  使用 udev 高效、動態地管理 Linux 設備文件

  用udev自動掛載usb設備

  CentOS 6.3下Samba服務器的安裝與配置

三、配置

(注意:Ubuntu14.04的Samba安裝上后,服務默認開機啟動,并且SELinux和防火墻都未影響服務,其他發行版可能需要配置。)

1、安裝exFat包,支持exFAT格式的文件系統

root@Ubuntu1:~# sudo apt-get install exfat-utils

2、定義udev規則,實現USB設備自動掛載

root@Ubuntu1:~# cd /etc/udev/rules.d/                          #udev規則目錄root@Ubuntu1:/etc/udev/rules.d# vim 70-persistent-net.rules    #編輯規則文件KERNEL!="sdb?", GOTO="automount_exit"ACTION=="add", SUBSYSTEM=="block", RUN+="/bin/mkdir /media/usb1", RUN+="/bin/mount -o uid=1000,user,codepage=936,utf8 $root/%k /media/usb1"ACTION=="remove", SUBSYSTEM=="block", RUN+="/bin/umount /media/usb1", RUN+="/bin/rmdir /media/usb1"LABEL="automount_exit"#當檢測到sdb的設備,執行創建目錄并掛載;設備刪除后,卸載并刪除目錄KERNEL!="sdc?", GOTO="automount_exit"ACTION=="add", SUBSYSTEM=="block", RUN+="/bin/mkdir /media/usb2", RUN+="/bin/mount -o uid=1000,user,codepage=936,utf8 $root/%k /media/usb2"ACTION=="remove", SUBSYSTEM=="block", RUN+="/bin/umount /media/usb2", RUN+="/bin/rmdir /media/usb2"LABEL="automount_exit"KERNEL!="sdd?", GOTO="automount_exit"ACTION=="add", SUBSYSTEM=="block", RUN+="/bin/mkdir /media/usb3", RUN+="/bin/mount -o uid=1000,user,codepage=936,utf8 $root/%k /media/usb3"ACTION=="remove", SUBSYSTEM=="block", RUN+="/bin/umount /media/usb3", RUN+="/bin/rmdir /media/usb3"LABEL="automount_exit"KERNEL!="sde?", GOTO="automount_exit"ACTION=="add", SUBSYSTEM=="block", RUN+="/bin/mkdir /media/usb4", RUN+="/bin/mount -o uid=1000,user,codepage=936,utf8 $root/%k /media/usb4"ACTION=="remove", SUBSYSTEM=="block", RUN+="/bin/umount /media/usb4", RUN+="/bin/rmdir /media/usb4"LABEL="automount_exit"KERNEL!="sdf?", GOTO="automount_exit"ACTION=="add", SUBSYSTEM=="block", RUN+="/bin/mkdir /media/usb5", RUN+="/bin/mount -o uid=1000,user,codepage=936,utf8 $root/%k /media/usb5"ACTION=="remove", SUBSYSTEM=="block", RUN+="/bin/umount /media/usb5", RUN+="/bin/rmdir /media/usb5"LABEL="automount_exit"root@Ubuntu1:/etc/udev/rules.d# shutdown -r now    #重啟系統

3、安裝Samba,用于共享目錄

root@Ubuntu1:~# apt-get install samba samba-common

4、編輯Samba配置文件

root@Ubuntu1:~# vim /etc/samba/smb.conf [USB1]    comment = USB1    path = /media/usb1   #第一個USB掛載路徑,對應前面定義的udev規則    browseable = yes    #瀏覽權限    guest ok = yes     #匿名共享    writeable = yes    #是否可寫[USB2]    comment = USB2    path = /media/usb2    browseable = yes    guest ok = yes    writeable = yes[USB3]    comment = USB3    path = /media/usb3    browseable = yes    guest ok = yes    writeable = yes[USB4]    comment = USB4    path = /media/usb4    browseable = yes    guest ok = yes    writeable = yes[USB5]    comment = USB5    path = /media/usb5    browseable = yes    guest ok = yes    writeable = yes

5、重新加載配置文件

root@Ubuntu1:/etc/samba# /etc/init.d/smbd reload

四、測試

  √ U盤1:金士頓2G、FAT32

  √ U盤2:SanDisk8G、FAT32

  √ U盤3:SanDisk8G、NTFS

  √ U盤4:讀卡器8G、exFAT

  √ 移動硬盤:ZALMAN60G、NTFS

效果如下:

五、現存問題

  ●只共享5個USB設備,USB1~5,拔出后設備還存在

  ● 共享內容只有讀權限,不可寫入

  ● udev規則有時不生效,USB設備拔出后設備不卸載,占用設備號。如插入sdb1,拔出后sdb1依舊存在,再次插入變為了sdc1,可用數量會減少

  (可寫Shell腳本自動卸載解決)

本文出自 “運維菜鳥.log” 博客,謝絕轉載!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨江| 平凉市| 沙田区| 诏安县| 正宁县| 兴山县| 海盐县| 八宿县| 平湖市| 泸水县| 双柏县| 望奎县| 曲麻莱县| 五家渠市| 分宜县| 昌吉市| 肇东市| 凌海市| 麻栗坡县| 张家川| 建昌县| 漯河市| 尼勒克县| 榆社县| 明水县| 抚顺市| 京山县| 铜梁县| 绵竹市| 临邑县| 勃利县| 金秀| 灵宝市| 钟山县| 石狮市| 鲁山县| 沂水县| 蕉岭县| 察哈| 蕉岭县| 招远市|