1、下载samba服务。
yum install samba
2、打开samba服务
systemctl start smb
3、查看smb状态
systemctl status smb
4、设置开机自启
systemctl enable smb
5、查看smb的监听端口是否打开(前者开启139和445的TCP端口):
netstat -anlpt |grep smb
6、添加到防火墙白名单放行并重载防火墙:
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
# 关闭防火墙
systemctl disable firewalld
确保SELinux关闭,可以用setenforce 0命令执行。
默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。 /usr/bin/setenforce
修改SELinux的实时运行模式
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux
中设置参数selinux=0 ,或者在/etc/grub.conf
中添加这个参数
/usr/bin/setstatus -v
7、直接把root用户加入到Samba服务的用户列表中并给一个密码(该密码可以与系统root密码不一样):
smbpasswd -a root
8、通过命令检查Samba用户是否添加成功:
pdbedit -L
9、配置Samba服务参数文件:vim /etc/samba/smb.conf
[global]
#workgroup = SAMBA
# 工作组,要设置成跟 Windows 的工作组一致
workgroup = WORKGROUP
...
[public]
security = share
comment = windows shared
# 共享文件的路径
path = /root/share
public = yes
writeable = yes
browseable = yes
#guest ok = yes
v4 版本常用配置参考:
[share] # 自定义共享名
comment = Home Directories # 描述符,是给系统管理员看的
path = /home/kevin # 共享的路径
public = yes # 是否公开,也就是是否能在网上邻居看到该共享
browseable = yes # 共享的目录是否让所有人可见
writable = yes # 是否可写
guest ok = no # 是否拒绝匿名访问,仅当安全级别为 share 时才生效
workgroup = WORKGROUP # 工作组,要设置成跟 Windows 的工作组一致
server string = Samba Server Version %v # 其他 Linux 主机查看共享时的提示符
netbios name = MYSERVER # 用于在 Windows 网上邻居上显示的主机名
hosts allow = 127. 192.168.12. 192.168.13. EXCEPT 192.168.13.13 # 指定允许访问 samba 服务器的主机
security = share # 定义安全级别
log file = /var/log/samba/log.%m # 定义日志文件,每个访问的主机会产生独立的日志文件,%m 是客户端主机名
max log size = 50 # 定义单个日志的最大容量(KB)
passdb backend = tdbsam # Samba 用户的存储方式,smbpasswd 表示明文存储,tdbsam 表示密文存储
deadtime = 10 # 客户端在10分钟内没有打开任何 Samba 资源,服务器将自动关闭会话,在大量的并发访问环境中,这样的设置可以提高服务器性能
display charset = UTF8 # 设置显示的字符集
max connections = 0 # 设置最大连接数,0表示无限制,如果超过最大连接数则拒绝连接
guest account = nobody # 设置匿名账户为nobody
load printers = yes # 是否在启动 Samba 时就共享打印机
cups options = raw # 设置打印机使用的方式
valid users = user1 user2 user3 # 指定哪些用户可以访问,如果不指定则所有用户都可访问
invalid users = user1 user2 # 指定哪些用户不可以访问
create mask = 0775 # 客户端上传文件的默认权限
directory mask = 0775 # 客户端创建目录的默认权限
write list = user1 user2 user3 # 设置可对文件进行写操作的用户
admin users = user1 # 设置共享目录的管理员,具有完全权限
10、重启smb服务:
systemctl restart smb
11、创建window上的磁盘映射,实现文件共享
计算机->映射网络驱动器
也可以:
win + r 输入:
\\ip地址\share # share 即public