【N25第十三周作業】samba配置詳解和安裝

samba:
  功能:
    文件系統共享:類unix系統和windows系統之前文件系統共享
    打印機共享;
    NetBIOS協議;

  服務端程序包:samba
    nmbd:NetBIOS name server
    smbd:SMB/CIFS services
  主配置文件:/etc/samba/smb.conf

  systemd unit file:
    nmbd:nmb.service
    smbd:smb.service

  客戶端程序包:samba-client
    smbclient:交互式的命令行客戶端;
    mount -t cifs:

  監聽端口:137/upd,138/udp,139/tcp,445/tcp

samba配置:smb.conf
兩類配置段:
  全局配置:[global]
    每共享的專用配置:[共享資源的共享名稱]

    directive = value

  全局配置:
    workgroup = 
        當前samba主機所屬工作組
    netbios name = 
        當前samba主機的netbios名稱
    server string = 
        主機注釋
    display charset = 
        當前samba服務器所用字符集
    unix charset = 
        當前linux主機所用的字符集
    dos charset = 
        windows端的字符集
    interfaces = 
        samba服務監聽的IP地址或網絡接口
    hosts allow = 
        客戶端來源白名單

    log file = /var/log/samba/log.%m
        日志存放位置
    max log size = 50
        日志文件大小上限,單位KB

standalone server options
    security = user
        設定安全級別,取值以下三者之一
            share:匿名共享
            user:使用samba服務自我管理的帳號和密碼進行認證,用戶必須是OS用戶,
            密碼是訪問samba的專用密碼
            domain:使用DC進程認證,
    passdb backend = tdbsam
        密碼庫文件的格式

共享配置:
[共享名稱]:此幾位某共享服務名
    comment:注釋信息
    path:此共享對應本地文件系統路徑
    browseable:是否可瀏覽,是否可被所有用戶看到
    writable:是否可寫
    read only:是否為只讀
    writelist:可寫用戶或組列表
        用戶名
        @組名
        +組名
    guest ok :是否允許匿名訪問
    public:是否是公開的服務

注意:writable和writelist不應該同時使用

可用的宏列表:    
    %m:客戶端主機的NetBIOS名稱    
    %M:客戶端的Internet主機名,即HOSTNAME    
    %H:當前用戶的家目錄    
    %U:當前用戶的用戶名    
    %g:當前用戶所屬的組名    
    %h:當前SAMBA主機的HOSTNAME    
    %I:客戶端主機IP    
    %T:當前的日期時間

交互式訪問:
    #smbclient -L SABMA_SERVER -U USERNAME
    #smbclient //SAMBA_SERVER/SERVER_NAME -U USERNAME

掛在訪問方式:
    mount -t cifs -o username=USERNAME,password=PASSWD  //SAMBA_SERVER/SHARED /MOUNT_DIR
    
例子:
[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No
[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes
        
將系統用戶添加為samba用戶:
     [option] USERNAME
        -a:添加        
        -x:刪除        
        -d:禁用        
        -e:啟用訪問samba共享:
    unix:
        smbclient:交互式命令行客戶端
        mount -t cifs:掛在文件系統
    windows:        
            //HOST OR IP/SHARED_DIR
            
      命令:類似smbpasswd,用戶管理smb用戶
    pdbedit [option]:
        -L:列出所有的smb用戶        
        -v:verbose        
        -a:添加用戶        
        -u USERNAME        
        -x:刪除指定用戶        
        -r:修改用戶的粗信息
        
    命令:
    顯示samba server的相關共享的訪問狀態
        -b:顯示簡要格式信息        
        -v:顯示詳細格式信息

安裝samba配置要求:

1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)
  1)共享名為shared,工作組為magedu;
  2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,
  ubuntu不屬于develop組;密碼均為用戶名;
  3)添加samba用戶gentoo,centos和ubuntu,密碼均為“mageedu”;
  4)此samba共享shared僅允許develop組具有寫權限,其他用戶只能以只讀方式訪問;
  5)此samba共享服務僅允許來自于172.16.0.0/16網絡的主機訪問;

安裝步驟如下:

yum info samba.x86_64      #查看samba包的信息
yum -y install samba.x86_64   #安裝samba服務
rpm -ql samba       #查看samba安裝后的文件
groupadd develop    #添加develop組
useradd  -G develop gentoo      #添加gentoo用戶并給它指定附加組develop
useradd  -G develop centos      #添加centos用戶并給它指定附加組develop
useradd ubuntu                  #添加ubuntu用戶
echo "gentoo" | passwd --stdin gentoo   #添加密碼
echo "centos" | passwd --stdin centos
echo "ubuntu" | passwd --stdin ubuntu
smbpasswd -a centos    #為samba服務添加centos用戶,此處需要輸入密碼我設置為centos
smbpasswd -a gentoo  #此處需要輸入密碼我設置為gentoo
smbpasswd -a ubuntu #此處需要輸入密碼我設置為ubuntu
mkdir /data     #建分享目錄
chmod g+w /data #修改分享目錄的組寫權限
chown :develop /data    #修改分享目錄的數組
ls -dl /data/       #確認修改是否成功

vim /etc/samba/smb.conf     #在配置文件中添加分享配置
全局配置添加如下
[global]
        workgroup = magedu        
        server string = Samba Server Version %v
        netbios name = MYSERVER        
        hosts allow = 192.168.0.0/16
