CentOS7设置共享目录
一、安装Samba服务
# 安装samba
yum install -y samba
# samba服务开机启动
systemctl enable smb
二、备份Samba配置
# 切换到samba配置目录
cd /etc/samba
# 备份配置文件
cp smb.conf cmb.conf.bak
三、开放Samba端口
# 查看防火墙状态,如果没有关闭防火墙,需要将Samba设计的端口开放
service firewalld status
# 添加开放端口
firewall-cmd --zone=public -add-port=139/tcp --permanent firewall-cmd --zone=public -add-port=389/tcp --permanent firewall-cmd --zone=public -add-port=445/tcp --permanent firewall-cmd --zone=public -add-port=901/tcp --permanent firewall-cmd --reload
# 查看已经放开的端口号 firewall-cmd --list-all
四、方式一:配置匿名访问
1、创建匿名访问目录
mkdir /data/everyone
# 因为需要设置匿名用户可以上传下载文件, 所以需要给shares目录授予nobody权限
chown -R nobody:nobody /data/everyone
2、修改smb配置文件
# 修改smb.conf配置文件
vim smb.conf
# 在global中追加map to guest,否则需要输入用户名密码,然后新增一个public共享,名字随意,其中path就是匿名访问目录
[global]
map to guest = Bad User
[public]
comment = Public Stuff
path = /data/everyone
public = yes
read only = No
3、重启服务
systemctl restart smb
4、在windows尝试匿名访问
访问\\192.168.1.100\public
备注:如果访问时提示 “XX 无法访问 XXX 权限” 可能是由于 selinux 造成的 可进行关闭;
单次关闭
/usr/sbin/setenforce 0
永久关闭
# 将SELINUX=enforcing改为SELINUX=disabled
vim /etc/selinux/config
五、方式二:配置指定用户访问
1、添加系统用户
# 添加用户组
groupadd share
# useradd -g 组名 用户名
useradd -g share chenj
# 设置用户chenj的密码
passwd chenj
#删除用户 userdel -r 用户名
# 将需要共享的目录授权给用户
chown -R chenj:share /data
2、将系统账户添加到Samba
# smbpasswd 参数说明: -a: 添加 -x: 删除 -d: 禁用 -e: 启用
smbpasswd -a chenj
3、修改smb配置文件
# 修改smb.conf配置文件
vim smb.conf
# 新增一个data共享,名字随意,其中path就是访问目录,valid users表示授权的用户组
[data]
comment = share
path = /data
# 表示用户组
valid users = @share
read only = No
4、重启服务
systemctl restart smb
5、在windows尝试匿名访问
访问\\192.168.1.100\,会出现共享的目录,点击data(这个名字由自己配置文件的命名而定)目录,会提示输入用户名和密码
备注:如果访问时提示 “XX 无法访问 XXX 权限” 可能是由于 selinux 造成的 可进行关闭;
单次关闭
/usr/sbin/setenforce 0
永久关闭
# 将SELINUX=enforcing改为SELINUX=disabled
vim /etc/selinux/config