Samba网络文件服务

samba是一款能够让linux系统应用微软文件的工具
微软指定了SMB协议,用于局域网文件共享,SMB协议全称是服务消息块(server message block)
SMB协议移植到linux系统平台之后,就诞生了SMABA软件

Samba安装

1
2
3
4
5
6
7
8
9
10
1.通过yum安装samba软件
yum install samba -y

2.查看samba的配置文件
[root@localhost ~]# ls /etc/samba/
smb.conf smb.conf.example

3.新建/home/share文件夹,赋予777权限
mkdir -p /home/share
chmod 777 share/

修改配置文件

将下面代码替换到/etc/samba/ smb.conf

1
2
3
4
5
6
7
8
9
10
[global]                                                             
workgroup = WORKGROUP
security = user
passdb backend = tdbsam

[share]
comment = my share
path = /home/share
browseable = No
writable = yes

常见配置参数解释

vim /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
25
26
27
28
[global]  
服务器的全局设置,对整个服务器有效
workgroup = SAMBA
指定 Samba 服务器所属的工作组名称

security = user
设定访问 samba server 的安全级别共有四种
1)share:不需要提供⽤户名和密码。
2)user:需要提供⽤户名和密码,⽽且⾝份验证由 samba server 负责。
3)server:需要提供⽤户名和密码,可指定其他机器(winNT/2000/XP)或另⼀台samba server作⾝份验证。
4)domain:需要提供⽤户名和密码,指定winNT/2000/XP域服务器作⾝份验证。

passdb backend = tdbsam
后台管理用户密码方式,tdbsam这是 Samba 推荐的密码后端类型
1)smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户
2)tdbsam:该方式则是使用一个数据库文件来建立用户数据库
3)ldapsam:该方式则是基于LDAP的账户管理方式来验证用户

[share]
comment = ShareData #描述信息
path = /srv/samba/documents #共享文件路径
guest ok = no #不允许匿名访问
public = no #不允许匿名访问
writable = yes #设置为读写模式
read only = yes #设置为只读模式
valid users = user1,user2,@group1 #允许访问该共享的用户,多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示
available = no #对该共享文件夹隐藏
browseable = no #共享是否可被查看

创建用户

1
2
useradd user1 #创建一个linux用户
pdbedit -a -u user1 #创建一个samba

创建完用户,重启samba服务,并且检查samba端口是否开放

1
2
systemctl restart smb
netstat -tunlp |grep smb

打开防火墙端口

1
2
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=445/tcp

pdbedit命令

1
2
3
4
5
6
7
8
pdbedit -a username 新建samba用户
pdbedit -r username 修改samba用户
pdbedit -x username 删除samba用户
pdbedit -u --user=USER use username
pdbedit -L 列出samba用户列表,读取passdb.tdb数据库文件
pdbedit -Lv 列出samba用户列表详细信息
pdbedit -c "[D]" -u username 暂停该samba用户账号
pdbedit -c "[]" -u username 恢复该samba用户账号

服务命令

1
2
3
4
5
service smb start #启动服务
service smb stop #停止服务
service smb rtstart #重启服务
chkconfig smb on #开机自启动服务
chkconfig smb off #取消开机自动启动服务