1.安裝:
yum -y install samba samba-client samba-common
2.啓動:
systemctl start nmb.service
nmdb:
這個daemon是用來管理工作組、NetBIOS(Network Basic Input/Output System) name等解析工作。
主要利用UDP協議開啓137、138端口來負責解析任務。
systemctl start smb.service
smdb:
這個daemon是用來管理samba主機分享的目錄、檔案和打印機等。
主要利用TCP協議來傳輸數據,開發139端口。
3.主要配置文件:
/etc/samba/smb.conf:samba主配置文件,包含global配置和共享資源配置。
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m ###samba log日誌
max log size = 50
security = user ## 配置user層級
passdb backend = tdbsam ## 使用TDB數據庫格式
load printers = no ##打印服務
printing = bsd
printcap name = /dev/null
disable spoolss = yes
============================ Share Definitions ==============================
##[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
valid users = MYDOMAIN\%S
##[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[public]
comment = 公共文件存放
path = /data/smbshare/public
#read list = xxx
create mask = 777
directory mask = 777
public = yes
writeable = yes
[rulefiles]
comment = 公司制度文件
browseable = yes ##可被其他人瀏覽
create mask = 777
directory mask = 777
path = /data/smbshare/rulefiles ##共享的目錄,Samba服務器共享出來的路徑
read list = aaa,bbb
write list = aaa,bbb
valid users = aaa,bbb
修改配置完 /etc/samba/smb.conf重新檢查一下語法:testparm
/etc/samba/lmhosts配置文件: 對應NetBIOS name的IP,lmhosts對應主機名是NetBIOS name。 類似/etc/hosts
4.創建共享目錄設置權限,創建samba賬號和密碼
建立系統賬號:
mkdir -p /data/smbshare/public
useradd -G users smb1
useradd -G users smb2
useradd -G users smb3
echo 1234 | passwd --stdin smb1
echo 1234 | passwd --stdin smb2
echo 1234 | passwd --stdin smb3
samba使用 pdbedit命令將創建的系統賬號添加成Samba用戶。早期使用smbpasswd命令,後使用TDB數據庫,所以使用pdbedit命令管理samba用戶數據。
使系統賬號添加成Samba用戶:pdbedit -a -u smb1 pdbedit -a -u smb2 pdbedit -a -u smb3
列出當前Samba數據庫中賬號與UID等詳細信息:pdbedit -vL
bash /root/smbuser.sh 用戶名
#!/bin/bash
username=$1
passWD=`</dev/urandom tr -dc A-Za-z0-9 | head -c6`
useradd $username -s /sbin/nologin 1>/dev/null 2>&1
echo -e "$passWD\n$passWD" | smbpasswd -a $username -s
echo "用戶名:$username 密碼:$passWD"
echo "$username $passWD" >> pass.file
5.Linux客戶端安裝:
yum -y install samba-client samba-common
掛載測試:/usr/bin/mount -t cifs //192.168.2.200/smb1 /mnt -o username=smb1,password=4321
df -h