如何實現Samba檔案共享服務

安全劍客發表於2020-02-22
目標:實現Samba檔案共享服務 試驗環境:兩臺主機服務端:192.168.56.11客戶端:192.168.56.12

如何實現Samba檔案共享服務如何實現Samba檔案共享服務

配置使用者認證共享
服務端操作:

1.關閉防火牆,關閉selunix

[root@hejie ~]# setenforce 0
[root@hejie ~]# systemctl stop firewalld

2.安裝軟體包

[root@hejie ~]# yum install samba-* -y

3.啟動smb並設定開機自啟

[root@hejie ~]# systemctl start smb
[root@hejie ~]# systemctl enable smb 
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.

關於Samba的配置檔案

[root@hejie ~]# grep -Ev '^#|^$' /etc/samba/smb.conf
[global]                            //全域性引數      
 workgroup = SAMBA    //工作組名稱  非常重要
 security = user              //安全驗證方式,總共四種
                                        //share:無需驗證身份,簡單方便,安全性差
                                        //user:需要驗證使用者密碼才可以訪問,安全性高
                                        //server:需要通過三方伺服器驗證賬號密碼,(集中管理賬戶)
                                        //domain:使用域控制器進行身份驗證      
 passdb backend = tdbsam    //定義使用者後臺的型別,共有三種
                                                //smbpasswd:為系統使用者設定Samba服務程式的密碼
                                                //tdbsam:建立資料庫檔案並使用pdbedit命令建立Samba服務程式的使用者
                                                //ldapsam:基於LDAP服務進行賬戶驗證
 printing = cups                      //設定Samba共享印表機的型別
 printcap name = cups            //設定共享印表機的配置檔案
 load printers = yes                //設定在Samba服務啟動時是否共享印表機裝置
 cups options = raw                //印表機的選項
[homes]                                  //共享引數
 comment = Home Directories    //描述資訊
 valid users = %S, %D%w%S    //允許訪問該共享的使用者
 browseable = No                        //指定共享資訊是否可見
 read only = No
 inherit acls = Yes
[printers]
 comment = All Printers        任意字串
 path = /var/tmp                    共享目錄路徑
 printable = Yes                    
 create mask = 0600            
 browseable = No                  指定該共享是否可以瀏覽
[print$]
 comment = Printer Drivers
 path = /var/lib/samba/drivers
 write list = root                        允許寫入該共享的使用者
 create mask = 0664
 directory mask = 0775

4.新增使用者"zhengran",不建立家目錄,並設定密碼。

[root@hejie ~]# useradd -M zhengran
[root@hejie ~]# smbpasswd -a zhengran
New SMB password:
Retype new SMB password:
Added user zhengran.

假設這裡對映"zhengran"使用者為share使用者,那麼就要在/etc/samba/smbusers檔案中新增如下內容:

[root@hejie ~]# echo 'zhengran = share' > /etc/samba/smbusers

5.在全域性配置中新增如下內容:

[root@hejie ~]# vim /etc/samba/smb.conf
[global]
        workgroup = SAMBA
        security = user
        username map = /etc/samba/smbusers      //新增此行內容
        passdb backend = tdbsam

6.建立一個共享目錄“zhengran”,並更改其屬主屬組為使用者“zhengran”

[root@hejie ~]# mkdir /opt/zhengran
[root@hejie ~]# chown -R zhengran.zhengran /opt/zhengran/
[root@hejie ~]# ll /opt/
total 0
drwxr-xr-x. 2 zhengran zhengran 6 Aug 7 17:22 zhengran

7.配置共享

[root@hejie ~]# cat >> /etc/samba/smb.conf <[zhengran]    //共享名
> comment = zhengranwoaini    //註釋資訊
> path = /opt/zhengran                //共享目錄路徑
> browseable = yes                    //指定該共享是否可以瀏覽
> guest ok = yes                        //指定該共享是否允許guset賬戶訪問
> writable = yes                          //指定目錄是否可寫
> write list = share          //允許寫入該共享的使用者,組要用@表示,例如:
                                                write list = root,@root      
> public = yes                          //是否允許匿名訪問
> EOF

8.用testparm檢查配置檔案是否有語法錯誤,可顯示最終生效的配置

[root@hejie ~]# 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$]"
Processing section "[zhengran]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
 workgroup = SAMBA
 printcap name = cups
 security = USER
 username map = /etc/samba/smbusers
 idmap config * : backend = tdb
 cups options = raw
[homes]
 comment = Home Directories
 browseable = No
 inherit acls = Yes
 read only = No
 valid users = %S %D%w%S
