在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 使用者
#帳號 | #密碼 |
---|---|
|
smbpasswd -a USERNAME | 指令設定|
---|---|
5. samba 安全等級 | |
Samba 伺服器的安全等級有三個,分別是user,server,domain | |
安全等級 |
server#由另一台指定的伺服器對使用者身分進行認證
#先前的samba 版本支援的安全性等級有四個,分別是 | |
---|---|
/etc/samba/smb.conf(主配置文件) | |
samba 三大組成 |
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是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!