【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
下一篇 2016-12-18

相關推薦

  • Linux進程及作業控制

    inux進程 進程的概念 當一個系統啟動時,剛開機是第一個運行的是內核代碼!先把內核放到cpu上運行,等內核控制和掌管了一切,有內核啟動進程!然后創建第一個進程 init進程  內核空間 用戶空間也都已被創建成功!后期的一切管理工作都由init來負責 init不能代表系統完成一些內核特權的執行!但由他負責向內核提交 他…

    Linux干貨 2016-09-10
  • Linux系統操作練習-2

    1、顯示當前系統上root、fedora或user1用戶的默認shell: 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello(): 3、使用echo命令輸出一個絕對路徑,使用grep取出基名;擴展:取出路徑名: 擴展: 4、找出ifconfig命令結果中的1-255之間的數字: 5、挑戰題:寫一個…

    2017-11-25
  • 新的旅途

    三月末的北京已經讓人感覺有些炎熱,這是我第一次來北京。對我而言這是我人生的另一個起點,押上了我所有驕傲承載著我的夢想對未來所有的期望。這是一場豪賭,新的旅途,從今天開始。

    2018-03-26
  • 字符串處理

      一.字符串處理 v bash 的字符串處理工具: (一)字符串切片: ${#var}: 返回字符串變量var 的長度 例: [root@lxc ~]# a="     " [root@lxc ~]# echo ${#a} 5 [root@lxc ~]# ${var:offse…

    Linux干貨 2016-11-24
  • 網絡的冰山一角

        這周我們學習了網絡管理,每一天進度特別快,上課認真聽了,但是感覺也只能聽懂一半。所以我決定把網絡管理作為這周博客寫一寫,這樣相當于又復習了一邊,能加深印象。 一、用戶應用程序對網絡的影響     1、批處理應用程序:無需直接人工交互,寬帶很重要,但是并非關鍵性因素。 &n…

    2017-09-04
  • Linux Basic–磁盤分區

    附件: 磁盤管理相關方法.pdf

    Linux干貨 2016-11-21
欧美性久久久久