在linux中,samba是一個基於SMB協定的開源軟體,是一個能讓Linux系統應用Microsoft網路通訊協定的軟體。samba軟體既可以用於windows與Linux之間的檔案共用,也可以用於Linux與Linux之間的資源共用。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
1. samba 簡介
Samba 是在 Linux 和 UNIX 系統上實現 SMB 協定的一個免費軟體,由伺服器及使用者端程式構成。
SMB 是一種在區域網上共用檔案和印表機的一種通訊協定,它為區域網內的不同計算機之間提供檔案及印表機等資源的共用服務。
SMB 協定是 C/S 型協定,客戶機通過該協定可以存取伺服器上的共用檔案系統、印表機及其他資源。
samba是一個能讓Linux系統應用Microsoft網路通訊協定的軟體,samba最大的功能就是可以用於Linux與windows系統直接的檔案共用和列印共用,samba既可以用於windows與Linux之間的檔案共用,也可以用於Linux與Linux之間的資源共用。
Samba的服務組成
1)SMB是samba 的核心啟動服務,主要負責建立Linux samba伺服器與samba客戶機之間的對話, 驗證使用者身份並提供對檔案和列印系統的存取,只有SMB服務啟動,才能實現檔案的共用,監聽139 TCP埠。
2)NMB服務是負責解析用的,類似與DNS實現的功能,NMB可以把Linux系統共用的工作組名稱與其IP對應起來,如果NMB服務沒有啟動,就只能通過IP來存取共用檔案,監聽137和138 UDP埠。
安裝samba服務
yum -y install samba
檢視安裝狀況
rpm -qa | grep samba
2. samba 監聽埠
TCP | UDP |
---|---|
139 | 445 | 137 | 138 |
3. samba 程序
程序 | 對應 |
---|---|
nmbd | 對應 netbios |
smbd | 對應 cifs 協定 |
winbindd + ldap | 對應 Windows AD 活動目錄 |
4. samba 使用者
帳號 | 密碼 |
---|---|
都是系統使用者 /etc/passwd | Samba 服務自有密碼檔案通過 smbpasswd -a USERNAME 命令設定 |
//smbpasswd 命令: -a Sys_User //新增系統使用者為 samba 使用者併為其設定密碼 -d //禁用使用者帳號 -e //啟用使用者帳號 -x //刪除使用者帳號 [root@localhost ~]# yum -y install samba-* [root@localhost ~]# useradd tom [root@localhost ~]# smbpasswd -a tom New SMB password: Retype new SMB password: Added user tom.
5. samba 安全級別
Samba 伺服器的安全級別有三個,分別是 user,server,domain
安全級別 | 作用 |
---|---|
user | 基於原生的驗證 |
server | 由另一臺指定的伺服器對使用者身份進行認證 |
domain | 由域控進行身份驗證 |
6. samba 組態檔
samba 三大組成 | 作用 |
---|---|
[global] | 全域性設定,此處的設定項對整個 samba 伺服器都有效 |
[homes] | 宿主目錄共用設定,此處用來設定 Linux 使用者的預設共用,對應使用者的宿主目錄。 當使用者存取伺服器中與自己使用者名稱同名的共用目錄時,通過驗證後將會自動對映到該使用者的宿主目錄中 |
[printers] | 印表機共用設定 |
7. 常用組態檔引數
引數 | 作用 |
---|---|
workgroup | 表示設定工作組名稱 |
server string | 表示描述 samba 伺服器 |
security | 表示設定安全級別,其值可為 share、user、server、domain |
passdb backend | 表示設定共用帳戶檔案的型別,其值可為 tdbsam(tdb資料庫檔案)、ldapsam(LDAP目錄認證)、smbpasswd(相容舊版本 samba 密碼檔案) |
comment | 表示設定對應共用目錄的註釋,說明資訊,即檔案共用名 |
browseable | 表示設定共用是否可見 |
writable | 表示設定目錄是否可寫 |
path | 表示共用目錄的路徑 |
guest ok | 表示設定是否所有人均可存取共用目錄 |
public | 表示設定是否允許匿名使用者存取 |
write list | 表示設定允許寫的使用者和組,組要用 @ 表示,例如 write list = root,@root |
valid users | 設定可以存取的使用者和組,例如 valid users = root,@root |
hosts deny | 設定拒絕哪臺主機存取,例如 hosts deny = 192.168.10.100 |
hosts allow | 設定允許哪臺主機存取,例如 hosts allow = 192.168.10.200 |
printable | 表示設定是否為印表機 |
#測試組態檔是否有語法錯誤,以及顯示最終生效的設定。使用 testparm 命令 [root@localhost ~]# 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 "[print$]" Loaded services file OK. Server role: ROLE_STANDALONE ......
1. 環境準備
IP | 主機 | 系統 |
---|---|---|
192.168.10.20 | server | CentOS7 |
192.168.10.30 | client | CentOS7 |
systemctl stop firewalld && systemctl disable firewalld setenforce 0 yum -y install ntp && ntpdate ntp.aliyun.com //server hostnamectl set-hostname server su //client hostnamectl set-hostname client su
2. 伺服器端
yum -y install samba-* &> /dev/null systemctl start smb && systemctl enable smb #新增全域性設定 vim /etc/samba/smb.conf ...... [global] workgroup = SAMBA security = user map to guest = Bad User ...... #建立共用資料夾 mkdir -p /opt/yc chmod 777 /opt/yc/ ll /opt/ #設定共用 cat >> /etc/samba/smb.conf << EOF [yc] comment = yc path = /opt/yc browseable = yes guest ok = yes writable = yes public = yes EOF #測試組態檔是否有誤 testparm #重新啟動服務 systemctl restart smb
3. 使用者端
yum -y install samba-* &> /dev/null systemctl start smb && systemctl enable smb #使用者端驗證 smbclient -L 192.168.10.20 -U 'Bad User' #123456 mkdir -p /opt/smb mount -t cifs //192.168.10.20/yc /opt/smb/ -o username='Bad User' df -h #在使用者端上建立共用目錄,檔案 cd /opt/smb/ && touch test && mkdir yanchuang ls
4. 伺服器端上驗證
[root@server ~]#cd /opt/yc [root@server /opt/yc]#ls test yanchuang
同網段 windows 虛擬機器器存取
不同網段 windows 虛擬機器器存取
相關推薦:《Linux視訊教學》
以上就是linux的samba是什麼的詳細內容,更多請關注TW511.COM其它相關文章!