CentOS7 安装和配置samba服务器

需要达到的目的

  • smb用户不能登录centos系统
  • 公开访问和指定用户密码访问
  • 可读写

安装

1
2
# yum -y install samba samba-client samba-common
# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

安装和备份配置文件

配置

配置共享目录

vi /etc/samba/smb.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[global]
workgroup = WORKGROUP
server string = Ted Samba Server %v
netbios name = TedSamba
security = user
map to guest = Bad User
passdb backend = tdbsam

[Share]
comment = share some files
path = /var/fileshare
public = yes
writeable = yes
create mask = 0644
directory mask = 0755

[WebDev]
comment = project development directory
path = /var/WebDev
valid users = edk24
write list = edk24
printable = no
create mask = 0644
directory mask = 0755

Share是公开访问和读写, WebDev是指定edk24用户可读写访问.
WORKGROUP是你的计算机组名称, 需要和你的Windows计算机组对应.

创建目录和用户

  • 创建用户
    1
    2
    3
    4
    5
    6
    # groupadd smb
    # useradd edk24 -d /home/user/smb -g smb -s /sbin/nologin
    # smbpasswd -a edk24
    New SMB password:
    Retype new SMB password:
    Added user edk24.

添加一个名为smb的组
添加一个用户edk24并设定组为smb禁止登录ssh
smb添加用户并设定密码, 完成

  • 创建目录
    1
    2
    3
    4
    5
    # mkdir /var/{fileshare,WebDev}
    # chown -R nobody:nobody /var/fileshare
    # chown -R edk24:smb /var/WebDev
    # chmod -R 0777 /var/fileshare
    # chmod -R 0777 /var/WebDev

nobody 是不指定用户, 即所有人都可以操作.

firewall打开服务

1
2
3
# firewall-cmd --permanent --add-service=samba
success
# systemctl restart firewalld.service

重启防火墙生效

关闭SeLinux

setenforce 0
SELinux禁止网络上对Samba服务器上的共享目录进行写操作, 即使你在smb.conf中允许了这项操作。

完成

使用systemctl start smb启动samba服务, 再使用systemctl enable smb加入开机启动.

接着在你的windows文件管理器访问\\smb服务器ip, 就可以看见共享的目录了.

你也可以用android的ES文件管理器访问它, 或者电视… 等各种设备

本文参考了 https://blog.csdn.net/qq_35590198/article/details/78841036