[printers]
 comment = All Printers
 path = /var/tmp
 browseable = No
 printable = Yes
 create mask = 0600
[print$]
 comment = Printer Drivers
 path = /var/lib/samba/drivers
 create mask = 0664
 directory mask = 0775
 write list = root
[zhengran]
 comment = zhengranwoaini
 path = /opt/zhengran
 guest ok = Yes
 read only = No
 write list = share

9.重啟smb

 [root@hejie ~]# systemctl restart smb
客戶端上操作:

1.安裝工具包

 [root@hyj ~]#  yum install samba-client cifs-utils -y

在客戶機檢視samba服務端有哪些共享資源

[root@hyj ~]# smbclient -L 192.168.56.11 -U share
    Enter SAMBA\share's password: 
    Sharename Type Comment
    --------- ---- -------
    print$ Disk Printer Drivers
    zhengran Disk zhengranwoaini
    IPC$ IPC IPC Service (Samba 4.6.2)
    Reconnecting with SMB1 for workgroup listing.
    Server Comment
    --------- -------
    Workgroup Master
    --------- -------

3.建立目錄,並將samba伺服器的共享資源zhengran掛載到客戶機本地

[root@hyj ~]# mkdir /opt/ran
[root@hyj ~]# mount -t cifs //192.168.56.11/zhengran /opt/ran -o username=share,password=123
[root@hyj ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/CentOS-root 17G 1016M 16G 6% /
devtmpfs 982M 0 982M 0% /dev
tmpfs 993M 0 993M 0% /dev/shm
tmpfs 993M 8.5M 984M 1% /run
tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 1014M 125M 890M 13% /boot
tmpfs 199M 0 199M 0% /run/user/0
//192.168.56.11/zhengran 47G 5.4G 42G 12% /opt/ran

4.在客戶機掛載點建立新檔案

[root@hyj ~]# cd /opt/ran/
[root@hyj ran]# touch 1 2 3
[root@hyj ran]# ls
1 2 3

5.在伺服器上驗證

[root@hejie ~]# cd /opt/zhengran/
[root@hejie zhengran]# ls
1 2 3
配置匿名共享
服務端

1.修改配置檔案

[root@hejie ~]# vim /etc/samba/smb.conf
[global]
        workgroup = SAMBA
        security = user
        map to guest = Bad User  //新增此行

2.建立共享目錄

[root@hejie ~]# mkdir /opt/ranran
[root@hejie ~]# chmod 777 /opt/ranran/
[root@hejie ~]# ll /opt/ranran/ -d
drwxrwxrwx. 2 root root 6 Aug 7 19:24 /opt/ranran/

3.配置共享

[root@hejie ~]# cat >> /etc/samba/smb.conf <[ran]
> comment = ranranwoaini
> path = /opt/ranran
> browseable = yes
> writable = yes
> guest ok = yes
> public = yes
> EOF

4.重啟服務

[root@hejie ~]# systemctl restart smb

5.在客戶機上檢視伺服器端有哪些共享資源

[root@hyj ~]# smbclient -L 192.168.56.11 -U 'Bad User'
Enter SAMBA\Bad User's password:    // 這裡直接敲回車,不用輸入密碼
 Sharename Type Comment
 --------- ---- -------
 print$ Disk Printer Drivers
 zhengran Disk zhengranwoaini
 ran Disk ranranwoaini
 IPC$ IPC IPC Service (Samba 4.6.2)
Reconnecting with SMB1 for workgroup listing.
 Server Comment
 --------- -------
 Workgroup Master
 --------- -------

6.將samba伺服器的共享資源ran掛在到客戶機上

[root@hyj ~]# mount -t cifs //192.168.56.11/ran /opt/ran -o username='Bad User'
Password for Bad User@//192.168.56.11/ran:  
[root@hyj ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1016M 16G 6% /
devtmpfs 982M 0 982M 0% /dev
tmpfs 993M 0 993M 0% /dev/shm
tmpfs 993M 8.5M 984M 1% /run
tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 1014M 125M 890M 13% /boot
tmpfs 199M 0 199M 0% /run/user/0
//192.168.56.11/ran 47G 5.4G 42G 12% /opt/ran

7.在客戶機上進入共享目錄建立新檔案

[root@hyj ~]# cd /opt/ran/
[root@hyj ran]# ls
[root@hyj ran]# touch a b c
[root@hyj ran]# ls
a b c

8.在服務端驗證

[root@hejie ~]# cd /opt/ranran/
[root@hejie ranran]# ls
a b c

原文地址: https://www.linuxprobe.com/samba-file-share-2.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2676733/,如需轉載,請註明出處,否則將追究法律責任。

相關文章