一 SAMBA文件共享服务
1 安装软件包
samba是服务端 samba-client是客户端
dnf install -y samba samba-client
2 修改配置文件,删除不必要的配置
vim /etc/samba/smb.conf
只留下
1 [global]
2 workgroup = SAMBA
3 security = user
4 passdb backend = tdbsam
Samba服务程序中的参数以及作用
行数 参数 作用
1 # See smb.conf.example for a more detailed config file or 注释信息
2 # read the smb.conf manpage.
3 # Run 'testparm' to verify the config is correct after
4 # you modified it.
5 [global] 全局参数
6 workgroup = SAMBA 工作组名称
7
8 security = user 安全验证的方式,总共有4种
9
10 passdb backend = tdbsam 定义用户后台的类型,总共有3种
11
12 printing = cups 打印服务协议
13 printcap name = cups 打印服务名称
14 load printers = yes 是否加载打印机
15 cups options = raw 打印机的选项
16
17 [homes] 共享名称
18 comment = Home Directories 描述信息
19 valid users = %S, %D%w%S 可用账户
20 browseable = No 指定共享信息是否在“网上邻居”中可见
21 read only = No 是否只读
22 inherit acls = Yes 是否继承访问控制列表
23
24 [printers] 共享名称
25 comment = All Printers 描述信息
26 path = /var/tmp 共享路径
27 printable = Yes 是否可打印
28 create mask = 0600 文件权限
29 browseable = No 指定共享信息是否在“网上邻居”中可见
30
31 [print$] 共享名称
32 comment = Printer Drivers 描述信息
33 path = /var/lib/samba/drivers 共享路径
34 write list = @printadmin root 可写入文件的用户列表
35 force group = @printadmin 用户组列表
36 create mask = 0664 文件权限
37 directory mask = 0775 目录权限
security参数代表用户登录Samba服务时采用的验证方式。总共有4种可用参数
share:代表主机无须验证密码。这相当于vsftpd服务的匿名公开访问模式,比较方便,但安全性很差
user:代表登录Samba服务时需要使用账号密码进行验证,通过后才能获取到文件。这是默认的验证方式,最为常用
domain:代表通过域控制器进行身份验证,用来限制用户的来源域
server:代表使用独立主机验证来访用户提供的密码。这相当于集中管理账号,并不常用
二 配置共享资源
1 创建用于访问共享资源的账户信息
pdbedit -a -u redhat
new password:此处输入该账户在Samba服务数据库中的密码
retype new password:再次输入密码进行确认
用于pdbedit命令的参数以及作用
参数 作用
-a 用户名 建立Samba用户
-x 用户名 删除Samba用户
-L 列出用户列表
-Lv 列出用户详细信息的列表
2 创建用于共享资源的文件目录
mkdir /home/database
chown -Rf redhat:redhat /home/database
semanage fcontext -a -t samba_share_t /home/database
restorecon -Rv /home/database
3 设置SELinux域
getsebool -a | grep samba
setsebool -P samba_enable_home_dirs=on
setsebool -P samba_export_all_rw=on
4 修改配置文件
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
用于设置Samba服务程序的参数以及作用
参数 作用
[database] 共享名称为database
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享目录为/home/database
public = no 关闭“所有人可见”
writable = yes 允许写入操作
5 重启服务
systemctl restart smb
systemctl enable smb
6 修改防火墙规则
firewall-cmd --zone=public --permanent --add-service=samba
firewall-cmd --reload
7 查看当前共享目录
smbclient -U redhat -L 192.168.0.10
三 Windows挂载共享
单击Windows系统的“开始”按钮后输入两个反斜杠,然后再添加服务器的IP地址即可
如 \\192.168.0.10
四 Linux挂载共享
1 安装软件包
samba-client是客户端,cifs-utils是支持文件共享服务的软件包
dnf install -y samba-client cifs-utils
2 创建挂载目录
mkdir /database
3 编写用户名、密码、共享域认证文件
vim auth.smb
username=redhat
password=linuxprobe
domain=MYGROUP
4 写入挂载信息
vim /etc/fstab
//192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
5 挂载共享目录
mount -a