모든 동료가 모든 USB 드라이브를 연결하면 모든 사람이 액세스 할 수있는 중앙 장치 인 "네트워크 USB 허브"를 만들고 싶습니다.
(헤드리스) Ubuntu를 SMB 모든 USB 드라이브에 자동으로 마운트하고 공유하도록 설정하는 방법이 궁금합니다.
아래 절차는 Samba를 통해 USB 드라이브 자동 내보내기 문서에 자세히 설명되어 있습니다 .
사용되는 도구는 usbmount
디스크를 마운트하기 위해 USB 디스크를 삽입 할 때 호출되는입니다. /etc/usbmount/mount.d
사용 중 run-parts
및 /etc/usbmount/umount.d
연결 해제시 스크립트를 실행합니다 .
smb.conf
빈 디렉토리 /etc/samba/auto
를 만들고 다음 줄을 끝에 추가합니다 smb.conf
.
include = /etc/samba/auto/usb0.conf
include = /etc/samba/auto/usb1.conf
include = /etc/samba/auto/usb2.conf
include = /etc/samba/auto/usb3.conf
include = /etc/samba/auto/usb4.conf
include = /etc/samba/auto/usb5.conf
include = /etc/samba/auto/usb6.conf
include = /etc/samba/auto/usb7.conf
mount.d
드라이브가 삽입 될 때 위의 구성 파일을 자동으로 생성하려면이 파일을 /etc/usbmount/mount.d/50_add_samba_export
, chmod를 실행 파일로 생성합니다 .
#!/bin/bash
SHARENAME=`basename $UM_MOUNTPOINT`
cat > /etc/samba/auto/$SHARENAME.conf <<EOF
[$SHARENAME]
comment = $UM_VENDOR $UM_MODEL
path = $UM_MOUNTPOINT
read only = no
EOF
/etc/init.d/samba restart
umount.d
디스크가 마운트 해제되거나 제거 될 때 공유를 제거하려면 /etc/usbmount/umount.d/50_remove_samba_export
, chmod를 +x
다음 과 같이 추가합니다 .
#!/bin/bash
SHARENAME=`basename $UM_MOUNTPOINT`
rm -f /etc/samba/auto/$SHARENAME.conf
/etc/init.d/samba restart
정리하는
이전에 완전히 마운트 해제하지 않고 재부팅하는 경우를 처리하려면 부팅 스크립트를 만들어 /etc/samba/auto
. init 스크립트를 사용하십시오 /etc/init.d/auto-share-clean
.
#! /bin/sh
### BEGIN INIT INFO
# Provides: auto-share-clean
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Cleans auto samba shares
### END INIT INFO
rm -f /etc/samba/auto/*
그때:
chmod +x /etc/init.d/auto-share-clean
update-rc.d auto-share-clean defaults
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다