CentOS7.2安裝Samba服務

前言

Samba是在Linux系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。 SMB(Server Messages Block, 信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它爲局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統,打印機及其他資源。

安裝Samba

[root@localhost ~]# yum install -y samba samba-client samba-common

備份Samba配置文件

[root@localhost ~]# cp -a /etc/samba/smb.conf /etc/samba/smb.conf.bak

添加用戶

[root@localhost ~]# useradd smb

設置用戶密碼

[root@localhost ~]# passwd smb

設置Samba密碼

[root@localhost ~]# smbpasswd -a smb
New SMB password:
Retype new SMB password:
Added user smb.

smbpasswd 命令是用於維護 Samba 服務器的用戶帳號的,具體如下:

// 添加 Samba 用戶帳號
# smbpasswd -a sambauser 
// 禁用 Samba 用戶帳號
# smbpasswd -d sambauser
// 啓用 Samba 用戶帳號
# smbpasswd -e sambauser
// 刪除 Samba 用戶帳號
# smbpasswd -x sambauser

設置Samba目錄權限

[root@localhost ~]# chmod -R 0755 /opt/smb/

設置Samba目錄宿主

[root@localhost ~]# chown -R smb:smb /opt/smb/

配置smb.conf文件

[root@localhost ~]# vi /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
 
[global]
 workgroup = SAMBA #samba的工作組,設置成 Windows 的工作組
 security = user  #安全選項,可以是 share|user|server|domain,安全級別遞增
 passdb backend = tdbsam
 printing = cups
 printcap name = cups
 load printers = yes
 cups options = raw
 
[homes] #共享默認會將用戶的主目錄共享,這是不安全的,可以將其註釋
 comment = Home Directories
 valid users = %S, %D%w%S
 browseable = No
 read only = No
 inherit acls = Yes
 
[printers] #打印機共享
 comment = All Printers
 path = /var/tmp
 printable = Yes
 create mask = 0600
 browseable = No
 
[print$]
 comment = Printer Drivers
 path = /var/lib/samba/drivers
 write list = root
 create mask = 0664
 directory mask = 0775
 
[rootdir] #自定義的共享文件夾
 comment = SambaRoot
 path = /home/samba/ #共享的路徑
 read only = No
[root@localhost opt]# testparm

啓動Samba服務並添加到自啓動列表

[root@localhost ~]# systemctl start smb
[root@localhost ~]# systemctl enable smb

打開Samba防火牆端口

# Samba需要開放下面五個端口:UDP 137、UDP 138、TCP 139、TCP 445、TCP 901
[root@localhost ~]# firewall-cmd --permanent --add-port=137/udp
[root@localhost ~]# firewall-cmd --permanent --add-port=138/udp
[root@localhost ~]# firewall-cmd --permanent --add-port=139/tcp
[root@localhost ~]# firewall-cmd --permanent --add-port=445/tcp
[root@localhost ~]# firewall-cmd --permanent --add-port=901/tcp

如果 Windows 下訪問 Linux 下共享目錄,提示沒有權限:

確保 Linux 下防火牆關閉或者是開放共享目錄權限;

確保 Samba 服務器配置文件 smb.conf 設置沒有問題;

確保 setlinux 關閉 , 可以用 setenforce 0 命令執行,默認 SELinux 禁止網絡上對 Samba 服務器上的共享目錄進行寫操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章