前置條件:SAMBA服務(CIFS)已安裝
如果沒安裝,安裝以下兩個包即可:
yum install samba
yum install samba-client
1)匿名只讀共享:
vi /etc/samba/smb.conf
- 變成匿名登錄:
修改security = share
註釋掉passdb backend = tdbsama
2.增加需要共享的目錄:
例如:
[alldir]
path=/
browseable = yes
guest ok = yes
這樣登錄進samba後,就看到有一個alldir目錄。匿名可以讀寫。
如果需要限制用戶,可以參考缺省的homes,增加valid users即可。
2)授權用戶讀寫共享:
1.修改類型爲user驗證
security = user
# passdb backend = tdbsam
passdb backend = smbpasswd
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
2.修改目錄爲root用戶讀寫
[root]
path=/
writable = yes
browseable = yes
valid users = root
write list = @ root
create mode = 0644
3.新建用戶和配置文件
smbpasswd -a root
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
smbpasswd root
其他:
1.允許讀取系統目錄
setsebool -P samba_enable_home_dirs on
setsebool -P samba_export_all_rw on
2.啓動Smb共享
service smb start
chkconfig smb on
3.如果防火牆沒關,需要額外加防火牆例外。
iptables -I INPUT -p udp --dport 137 -j ACCEPT
iptables -I INPUT -p udp --dport 138 -j ACCEPT
iptables -I INPUT -p tcp --dport 139 -j ACCEPT
iptables -I INPUT -p tcp --dport 445 -j ACCEPT
iptables-save >> /etc/sysconfig/iptables
如果是CentOS7,因爲防火牆命令改變,因此是:
firewall-cmd --add-port=137/udp
firewall-cmd --add-port=138/udp
firewall-cmd --add-port=139/tcp
firewall-cmd --add-port=445/tcp
firewall-cmd --runtime-to-permanent
4.SMB客戶端配置
查看共享
smbclient -L //hosts/sharename 或 (IP 地址)
smbclient -L //hosts/sharename -U username
訪問(掛載)共享
mount -t smb //hosts/sharename /掛載點
mount -t smb -o username=name,password=passwd //hosts/sharename
5.其他命令
查看服務器配置
testparm
如果提示:
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
解決方法:
vi /etc/security/limits.conf
add line:
root - nofile 16384
\\ "root"是一個用戶,如果是想所有用戶生效的話換成"*";
reboot
查看服務器使用狀況
smbstatus -b