Samba服务
基于SMB协议,实现了Linux、Windows之间文件共享,通常局域网当中使用,做法是让Linux模拟微软协议。
Samba协议:
- SMB协议(微软的协议)
- CIFS协议(微软的协议)
UNC路径的格式:\\192.168.48.131\share
默认共享出去home目录
Samba服务器的主要程序
- smbd:提供对服务器中文件、打印资源的共享访问
使用tcp139、tcp445端口,445端口爆出过永恒之蓝漏洞 - nmbd:提供基于NetBIOS主机名称的解析
使用UDP137、UDP138端口,例如网上邻居
Samba配置文件
/etc/samba/smb.conf
Samba用户数据库文件,存放Samba用户密码:
/var/lib/samba/private/passdb.tdb
配置文件内容:
- [global]:全局设置
- [homes]:用户目录共享设置
- [printers]:打印机共享设置
- [myshare]:自定义名称的共享目录设置
辅助配置内容:
- 注释行:以#号开头的行
- 配置样例行:以;号开头的行
- 结合grep命令可以提取有效配置行
常见全局配置项的含义:
- workgroup:所在工作组名称
- server string:服务器描述信息
- security:安全级别,可用值如下:
share:任何人都能访问
user:通过用户校验就能访问
server:通过另一台服务器帮助验证
domain:通过域环境访问 - log file:日志文件位置,“%m”变量表示客户机地址
- passwd backend:设置共享账户文件的类型
常见共享目录配置项的含义:
- comment:对共享目录的注释、说明信息
- path:共享目录在服务器中对应的实际路径
- browseable:该共享目录在“网上邻居”中是否可见
- public:是否允许所有人访问,等效于“guest ok”
- writable:是否可写,与read only的作用相反
安装和命令
yum install -y samba*
启动:
systemctl start smb nmb
Samba命令:
pdbedit -au zhangsan #添加Samba用户
pdbedit -l #显示所有Samba用户
pdbedit -vl zhangsan #详细显示zhangsan用户信息
smbpasswd 修改密码
smbclient -U zhangsan -L SambaIP #列出张三用户能访问哪些共享目录,不加U是匿名
smbclient -U zhangsan //SambaIP/共享目录 #连接共享目录
上传和下载的目录默认是以从哪个目录登录的就是哪个目录
lcd 切换本地上传和下载的目录
cd 切换Samba上的目录
mget 下载文件
mput 上传
quit 退出
Samba全局权限设置
Samba的权限不仅是Samba用户需要有权限,也需要该用户在Linux系统中有对应目录的权限
- 设上传文件和目录的默认权限:
vim /etc/samba/smb.conf
[tools]
directory mask = 0755
create mask = 0644
- 访问地址限制,限制哪些IP或者IP段可以登录
vim /etc/samba/smb.conf
[global]
hosts allow = ip/ip段 ip #设置允许的IP 白名单
hosts deny = ip/ip段 ip #设置不允许的IP 黑名单
mount挂载共享文件
mount -o username=zhangsan //SambaIP/共享目录
mount | tail -1
FTP服务
用来文件共享的服务,通常使用在互联网中。
- 连接控制:TCP 21端口,用于发送FTP命令信息
- 数据连接:TCP 20端口,用于上传、下载数据
数据连接的建立类型:
- 主动模式:服务端从20端口主动向客户端发起连接
- 被动模式:服务端在指定范围内某个端口被动等待客户端连接
FTP传输模式:
- 文本模式:ASCII模式,以文本序列传输数据
- 二进制模式:Binary模式,以二进制序列传输数据
FTP用户的类型:
匿名用户、本地用户、虚拟用户
常见的FTP服务器程序:
- IIS、Serv-U
- wu-ftpd、Proftpd
- vsftpd(Very Secure FTP Daemon)
Vsftpd服务
官方站点:http://vsftpd.beasts.org/
主程序:/user/sbin/vsftpd
服务名:vsftpd
Vsftp配置文件
FTP要调整权限,所有权限默认都是只读
用户控制列表文件:用户黑白名单
/etc/vsftpd/ftpusers/etc/vsftpd/user_list
主配置文件:/etc/vsftpd/vsftpd.conf




Vsftp使用
yum install -y vsftpd
-
匿名上传

-
本地用户

还需要加上 local_enable=YES 开启本地用户登录
没有密码的本地账户无法登陆
- 虚拟用户
yum install -y pam libdb libdb-utils下载额外的包



本文详述了如何在Linux上配置Samba服务,实现与Windows之间的文件共享,并介绍了Samba的主要程序、配置文件和权限设置。同时,讲解了FTP服务中的Vsftpd,包括其配置文件、使用方法以及安全设置。此外,还涵盖了Samba和FTP的挂载、权限管理和访问限制等内容。
2149

被折叠的 条评论
为什么被折叠?



