服務器環境:CentOS6.9 Linux 2.6.32-696.10.1.el6.x86_64
安裝Samba服務
過程中會安裝3個服務smb(文件、打印共享服務,使用139、445端口)、nmb(netBIOS名稱解析,使用137/138端口)、winbind(win域相關服務)
# yum -y install samba
設置開機自啟動
# chkconfig nmb on # chkconfig smb on # echo "/etc/init.d/nmb start" >> /etc/rc.local # echo "/etc/init.d/smb start" >> /etc/rc.local
smb常用參數配置
#全局配置#
[global] workgroup = MYGROUP #工作組名稱 server string = Samba Server Version #服務描述 netbios = samba-server #netbios名稱,客戶端可通過此名稱訪問服務,需啟動nmb服務,並開放udp137/138端口 interfaces = lo eth0 192.168.100.110/24 #設置所使用的網卡接口、地址 hosts allow = 127. 192.168.100. #允許連接的客戶端范圍 security = user #認證模式,默認是user,即用戶密碼認證。share(只使用密碼或匿名共享) encrypt passwords = yes #設置是否對samba的密碼進行加密,現在windows操作系統都是使用加密密碼,所以一般要開啟此項 passdb backend = tdsam #當使用加密密碼時,指定所使用的密碼數據庫類型。tdsam可使用smbpasswd或pdbedit命令來創建samba用戶密碼 username map = /etc/samba/smbusers #設置用戶映射,比如可以將root換成administrator、admin等
#用戶家目錄配置#
[homes] comment = Home Directories #共享描述 browseable = no #客戶端homes是否可見(不影響直接輸入名稱homes訪問) writable = yes #是否可寫 #valid users = %S #允許的用戶 #valid users = MYDOMAIN\%S #允許的域用戶
#自定義目錄配置#
[sharing] comment = sharing path = /var/samba/shared #自定義目錄 valid users = sute_jun,@GROUP #允許的用戶,或組GROUP下的用戶 write list = @GROUP,USER #在writable = no的情況下,只允許GROUP組下的用戶可寫 public = no #是否公開,如需創建公開共享,需設置成yes,並注釋valid users。在[global]中配置security=share,在[sharing]中增加guest ok = yes browseable = yes #客戶端sharing是否可見(不影響直接輸入名稱sharing訪問) writable = yes #配置公開共享時,可選擇性使用read only = yes或者writable = yes printable = no create mask = 0664 #默認創建文件的權限值 directory mask = 0755 #默認創建目錄的權限值 force group = GROUP #設置默認創建的文件的屬組 force user = USER #設置默認創建的文件的所有者 hosts allow = 127. 192.168.100. #允許連接的客戶端范圍
創建Samba用戶密碼
使用Samba共享時需為用戶單獨創建smb密碼,而不是用戶登陸密碼
# smbpasswd -a sute_jun
配置共享目錄權限
不給共享根目錄過多權限,而在共享根目錄下創建一個目錄並給777權限
# mkdir -p /var/samba/shared/pub # chown root:root /var/samba/shared # chown -R sute_jun:sute_jun /var/samba/shared/pub # chmod 777 /var/samba/shared/pub
檢測Samba配置是否正確
# testparm
配置防火牆和SELINUX
selinux沒有配置的前提下,客戶端將無法在共享目錄中創建文件
# vim /etc/sysconfig/iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT -A INPUT -p udp -m udp --dport 137:138 -j ACCEPT # setsebool -P samba_domain_controller on # setsebool -P samba_enable_home_dirs on # chcon -t samba_share_t /var/samba/shared # setsebool -P samba_export_all_rw on
重啟服務和防火牆
# service smb restart
# service iptables restart
Linux客戶端連接Samba共享目錄
# yum -y install samba-client #smbclient命令需安裝samba-client包 # smbclient -L 192.168.100.110 -U sute_jun #查看服務器在sute_jun用戶開放了哪些共享,不加-U參數只能查看部分共享 # smbclient //192.168.100.110/sharing -U sute_jun #登陸共享目錄 # mount -t cifs //192.168.100.110/sharing /mnt -o username=sute_jun,password='111111' #掛載Samba共享目錄
Windows客戶端掛載Samba共享目錄
C:\>net use Z: \\samba-server\sharing 111111 /user:sharing #密碼111111,用戶sharing C:\>net use Z: /del #刪除掛載
參考
CentOS7下的Samba使用方法參考如下:
http://www.361way.com/rhce-samba-theory/4712.html
http://www.361way.com/samba-action/4714.html
https://www.server-world.info/en/note?os=CentOS_7&p=samba&f=2