Samba(Centos)
一、简介
Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一种免费软件,由服务器及客户端程序构成。
SMB 是在局域网上共享文件和打印机的一种通信协议
默认端口号
tcp:139、445
UDP:137、138
二、安装及参数介绍
安装 Samba:yum -y install samba
默认配置文件路径:/etc/samba/smb.conf
可用变量
变量名|描述|变量名|描述
:-😐:-|:-😐:-|:-
%a | 客户机的结构(只支持:Samba、WfWg、WinNT、Win95) | %d | 当前服务进程 ID
%I | 客户机的 IP | %P | 当前服务的根目录
%L | 服务器的 NETBIOS 名称 | %N | NIS 服务器名
%R | 采用的协议等级(值可以是 CORE,COREPLUS,LANMAN1, LANMAN2,NT1) | %S | 当前服务名
%T | 当前日期和时间 | %v | Samba 服务的版本号
%h | 运行 Samba 服务机器的主机名 | %H | 当前服务的用户的 Home 目录
%g | 当前用户所在的主工作组 | %G | 当前对话的用户的主工作组
%m | 客户机的 NETBIOS 名称 | %M | 客户机的主机名
%u | 当前服务的用户名 | %U | 当前对话的用户名
smb.conf 配置文件常用参数
[global] # 全局配置(默认有该设置,如需要在全局下添加东西则只需在文件中该行的下面添加即可)
config file=/etc//samba/%U # 设置配置文件的绝对路径(需要在全局配置下添加)
[homes] # 用于共享用户目录(默认有该配置)
[printers] # 用于共享打印机(默认有该配置)
[test] # 共享名
comment = test-test # 该共享的说明
path = /test # 共享文件路径
# 用户相关
browseable = yes # 可浏览
public = yes # 允许 guest 账户访问
guest ok = yes # 允许 guest 用户访问
writeable = yes # 用户可写
write list = test-1,test-2 # 指定 test-1 用户跟 test-2 用户可写
admin users = admin # 该共享的管理者
valid users = test-1,test-2 # 设置用户白名单(test-1 与 test-2 用户可访问)
invalid users = test-3,test-4 # 设置用户黑名单(test-3 与 test-4 用户禁止访问)
create mode = 0644 # 新建文件后文件的权限
directory mode = 0755 # 新建文件夹后文件夹的权限
veto files = /*root*/*.exe/ # 禁止上传 *.exe 的文件跟文件名含有 root 的文件或文件夹
# 日志相关
log file = /var/log/samba/%m.log # 指定日志存放位置
max log size =10 # 设置日志文件大小(单位为:M)
# 安全相关
encrypt passwords =yes # 密码加密
smb passwd file = /etc/samba/smbpasswd # Samba 用户密码文件存放位置
username map = /etc/samba/smbusers # Samba 用户文件存放位置
security = share # 安全选项(share、user、server、domain)
- hare:用户访问 Samba Server 不需要提供用户名和密码
- user:Samba Server 共享目录只能被授权的用户访问,由 Samba Server负责检查账号和密码的正确性
- server:依靠其他 Wwindows NT /2000 或 Samba Server 来验证用户名和密码
- domain:域安全级别,使用主域控制器(PDC)来完成验证
# 打印机相关
printable = yes # 打印机是否可打印(默认有该参数)
load printers = yes # 当 Samba 启动时共享打印机
printcap name = cups # 设置共享打印机的配置文件
新建 Samba 用户
创建 Samba 用户需先建立对应的本地用户 useradd test
新建 test 用户:smbpasswd -a test
删除 test 用户:smbpasswd -x test
禁用 test 用户:smbpasswd -d test
启用 test 用户:smbpasswd -e test
清除 test 用户密码:smbpasswd -n test
列出 samba 用户:pdbedit -L
列出 samba 用户详细:pdbedit -Lv
三、实例
1、新建用户,并设置共享目录
# 新建本地用户 test
useradd test
# 新建 smb 用户 test
smbpasswd -a test # 此处需要设置密码
# 设置共享目录
mkdir /test
2、编辑配置文件
编辑 Samba 配置文件:vim /etc/samba/smb.conf
在文件内添加如下内容
[test] # 共享名
comment = test # 该共享的描述
path = /test # 共享的目录
writeable = yes # 允许写入
3、重启服务
编辑完配置文件后重启服务即可
停止服务:systemctl stop smb
启动服务:systemctl start smb
重启服务:systemctl restart smb
查看服务状态:systemctl status smb

浙公网安备 33010602011771号