分享目錄配置如下
[shared]        
                comment = data
        path = /data
        public = no
        valid users = gentoo centos ubuntu @develop
        write list = @develop        
        read list =  ubuntu
        writable = yes
        printable = no
        
systemctl stop firewalld.service    #關閉防火墻
setenforce 0        #關閉selinux
getenforce          #查看關閉情況
systemctl start smb.service     #啟動smb服務
systemctl start nmb.service     #啟動nmb服務


連接需要安裝samba的客戶端smbclient和一些依賴的包,不然會報錯
[root@localhost ~]# smbclient -L 192.168.1.110 -U gentoo
smbclient: relocation error: /lib64/libsamba-credentials.so.0: 
symbol GSS_KRB5_CRED_NO_CI_FLAGS_X, version gssapi_krb5_2_MIT not 
defined in file libgssapi_krb5.so.2 with link time reference

yum -y install samba-client     #安裝samba客戶端
yum install krb5-devel krb5-libs pam_krb5 krb5-workstation -y   #安裝客戶端依賴的相關包
systemctl stop firewalld.service    #關閉防火墻
setenforce 0            #關閉selinux
getenforce              #查看關閉情況
smbclient -L 192.168.1.110 -U gentoo        #檢測
smbclient //192.168.1.110/shared -U gentoo  #交互式連接server端并指定用戶

[root@localhost ~]# smbclient //192.168.1.110/shared -U gentoo
Enter gentoo's password: 
Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> ls
  .          D        0  Fri Dec 16 06:36:41 2016
  ..         DR        0  Fri Dec 16 06:36:41 2016

		52403200 blocks of size 1024. 50839544 blocks available
smb: \> 
smb: \> mkdir gentoo
smb: \> ls
  .      D        0  Fri Dec 16 07:02:02 2016
  ..     DR        0  Fri Dec 16 06:36:41 2016
  gentoo    D        0  Fri Dec 16 07:02:02 2016

		52403200 blocks of size 1024. 50839580 blocks available
smb: \> lcd /etc
smb: \> put fstab 
putting file fstab as \fstab (176.1 kb/s) (average 176.1 kb/s)
smb: \> ls
  .      D        0  Fri Dec 16 07:02:20 2016
  ..     DR        0  Fri Dec 16 06:36:41 2016
  gentoo   D        0  Fri Dec 16 07:02:02 2016
  fstab   A      541  Fri Dec 16 07:02:20 2016

		52403200 blocks of size 1024. 50839888 blocks available
smb: \> exit
[root@localhost ~]# smbclient //192.168.1.110/shared -U ubuntu
Enter ubuntu's password: 
Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> ls
  .    D        0  Fri Dec 16 07:02:20 2016
  ..   DR        0  Fri Dec 16 06:36:41 2016
  gentoo  D        0  Fri Dec 16 07:02:02 2016
  fstab  A      541  Fri Dec 16 07:02:20 2016

		52403200 blocks of size 1024. 50839420 blocks available
smb: \> mkdir ubuntu    #ubuntu不在組中沒有寫權限
NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \ubuntu


mount -t cifs -o username=centos,passwd=centos  //192.168.1.110/data   /data


先關閉電腦的防火墻
在文件路徑中輸入    \\192.168.1.110
然后用gentoo登錄:
登錄后創建文件111.txt到服務器上目錄中查看
[root@localhost data]# ls
111.txt  fstab  gentoo

原創文章,作者:sheng,如若轉載,請注明出處:http://www.www58058.com/64034

(0)
shengsheng
上一篇 2016-12-18 16:02
下一篇 2016-12-18 16:53

相關推薦

  • 搭建簡單的ftp和http

    搭建簡單的ftp和http 我們主要嘗試光盤和編譯兩種方式安裝 ftp 首先我們先安裝ftp ftp可以用來做文件傳輸,也可以搭建ftp作為我我們的網絡yum源 首先我們要先把鏡像連接到我們的Linux中 進入/etc/yum.repos.d/創建一個.repo結尾的文件,在里面配置自己的yum源 [base] baseurl=file:///misc/cd…

    2017-06-15
  • LVS類型及其調度算法

    LVS類型:     NAT:–>(DNAT) (多目標的DNAT)     DR:     TUN:     FULLNAT: LVS NAT的特性  &nbs…

    Linux干貨 2016-10-29
  • HAProxy

    LB Cluster: 四層:lvs, nginx(stream),haproxy(mode tcp) 七層:http: nginx(http, ngx_http_upstream_module), haproxy(mode http), httpd, ats, perlbal, pound… HAProxy 程序環境: 主程序:/usr/sbi…

    Linux干貨 2017-07-03
  • 分區塊基本知識點及側重點 — 上

        我們需要熟練了解磁盤分區原理。元數據及塊設備對應inode是最重要也是最基本的原理。后面分區很多地方都和inode有關系。    一個磁盤片有63扇區,1024存儲位,256個磁頭,每個扇區只有前512字節是有效存儲單元。所以后面磁盤清零都是跟512這個數字有關。    數據分數據區和元數據…

    Linux干貨 2016-08-24
  • N25-第九周

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash #統計shell及非shell個數 #author:dodo declare -i loginnum=0 declare -i nologinnum=0 while…

    Linux干貨 2017-05-27
  • N25-第九周作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別統計這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash     echo “可登錄類型有有$(awk -F: ‘/[^\<nologin\>…

    Linux干貨 2017-03-11
欧美性久久久久