第5章 Samba或NFS文件共享服务-5.1 Samba文件共享服务

1 .安装和配置主配置文件

Samba服务现在已经成为在Linux系统与Windows系统之间共享文件的最佳选择之一。通过软件仓库来安装Samba服务程序及用于测试共享目录的客户端程序samba-client。

[root@dsrw ~]# dnf install samba samba-client
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
上次元数据过期检查:23:18:03 前,执行于 2022年12月19日 星期一 23时07分22秒。
依赖关系解决。
================================================================================
 软件包                    架构          版本               仓库           大小
================================================================================
Installing:
 samba                     x86_64        4.9.1-8.el8        BaseOS        708 k
 samba-client              x86_64        4.9.1-8.el8        BaseOS        636 k
安装依赖关系:
 samba-common-tools        x86_64        4.9.1-8.el8        BaseOS        461 k
 samba-libs                x86_64        4.9.1-8.el8        BaseOS        177 k

事务概要
================================================================================
安装  4 软件包

总计:1.9 M
安装大小:5.6 M
确定吗?[y/N]: y
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中      :                                                             1/1 
  Installing  : samba-libs-4.9.1-8.el8.x86_64                               1/4 
  运行脚本    : samba-libs-4.9.1-8.el8.x86_64                               1/4 
  Installing  : samba-common-tools-4.9.1-8.el8.x86_64                       2/4 
  Installing  : samba-4.9.1-8.el8.x86_64                                    3/4 
  运行脚本    : samba-4.9.1-8.el8.x86_64                                    3/4 
  Installing  : samba-client-4.9.1-8.el8.x86_64                             4/4 
  运行脚本    : samba-client-4.9.1-8.el8.x86_64                             4/4 
  验证        : samba-4.9.1-8.el8.x86_64                                    1/4 
  验证        : samba-client-4.9.1-8.el8.x86_64                             2/4 
  验证        : samba-common-tools-4.9.1-8.el8.x86_64                       3/4 
  验证        : samba-libs-4.9.1-8.el8.x86_64                               4/4 
Installed products updated.

已安装:
  samba-4.9.1-8.el8.x86_64                  samba-client-4.9.1-8.el8.x86_64    
  samba-common-tools-4.9.1-8.el8.x86_64     samba-libs-4.9.1-8.el8.x86_64      
完毕!

2.配置Samba服务程序的主配置文件,重启smb服务,并加入启动项

[root@dsrw ~]# vim /etc/samba/smb.conf
[global]
           workgroup = SAMBA
           security = user
           passdb backend  = tdbsam
[database]
           comment = Do not arbitrarily modify the database file
           path = /home/database
           public = no
           writable = yes
[root@dsrw ~]# systemctl restart smb
[root@dsrw ~]# systemctl enable smb
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.

3.安全验证的方式

share: 代表主机无须验证密码 。 这相当于 vsftpd 服务的匿名公开访 问模式,比较方便,但安全性很差 。

user: 代表登录 Samba 服务时需要使用账号密码进行验证,通过后才能获取到文件 。这是默认的验证方式,最为常用 。

domain :代表通过域控制器进行身份验证,用来限制用户的来源域 。

server: 代表使用独立主机验证来访用户提供的 密码。 这相当于集中管理账号,并不常用。

4.创建用于访问共享资源的账户信息。

pdbedit命令用于管理Samba服务程序的账户信息数据库,格式为“pdbedit [选项]账户”。在第一次把账户信息写入到数据库时需要使用-a参数。
pdbedit命令的参数以及作用
-a 用户名 :建立Samba 用户
-x 用户名 :删除Samba 用户
-L:列出用户列表
-Lv:列出用户详细信息的列表
[root@dsrw ~]# id dsrw
uid=1000(dsrw) gid=1000(dsrw) 组=1000(dsrw)
[root@dsrw ~]# pdbedit -a -u dsrw
new password:
retype new password:
Unix username:        dsrw
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-3714332392-812522642-1121984970-1000
Primary Group SID:    S-1-5-21-3714332392-812522642-1121984970-513
Full Name:            dsrw
Home Directory:       \\dsrw\dsrw
HomeDir Drive:        
Logon Script:         
Profile Path:         \\dsrw\dsrw\profile
Domain:               DSRW
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    二, 20 12月 2022 23:02:20 CST
Password can change:  二, 20 12月 2022 23:02:20 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

5.创建用于共享资源的文件目录,设置权限、SELinux安全上下文、SELinux域策略。

[root@dsrw ~]# mkdir /home/database
[root@dsrw ~]# chown -Rf dsrw:dsrw /home/database
[root@dsrw ~]# semanage fcontext -a -t samba_share_t /home/database
[root@dsrw ~]# restorecon -Rv /home/database
Relabeled /home/database from unconfined_u:object_r:user_home_dir_t:s0 to unconfined_u:object_r:samba_share_t:s0
[root@dsrw ~]# setsebool -P samba_enable_home_dirs on
[root@dsrw ~]# getsebool -a|grep samba
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> on
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_load_libgfapi --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
tmpreaper_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off

6.清空iptables防火墙,把Samba服务添加到firewalld防火墙中。

[root@dsrw ~]# iptables -F
[root@dsrw ~]# iptables-save
# Generated by xtables-save v1.8.2 on Tue Dec 20 23:17:05 2022
*filter
:INPUT ACCEPT [133:13875]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [70:7328]
COMMIT
# Completed on Tue Dec 20 23:17:05 2022
# Generated by xtables-save v1.8.2 on Tue Dec 20 23:17:05 2022
*security
:INPUT ACCEPT [5:206]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [70:7328]
COMMIT
# Completed on Tue Dec 20 23:17:05 2022
# Generated by xtables-save v1.8.2 on Tue Dec 20 23:17:05 2022
*raw
:PREROUTING ACCEPT [245:25278]
:OUTPUT ACCEPT [70:7328]
COMMIT
# Completed on Tue Dec 20 23:17:05 2022
# Generated by xtables-save v1.8.2 on Tue Dec 20 23:17:05 2022
*mangle
:PREROUTING ACCEPT [245:25278]
:INPUT ACCEPT [133:13875]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [70:7328]
:POSTROUTING ACCEPT [104:12354]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Completed on Tue Dec 20 23:17:05 2022
# Generated by xtables-save v1.8.2 on Tue Dec 20 23:17:05 2022
*nat
:PREROUTING ACCEPT [191:17424]
:INPUT ACCEPT [3:138]
:POSTROUTING ACCEPT [25:2702]
:OUTPUT ACCEPT [25:2702]
-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
COMMIT
# Completed on Tue Dec 20 23:17:05 2022
# Table `firewalld' is incompatible, use 'nft' tool.
[root@dsrw ~]# firewall-cmd --zone=public --permanent --add-service=samba
success
[root@dsrw ~]# firewall-cmd --reload 
success

7.查看服务器是否启动了Samba服务

[root@dsrw ~]# systemctl status smb
● smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-12-20 23:11:55 CST; 8min ago

8.在samba服务器的/etc/hosts文件中添加本机解析,查看Samba服务都共享了哪些目录。

[root@dsrw ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.2 dsrw.com

[root@dsrw ~]# smbclient -U dsrw -L 192.168.10.2
Enter SAMBA\dsrw's password: 

	Sharename       Type      Comment
	---------       ----      -------
	database        Disk      Do not arbitrarily modify the database file
	IPC$            IPC       IPC Service (Samba 4.9.1)
Reconnecting with SMB1 for workgroup listing.

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

	Workgroup            Master
	---------            -------
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称

    请登录后查看评论内容