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

posted @ 2020-10-15 13:33  Anonymous_1  阅读(1067)  评论(0)    收藏  举报