文件共享之Samba
1.Samba基礎知識:
? ? Tridgwell在91年時為解決Linux與window之間文件共享服務,開發出SMB協議與Samba服務程序。
????smb:Service message block消息服務塊;
????CIFS:commom Internet file system,通用網絡文件系統;
????Samba功能:文件共享、打印機共享、NetBIOS協議(Windows基于主機實現互相通信機制,15個字符);
2.Samba服務:
????2.1服務端程序包:通過yum install -y samba;nmbd提供netbios name service ;smbd提供cifs共享;
????????systemd unit file: nmbd→nmb.service
????????????????????????? ?smbd→amb.service
????????客戶端程序包:Samba-client?
????????????????????? smbclient 命令交互工具;
????????????????????? mount -t cifs 實現本地掛載方式;
????2.2啟動服務:systemctl start nmb.service
?????????????????systemctl start nmb.service
????????檢查監聽端口:netsate -utnlp
? ? ? ? 如圖:
? ? ? ??
????2.3Samba配置文件:man smb.conf
????????/etc/samba/smb.conf /etc/samba/sam.conf.example
????????配置段:全局配置[global]、共享配置段[共享資源名稱]
????????2.3.1全局配置
????????????workgroup=MYGROUP; #當前Samba主頁所屬工作組
????????????netbios name = : #當前主機netbios名稱
????????????server string = :#主機注釋
????????????display chaset = :#當前Samba主機服務使用字符集
????????????unix chaset = : #當前Linux主機所用的字符集
????????????dos chaset = : #windos系統字符集
? ? ? ? ? ? log file = /var/log/samba/log.%m #定義日志文件存放位置和命名,%m客戶端hostname命名
????????????max log size =50 :#定義日志文件最大容量50KB
????????????security = user #設定安全級別為user機制????????
????????????????????? ?安全級別有以下3種:
????????????????????????share:匿名共享,安全性差
????????????????????????user:使用Samba服務自我管理的賬號密碼對用戶進行驗證;用戶需為系統用戶;
????????????????????????????? 密碼為訪問Samba服務設定的密碼。
????????????????????????domain:使用DC進行用戶認證
????????????passdb backen = tdbsam #密碼庫文件格式
????????2.32共享配置:
????????????[共享名稱]定義某共享服務名
????????????comment =:#注釋信息
????????????path =:#定義共享文件路徑
????????????browserable =:#是否可瀏覽,是否可被所有用戶看到
????????????writeable =:是否可寫
????????????read only =:是否為只讀
????????????write list =:可以寫操作的用戶列表 :"用戶名"、"@組名"或者"+組名"
????????????public =:是否公開服務
????????????guest OK =:是否允許來賓,與public類似
????????????????注:writable與write list不可同時啟用;
????????2.4檢查配置文件語法:
????????????testparm?/etc/samba/smb.conf
3.管理Samba用戶工具
????????smbpasswd [option] username
????????????-a:add user
????????????-x:delete user
????????????-d:禁用
????????????-e:啟用
????????pdbedit [option]
????????????-L:列出所有用戶
????????????-v:verbose
????????????-a:add user
?????????????????-u username
????????????-x:delete user? -u username
????????????-r:修改用戶信息
?????????smbstatus:顯示Samba server的相關共享訪問狀態
????????????-b:簡要信息
????????????-v:verbose
4.訪問Samba共享:訪問UNC路徑://server/shared_name
? ? Linux:
? ? smbclinet:交互式命令客戶端
? ? mount -t cifs:掛載文件系統
? ? window:\\HOST OR IP\SHARED_DIR
????4.1交互式數據訪問:
?????????smbclient -L HOST -U USERNAME? #獲取到共享信息
?????????smbclint //server/shared_name? [-U username] [-p passwd]? ? ? ? ? ? ??
????4.2基于掛載的方式訪問:
??????????mount -t cifs //SERVER/shared_name? /mount_point -o username=USERNAME,password=PASSWORD
? ? ? ? ? ? ?? 密碼可以交互式輸入:
5.安全共享文件實現
? ????使用Samba安全機制user模式下實現centos7之間以及win7之間文件共享:
? ? ? ? ??創建一個共享data,路徑為/ftp/data,要求僅centos和gentoo能上傳文件, 此路徑對其他用戶不可見:
????5.1設置配置文件的安全機制為user
? ?????? ? ??
????5.2創建共享文件
????????
????5.3創建用戶并授權
????????useradd centos
????????setfacl -m u:centos:rwx /ftp/data
????????添加用戶至Samba服務
????????
????5.4實現文件共享
????????5.4.1linux主機訪問正常,上傳下文件正常
????????????
????? ?5.4.2Linux與win7之間,首先要確保能夠互相通信、iptables以及selinux關閉狀態:
????? ? ? 在Windows資源管理中:\\192.168.1.111便切換至認證界面 :輸入Samba認證的用戶和密碼即可登錄:
????????????
????????共享文件的家目錄:
????????????
????????5.4.3在本地win編輯centos.txt上傳至centos家目錄,在Linux客戶端查看并上傳至共享文件data中:
????????
????????在Linux本地查看:
????????
????????Linux上傳centos.txt至/ftp/data,window訪問正常。
?????
? ? ? ?
轉載于:https://blog.51cto.com/12580678/2128999
總結
以上是生活随笔為你收集整理的文件共享之Samba的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Camera2 拍照(四
- 下一篇: Python sys.stdout sy