Linux_搭建Samba服務(認證訪問)


【RHEL8】—SMBserver;【RHEL7】—SMBclient

!!!測試環境我們首關閉防火牆和selinux(SMBserver和SMBclient都需要)

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@localhost ~]# setenforce 0

關於Samba配置文件的說明,訪問:https://www.cnblogs.com/520qiangge/p/13413414.html

一、Samba服務端配置

1、查看一下服務端IP

[root@SMBserver ~]# ifconfig 
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.174.128  netmask 255.255.255.0  broadcast 192.168.174.255
        inet6 fe80::fa13:32e0:3b9f:2196  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:cd:6a:1b  txqueuelen 1000  (Ethernet)
        RX packets 1109  bytes 92293 (90.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 658  bytes 77689 (75.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 88  bytes 7600 (7.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 88  bytes 7600 (7.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2、SMBserver安裝Samba服務,並設置開機自啟

[root@SMBserver ~]# yum install -y samba
[root@SMBserver ~]# rpm -qa samba
samba-4.10.4-1.el8.x86_64
[root@SMBserver ~]# systemctl start smb nmb
[root@SMBserver ~]# systemctl enable smb nmb
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/nmb.service → /usr/lib/systemd/system/nmb.service.

3、查看端口是否監聽

[root@SMBserver ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1083/sshd           
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      18363/smbd          
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      18363/smbd          
tcp6       0      0 :::22                   :::*                    LISTEN      1083/sshd           
tcp6       0      0 :::445                  :::*                    LISTEN      18363/smbd          
tcp6       0      0 :::139                  :::*                    LISTEN      18363/smbd          
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1588/dhclient       
udp        0      0 192.168.174.255:137     0.0.0.0:*                           18367/nmbd          
udp        0      0 192.168.174.128:137     0.0.0.0:*                           18367/nmbd          
udp        0      0 0.0.0.0:137             0.0.0.0:*                           18367/nmbd          
udp        0      0 192.168.174.255:138     0.0.0.0:*                           18367/nmbd          
udp        0      0 192.168.174.128:138     0.0.0.0:*                           18367/nmbd          
udp        0      0 0.0.0.0:138             0.0.0.0:*                           18367/nmbd       

4、創建認證用戶(zhangsan),並為zhangsan用戶創建smb共享密碼

[root@SMBserver ~]# useradd -M zhangsan
[root@SMBserver ~]# id zhangsan
uid=1000(zhangsan) gid=1000(zhangsan) 組=1000(zhangsan)
[root@SMBserver ~]# smbpasswd -a zhangsan
New SMB password:             //這里我設置密碼123456
Retype new SMB password:
Added user zhangsan.

5、創建共享資源,並給予完全共享的(給全部的權限)

[root@SMBserver ~]# mkdir -p /sambadir/share
[root@SMBserver ~]# chmod 777 /sambadir/share/
[root@SMBserver ~]# ll /sambadir/
總用量 0
drwxrwxrwx. 2 root root 6 8月   1 15:28 share

6、編輯配置文件

[root@SMBserver ~]# vim /etc/samba/smb.conf
[root@SMBserver ~]# cat /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
	workgroup = SAMBA
	security = user
	passdb backend = tdbsam
	printing = cups
	printcap name = cups
	load printers = yes
	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 = @printadmin root
	force group = @printadmin
	create mask = 0664
	directory mask = 0775

[share]
	comment = my first samba-file
	path = /sambadir/share
	browseable = yes
	public = yes
	writeable = yes
	write list = zhangsan         //添加這句,允許zhangsan 用戶訪問該文件目錄

7、測試smb.conf文件語法是否錯誤

[root@SMBserver ~]# testparm 
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions
 //這里提示這樣的信息,叫你回車就會顯示剛剛寫的配置文件的內容,就代表沒有語法錯誤,我就沒回車了,節省時間

8、重啟smb,nmb服務

[root@SMBserver ~]# systemctl restart smb
[root@SMBserver ~]# systemctl restart nmb
[root@SMBserver ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1083/sshd           
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      24451/smbd          
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      24451/smbd          
tcp6       0      0 :::22                   :::*                    LISTEN      1083/sshd           
tcp6       0      0 :::445                  :::*                    LISTEN      24451/smbd          
tcp6       0      0 :::139                  :::*                    LISTEN      24451/smbd          
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1588/dhclient       
udp        0      0 192.168.174.255:137     0.0.0.0:*                           24462/nmbd          
udp        0      0 192.168.174.128:137     0.0.0.0:*                           24462/nmbd          
udp        0      0 0.0.0.0:137             0.0.0.0:*                           24462/nmbd          
udp        0      0 192.168.174.255:138     0.0.0.0:*                           24462/nmbd          
udp        0      0 192.168.174.128:138     0.0.0.0:*                           24462/nmbd          
udp        0      0 0.0.0.0:138             0.0.0.0:*                           24462/nmbd          

到這認證訪問的服務端就配置完成

二、配置客戶端

1、SMBclient查看是否有安裝samba-client,cifs-utils軟件包

[root@smbclient ~]# yum info samba-client cifs-utils
已加載插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
可安裝的軟件包
名稱    :cifs-utils
架構    :x86_64
版本    :6.2
發布    :10.el7
大小    :85 k
源    :dvd
簡介    : Utilities for mounting and managing CIFS mounts
網址    :http://linux-cifs.samba.org/cifs-utils/
協議    : GPLv3
描述    : The SMB/CIFS protocol is a standard file sharing protocol widely deployed
         : on Microsoft Windows machines. This package contains tools for mounting
         : shares on Linux using the SMB/CIFS protocol. The tools in this package
         : work in conjunction with support in the kernel to allow one to mount a
         : SMB/CIFS share onto a client and use it as if it were a standard Linux
         : file system.

名稱    :samba-client
架構    :x86_64
版本    :4.6.2
發布    :8.el7
大小    :597 k
源    :dvd
簡介    : Samba client programs
網址    :http://www.samba.org/
協議    : GPLv3+ and LGPLv3+
描述    : The samba-client package provides some SMB/CIFS clients to complement
         : the built-in SMB/CIFS filesystem in Linux. These clients allow access
         : of SMB/CIFS shares and printing to SMB/CIFS printers.

2、安裝samba-client,cifs-utils軟件包

[root@smbclient ~]# yum install -y samba-client cifs-utils
[root@smbclient ~]# rpm -qa samba-client cifs-utils
cifs-utils-6.2-10.el7.x86_64
samba-client-4.6.2-8.el7.x86_64

3、客戶端以zhangsan用戶身份查看samba服務器有哪些共享資源

[root@smbclient ~]# smbclient -L //192.168.174.128 -U zhangsan
Enter SAMBA\zhangsan's password:               //輸入剛剛給zhangsan用戶創建的smb共享密碼
Domain=[SMBSERVER] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	share           Disk      my first samba-file
	IPC$            IPC       IPC Service (Samba 4.10.4)
	zhangsan        Disk      Home Directories
Domain=[SMBSERVER] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	SAMBA                SMBSERVER

4、客戶端創建掛載目錄

[root@smbclient ~]# mkdir /smbdir

5、客戶端以zhangsan用戶身份掛載服務端共享的資源目錄

[root@smbclient ~]# mount.cifs -o username=zhangsan,password=123456 //192.168.174.128/share /smbdir/
 //這里不需要輸入密碼

如果密碼錯誤會會提示報錯
錯誤示例:
[root@smbclient ~]# mount.cifs -o username=zhangsan,password=123 //192.168.174.128/share /smbdir/
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
 //這里就會顯示拒絕訪問

6、查看是否掛載成功

[root@smbclient ~]# df -h
文件系統                 容量  已用  可用 已用% 掛載點
/dev/mapper/rhel-root     50G  1.1G   49G    3% /
devtmpfs                 901M     0  901M    0% /dev
tmpfs                    912M     0  912M    0% /dev/shm
tmpfs                    912M  8.7M  904M    1% /run
tmpfs                    912M     0  912M    0% /sys/fs/cgroup
/dev/sr0                 3.8G  3.8G     0  100% /mnt
/dev/mapper/rhel-home     27G   33M   27G    1% /home
/dev/sda1               1014M  143M  872M   15% /boot
tmpfs                    183M     0  183M    0% /run/user/0
//192.168.174.128/share   50G  2.0G   49G    4% /smbdir
 //最后一行說明掛載成功

三、測試

1、首先在客戶端創建兩個文件,然后在服務端查看

//SMBclient
[root@smbclient ~]# cd /smbdir/
[root@smbclient smbdir]# ls
[root@smbclient smbdir]# touch {file1,file2}
[root@smbclient smbdir]# ls
file1  file2

//SMBserver
[root@SMBserver ~]# cd /sambadir/share/
[root@SMBserver share]# ls
file1  file2

2、在windows的資源管理器上登錄

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM