1.Samba 服务基础
SMB(Server Message Block),服务消息块
CIFS(Common Internet File System),通用互联网文件系统
Samba 项目:http://www.samba.org
1.1.Samba 服务器的主要程序
smbd:提供对服务器中文件、打印资源的共享访问(TCP 139、445)
nmbd:提供基于 NetBIOS 主机名称的解析(UDP 137、138)
1.2.Samba 的配置目录及文件
/etc/samba/
/etc/samba/smb.conf
配置文件检查工具:testparm
1.3.主配置文件 smb.conf
smb.conf 文件的配置内容
[global]:全局设置,对所有共享目录生效 [homes]:用户目录共享设置 [printers]:打印机共享设置 [myshare]:自定义名称的共享目录设置
辅助配置内容
注释行:以 # 号开头 配置样例行:以 ; 号开头 结合 grep 命令可以提取有效配置行 grep -v "^#" smb.conf |grep -v "^;" |grep -v ^$(查有效信息)
常见全局配置项含义
workgroup:所在工作组名称 server string:服务器描述信息 security:安全级别
user:通过用户验证访问
server:通过另外一台服务器帮你进行验证(独立主机)
domain:域,可以将验证分配给其他服务器进行验证(域控) log file:日志文件位置,%m 变量表示客户机地址 passwd backend:设置共享账户文件的类型
常见共享目录配置项的含义
comment:对共享目录的注释、说明信息 path:共享目录在服务器中对应的实际路径(需要) browseable:该共享目录在"网上邻居"中是否可见 guestok:是否允许所有人访问吗,等效于 public(需要) writable:是否可写,与 readonly 的作用相反(需要)
1.4.用户访问 Samba
建立 Samba 用户数据库文件:默认数据库文件位于 /var/lib/samba/private/passdb.tbd
设置用户访问授权
新建共享目录与共享用户 修改 smb.conf 配置文件,添加名为 tools 的共享目录 重新加载 smb.conf 文件,或重启 smb 服务
确定用户访问权限
设置目录权限 设置上传文件和目录的默认权限
2.小实验-1
centos(SAMBA:192.168.3.1)-Windows(192.168.3.2)
cd /run/media/root/Centos\ 7\ x86_64/Packages/ rpm -ivh samba-4.2.3-10.el7.x86_64.rpm
建立 Samba 用户数据库文件
useradd zhangsan
pdbedit -a -u zhangsan #这里设置密码
systemctl start smb
systemctl start nmb
此时Windows访问:\\192.168.3.1 能够使用
Windows 访问 samba 共享后,清楚登录信息:net use * /del /y
设置共享目录用户访问授权:chmod 777 /share
设置上传文件和目录的默认权限:/etc/samba/smb.conf
directory mask = 0755(默认权限)
create mask = 0644(默认权限)
配置权限
valid users = zhangsan,@zhangsan #配置可读用户
write list = admin #配置可写用户
service smb reload #重启 smb.conf 文件
共享账号映射(别名)
文件:/etc/samba/smbusers
zhangsan = zs
启用映射账号:/etc/samba/smb.conf
[global]
username map = /etc/samba/smbusers
service smb reload #重启服务
访问地址限制:一般用在全局配置 [global] 部分(/etc/samba/smb.conf)
hosts allow 配置项:仅允许
hosts deny 配置项:仅拒绝
示例:
[global]
hosts allow = 192.168.4. 173.17.(网段地址:173.17. 或 173.17.0.0/255.255.0.0,单个地址用空格隔开)
service smb reload #重启服务
linux 访问共享文件夹
smbclient:查看及登录使用共享
smbclient -U zhangsan -L IP #查看共享了哪些目录
smbclient -U zhangsan //IP/tools #进入共享目录
登入后相关命令:
lcd:切换本地目录
cd:切换 smb 目录
mget:一次下载多个文件
mput:一次上传多个文件
将共享目录挂载到本地的一个目录下,就可以使用 cp 拷贝了
mkdir /media/smbdir
mount -o username=zhangsan //IP/tools /media/smbdir
3.实验-2
要求:
创建共享目录:share 和 manager
创建访问用户:admin zhangsan jingli1 jingli2
创建访问组:manager
权限需求1:share 可以被所有人访问下载,但是只有 admin 可以上传
权限需求2:manager 目录只有属于 manager 组的用户和 admin 可以访问下载,其他人无权限访问,而 admin 除了下载还有上传权限
share目录 | manager目录 | ||
管理员 | admin | 读写 | 读写 |
经理组 | manager组 | 只读 | 只读 |
其他人 | zhangsan | 只读 | 无 |
实现:
systemctl start smb
systemctl start nmb
共享名和共享目录名不一定要一致
mkdir /share /manager
useradd admin
useradd zhangsan
useradd jingli1
useradd jingli2
pdbedit -a -u admin
pdbedit -a -u zhangsan
pdbedit -a -u jingli1
pdbedit -a -u jingli2
groupadd -g 1500 manager
gpasswd -M jingli1,jingli2 manager
chmod 777 /share/ /manager/
vim /etc/samba/smb.conf(末尾添加)
[share1]
path = /share #共享目录路径
public = yes
read only = yes #设置只读
write list = admin #设置只有 admin 可写(多个用户逗号隔开)
systemctl restart smb
systemctl restart nmb
vim /etc/samba/smb.conf
[manager1]
path = /manager
public = no
read noly = yes
valid users = admin,@manager #定义可读用户,组名前加@
write list = admin
systemctl restart smb
systemctl restart nmb
标签:Samba,服务,文件共享,smb,访问,samba,conf,共享,目录 From: https://www.cnblogs.com/luoluostudy/p/18127766