安裝配置Samba實現windows+linux文件共享
當前設置samba的係統環境介紹
VM下CentOS6.7 64
IP192.168.0.70
關閉selinux
setenforce 0
關閉iptables
service iptables stop
安裝samba
yum -y install samba
更改samba配置文件security = user為security = share
sed -i '/;/!s/security = user/security = share/' /etc/samba/smb.conf
注釋:
security = user 定義安全級別 ,使用samba服務自我管理的帳號和密碼進行用戶認證;用戶必須是係統用戶,但密碼非為/etc/shadow中的密碼,而由samba自行管理的文件,其密碼文件的格式由passdb bachend進行定義
security = share 匿名共享
修改samba配置文件
cat >> /etc/samba/smb.conf << EOF [share] #此處是模塊名稱,名字隨便起 comment = blog.whsir.com #注釋 path = /win #指定目錄 browseable = yes #如果把此處改成no,smbclient -L //192.168.0.70在用命令查看時,就看不到share,見下圖 guest ok = yes #是否可瀏覽,是否可被所有用戶看到 writable = yes #是否可寫(全局可寫) create mask = 0644 #新建文件權限644 directory mask = 0755 #新建目錄權限755 EOF
可以用testparm命令測試下配置文件是否有錯誤
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[share]"
WARNING: The security=share option is deprecated
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
這種是個警告,忽略即可
創建需要共享的目錄
mkdir /win
更改權限,可以直接更改屬組和屬組,也可以將目錄權限改成777
chown -R nobody.nobody /win 或 chown -R 777 /win
重啟samba
service smb restart
Windows客戶端訪問
開始-運行-打開\\192.168.0.70\share
Linux客戶端訪問
掛載到linux本地/data目錄,即本地data目錄就是遠程/win目錄,此處要求輸入密碼直接回車即可。
mount -t cifs //192.168.0.70/share /data
給samba添加帳號密碼
更改samba配置文件security = share為security = user
sed -i '/;/!s/security = share/security = user/' /etc/samba/smb.conf
其他配置跟上麵相同(看上麵修改samba配置文件部分)
給samba添加用戶,用戶必須是當前linux已經存在的用戶,不存在則需要創建
useradd whsir -s /sbin/nologin
smbpasswd -a whsir #這裏輸入兩遍密碼
重啟samba
service smb restart
Windows客戶端訪問
開始-運行-打開\\192.168.0.70\share就需要密碼了
Linux客戶端訪問
掛載到linux本地/data目錄,即本地data目錄就是遠程/win目錄,密碼就是剛才設置的密碼
mount -t cifs //192.168.0.70/share -o username=whsir /data
附錄:
smbpasswd命令:
-a:添加
-x:刪除
-d:禁用
-e:啟用
-n:將指定的用戶密碼置空
pdbedit命令:
-L :列出samba中所有已添加用戶
注意:
手動創建useradd用戶時,會有uid和gid,用這個用戶在windows端上傳修改文件時,權限會變成這個用戶的uid和gid,這樣就會導致一個權限問題。
如果是linux客戶端的話,必須在當前linux客戶端有這個用戶,並且uid和gid跟服務端對應一致,才不會出現權限問題,當然你可以直接讓samba使用nobody用戶
samba不允許一個用戶使用一個以上用戶名與一個服務器或共享資源的多重連接。
在cmd中輸入net use * /del /y即可解決
最後更新:2017-07-02 11:26:51