服务端
- 安装samba服务
yum -y install samba - 创建系统用户
因为Samba 服务程序的数据库要求账户必须在当前系统中已经存在,否则日后创建文件时将导致文件的权限属性混乱不堪,由此引发错误。
[root@test ~]# useradd -s /sbin/nologin smbuser - 用于管理 SMB 服务程序的账户信息数据库
[root@test ~]# pdbedit -a -u smbuser ## -a是创建用户 -x删除用户 -l列出用户 -u指定用户
new password: ##输入smb库密码
retype new password: - 创建用户共享目录
[root@test ~]# mkdir -p /share/database
[root@test ~]# chown -R smbuser:smbuser /share/database/ - 修改smb.conf文件
[root@test ~]# vi /etc/samba/smb.conf
[global]
workgroup = SAMBA ##工作组
security = user
passdb backend = tdbsam
log file = /var/log/samba/log.%m ##日志文件的存放位置与名称, 参数%m 为来访的主机名
max log size = 50 ##定义日志文件的最大容量为 50KB
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] ##共享名称
path = /share/database ##共享路径
public=no ##设置为yes表示该共享目录对于所有samba用户是可见的。
writable=yes ##设置为yes表示该共享目录对于用户可写。
write list=smbuser ##指定可读写用户
only guest=no ## 设置为yes表示所有用户在使用该共享目录时的用户身份是guest,就是系统用户nobody。 - 修改selinux和防火墙配置(如果防火墙和selinux关闭请忽略此步骤)
selinux配置修改
getsebool -a | grep samba
setsebool samba_export_all_ro on #开启读取权限
setsebool samba_export_all_rw on #开启读写权限
getsebool -a | grep samba
systemctl restart smb ####重起服务
启动smd服务前 将配置文件中的注释去掉
为samba开放特定端口
firewall-cmd --zone=public --add-port=139/tcp --permanent
firewall-cmd --zone=public --add-port=445/tcp --permanent
firewall-cmd --zone=public --add-port=137/udp --permanent
firewall-cmd --zone=public --add-port=138/udp --permanent
firewall-cmd --reload
systemctl restart firewalld.service
注:samba开发tcp/139,445端口,udp/137,138端口。
客户端:
- 在创建临时挂载点
yum -y install cifs-utils ##yum安装cifs-utils工具
mount.cifs //192.168.1.130/share/ /smb/ -o username=smbuser,password=123456
服务器IP 共享文件名 本地挂载路径 samba用户名 samba密码 - 查询服务端共享目录
yum -y install samba-client-4.8.3-4.el7.x86_64 ##安装samba客户端
smbclient -L 192.168.1.130 ## -L是查看共享列表 - 如果需要满足重启后挂载继续生效则需要添加到 /etc/fstab
vi /etc/fstab
//192.168.1.130/share/ /smb/ cifs username=smbuser,password=123456 0 0