Linux服務篇之SAMBA文件共享第一篇
SAMBA服務簡介
- SMB:Server Message Block ,大意為服務器消息模塊
- 由IBM公司發布,在最早出現的網絡文件共享協議是DOS網絡文件共享協議
- Cifs:大意為common internet file system ,是微軟基于SMB發布的變種SMB
- SAMBA實現是,1991年Andrew Tridgell,是由伯克利大學的大學生,研發出來,他用用意是為了Windows和UNix相通數據
- SAMBA的功能
- 共享文件和打印,實現在線編輯
- 實現登錄SAMBA用戶的身份驗證
- 可以進行NetBIOS名稱解析
- 外圍設備共享
- 計算機網絡管理模式:
- 工作組 WORKGROUP :計算機對等關系,帳號信息各自管理
- 域 DOMAIN:C/S 結構,帳號信息集中管理, DC,AD
SAMBA 介紹
- 相關包:
- Samba 提供 smb 服務
- Samba-client 客戶端軟件
- samba-common 通用軟件
- cifs-utils smb 客戶端工具
- 相關服務進程:
- smbd 提供 smb ( cifs )服務 TCP:139,445
- nmbd NetBIOS 名稱解析 UDP:137,138
- 主配置文件: /etc/samba/smb.conf
- 語法檢查: testparm [-v] [/etc/samba/smb.conf]
- 客戶端工具: smbclient,mount.cifs
SAMBA 服務器配置
- smb.conf 繼承了 .ini 文件的格式,用 [ ] 分成不同的部分
- 全局設置:
- 特定共享設置:
- [homes] 用戶的家目錄共享
- [printers] 定義打印機資源和服務
- [sharename] 自定義的共享目錄配置
- 其中: # 和 ; 開頭的語句為注釋,大小寫不敏感
- 宏定義:
- %m 客戶端主機的 NetBIOS 名 %M 客戶端主機的 FQDN
- %H 當前用戶家目錄路徑 %U 當前用戶用戶名
- %g 當前用戶所屬組 %h samba 服務器的主機名
- %L samba 服務器的 NetBIOS 名 %I 客戶端主機的 IP
- %T 當前日期和時間 %S 可登錄的用戶名
- workgroup 指定工作組名稱
- server string 主機注釋信息
- netbios name 指定 NetBIOS 名
- interfaces 指定服務偵聽接口和 IP
- hosts allow 可用“ ,” ,空格,或 tab 分隔,默認允許所有主機訪問,也
- 可在每個共享獨立配置,如在 [global] 設置,將應用并覆蓋所有共享設置
- IPv4 network/prefix: 172.25.0.0/24 IPv4 前綴 : 172.25.0.
- IPv4 network/netmask: 172.25.0.0/255.255.255.0
- 主機名 : desktop.example.com
- 以 example.com 后綴的主機名 : .example.com
- 示例:
- hosts allow = 172.25.
- hosts allow = 172.25. .example.com
- hosts deny 拒絕指定主機訪問
SAMBA 服務器全局配置
- Log file=/var/log/samba/log.%m 不同客戶機采用不同日志
- max log size=50 日志文件達到 50K ,將輪循 rotate, 單位 KB
- Security 三種認證方式:
- share :匿名 (CentOS7 不再支持 )
- user : samba 用戶(采有 linux 用戶, samba 的獨立口令)
- domain: 使用 DC ( DOMAIN CONTROLLER) 認證
- passdb backend = tdbsam 密碼數據庫格式
- 實現 samba 用戶:
- 包: samba-common-tools
- 工具: smbpasswd pdbedit
- samba 用戶須是 Linux 用戶,建議使用 /sbin/nologin
管理 SAMBA 用戶
- 添加 samba 用戶
- smbpasswd -a
<user>
- pdbedit -a -u
<user>
- 修改用戶密碼
- 刪除用戶和密碼:
- smbpasswd –x
<user>
- pdbedit –x –u
<user>
- 查看 samba 用戶列表:/var/lib/samba/private/passdb.tdb
- 查看 samba 服務器狀態: smbstatus
配置目錄共享
- 每個共享目錄應該有獨立的 [ ] 部分
- [ 共享名稱 ] 遠程網絡看到的共享名稱
- comment 注釋信息
- path 所共享的目錄路徑
- public 能否被 guest 訪問的共享,和 guest ok 類似
- browsable 是否允許所有用戶瀏覽此共享 , 默認為 yes,no 為隱藏
- writable=yes 可以被所有用戶讀寫,默認為 no
- read only=no 和 writable=yes 等價,如與以上設置沖突,放在后面的設置生效
- write list 三種形式:用戶, @ 組名, + 組名 , 用,分隔如 writable=no ,列表中用戶或組可讀寫,不在列表中用戶只讀
- valid users 特定用戶才能訪問該共享,如為空,將允許所有用戶,用戶名之間用空格分隔
SAMBA搭建
- 首先測試
yum
源是否通,執行命令yumrepolist
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
bash | 4.0 kB 00:00
repo id repo name status
bash linux 6,706
epel epel 12,355
repolist: 19,061
[root@localhost ~]# yum install samba -y
- 接下來創建SAMBA系統用戶,執行命令
useradd -s /sbin/nologin smb1
,smb1
隨便指定,但是添加的時候一定要同名
[root@localhost ~]# useradd -s /sbin/nologin smb1
- 在來添加成SAMBA用戶,執行命令
smbpasswd -a smb1
來添加,如果不加-a
那就是修改密碼了,而且添加的同時必須和你的系統賬號同名
[root@localhost ~]# smbpasswd -a smb1
- 添加完成以后執行
pdbedit -L
來查詢是否添加成功
[root@localhost ~]# pdbedit -L
smb1:501:
- 添加完成以后,就可以啟動服務了執行命令
service smb start
- service smb start:是啟動
- service smb restart:重啟服務
- 啟動完畢以后用
iptables -F
,清除防火墻
[root@localhost ~]# iptables -F
- OK以后你就可以去你的Windows鏈接你SAMBA了
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。