Samba服务

Samba

Samba 是 SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享、打印机共享更容易实现。它是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。

Samba 服务器的工作原理是:客户端向 Samba 服务器发起请求,请求访问共享目录,Samba 服务器接收请求,查询 smb.conf 文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。

安装配置

1
yum -y install samba

Samba的配置文件一般就放在 /etc/samba 目录中,主配置文件名为 smb.conf,文件中记录着大量的规则和共享信息,所以是 samba 服务非常重要的核心配置文件,完成 samba 服务器搭建的大部分主要配置都在该文件中进行。

1
2
3
cd /etc/samba
cp -a smb.conf{,.bak}
vim smb.conf

配置参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[global]
workgroup = Samba
netbios name = SambaServer
server string = Linux Samba Server TestServer
security = user
# workgroup:在Windows中显示的工作组
# netbios name:在Windows中显示出来的计算机名
# server string :Samba服务器说明,可以自定义
# security:验证和登录方式,share为共享;user为用户认证


[shared]
path = /opt/shared
writeable = no
browseable = yes
guest ok = yes
# [shared]:在Windows中显示出来是共享的目录
# path = 设置要共享的目录的路径
# writeable 是否可写
# browseable 是否可以浏览;可以浏览意味着,在工作组下能看到共享文件夹
# guest ok 匿名用户以guest身份是登录

建立目录、用户并授权。Samba 的所有用户都必须是系统里已存在的用户。密码是独立的,不是 /etc/shadow 中的密码

1
2
3
4
install -cdv /opt/shared
useradd test
smbpasswd -a test
chown -R test.test /opt/shared/

启动 smbd 和 nmbd 服务

1
systemctl enable --now smb nmb

使用 Windows 的运行输入\\Samba 服务器的地址访问测试

附加配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# [global]字段可选配置:
# dos charset = GB2312
# 将Windows 客户端的文字编码设置为简体中文 GB2312
# unix charset =GB2312
# 指定Samba所在的CentOS服务端新建文件或目录时的编码为 GB2312
# display charset= GB2312
# 指定使用SWAT(一种通过浏览器控制Samba的工具)时页面的默认文字编码

# directory mask = 0777
# force directorymode = 0777
# directorysecurity mask = 0777
# force directorysecurity mode = 0777
# 指定新建目录的权限

# create mask =0777
# force createmode = 0777
# security mask =0777
# force securitymode = 0777
# 指定新建文件的权限
有钱任性,请我吃包辣条
0%