文章目录
一、ftp概述
- ftp的作用:用于文件的上传和下载
- ftp属于TCP协议
21号端口:控制层面,用于账号密码验证和权限的验证
20号端口:数据层面,用于文件的上传和下载
二、ftp的应用类型
2.1 匿名账户
2.1.1 准备
登录名为ftp、anonymous,无需验证密码即可登录
2.1.2 过程
1.先确保服务器和客户机的防火墙和核心防护都已关闭
2. 使用yum安装vsftpd服务
3. 进入vsftpd配置文件进行配置设置
4. 重启vsftpd服务
5. 客户机进行验证
2.1.3 命令
服务器上的配置
yum -y install vsftpd ## 安装vsftpd服务
vi /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES ## 允许匿名账户的其他写操作
anonymous_enable=YES ## 允许匿名账号登录
write_enable=YES ## 允许写操作
anon_umask=022 ## 匿名账户的权限为755
anon_upload_enable=YES ## 允许匿名账户的下载操作
anon_mkdir_write_enable=YES ## 允许匿名账户的额创建目录和写操作
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES ## 开启ipv4监听
listen_ipv6=NO ## 关闭ipv6监听
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
systemctl restart vsftpd
chown -R ftp.ftp /var/ftp/pub ##
chmod -R 755 /var/ftp/pub ## 设置目录权限为755
使用客户机ftp进行vsftpd服务的验证
2.1.4 结果
2.2 系统账户
2.2.1 过程
- 先确保服务器和客户机的防火墙和核心防护都已关闭
- 在虚拟机上创建新用户zs和ls并设置登录密码
- 在两个新用户的home目录下即 /home/zs和 /home/ls目录下分别新建两个不同的新文件,以作后续的实验
- 在vsftpd配置文件中设置所需要的配置(/etc/vsftpd/vsftpd.conf)
- 配置完成后重启vsftpd的配置
- 分别以zs用户和ls用户进入服务器的ftp服务,进行文件上传和下载的操作
2.2.2 命令
服务器上的命令:
yum -y install vsftpd ## 安装vsftpd服务
cd /etc/vsftpd/vsftpd.conf ## 进入vsftpd配置文件
local_enable=YES ## 本地可登录
write_enable=YES ## 可写
local_umask=022 ## 权限为755
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES ## 可登录
listen=YES ## 开启ipv4监听
listen_ipv6=NO ## 关闭ipv6监听
allow_writeable_chroot=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=NO ## 只允许用户列表中的用户登录,使用于限制于单个用户登录。配置文件为 /etc/vsftpd/user-list
grep -v "#" /etc/vsftpd/vsftpd.conf | grep -v "^$" ## 查看配置文件中有效配置文件
systemctl restart vsftpd ## 重启vsftpd服务
cd /home/zhangsan ## 进入zhangsan目录下新建文件
echo "qqqqqqq" > a
cd /home/lisi
echo "woshishuaige" > aaa
客户机上的命令
yum -y install ftp
ftp 客户机ip ## 客户机登录服务器
get 文件名 ## 下载服务器中文件
put 文件名 ## 上传本地文件
2.3 虚拟账户
2.3.1 过程
- 添加虚拟用户列表
- 新建虚拟用户账户数据库
- 修改/etc/vsftpd/vdftpd.conf配置文件
- 创建同名用户来修改虚拟账户的权限
2.3.2 命令
# vi /etc/vsftpd/vusers.list ## 设置虚拟账户列表
liming ## 设立两个虚拟用户
123
wangwu
456
# cd /etc/vsftpd
# db_load -T -t hash -f vusers.list vusers.db ## 用hash转换db文件
# file vusers.db ## 查看生成的db文件
# chmod -R 600 /etc/vsftpd/vusers.* ## 设置vusers.的文件权限为600
# useradd -d /var/ftproot -s /sbin/nologin virtual ## 新建虚拟用户
# chmod -R 755 /var/ftproot ## 设置虚拟用户的权限为755
# vi /etc/pam.d/vsftpd.vu ## 修改pam认证文件的内容
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers ## 对账户名和密码进行认证
account required pam_userdb.so db=/etc/vsftpd/vusers ## 对密码的有效期及密码账户的一些权限限定的认证
# vi /etc/vsftpd/vsftpd.conf
local_enable=YES
guest_enable=YES
guest_username=virtual
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd.vu
anon_world_readable_only=NO
user_config_dir=/etc/vsftpd/vusers_dir
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
# mkdir /etc/vsftpd/vusers_dir ## 创建新文件夹
# touch /etc/vsftpd/vusers_dir/liming ## 在新文件夹下用户同名文件用来修改用户的权限
anon_upload_enable=YES
anon_mkdir_write_enable=YES
write_enable=YES
# touch /etc/vsftpd/vusers_dir/wangwu ## 空文件及用户只有目录的权限,无额外权限
2.3.3 验证
在客户机中安装ftp软件
yum -y install ftp
ftp 192.168.10.13
liming ## 有读写的权限
wangwu ## 无权限
三、Samba服务
3.1 Samba服务概述
3.1.1 Samba服务基础
- SMB协议
Server Message Block 服务块消息 - CIFS协议
Common Internet File System 通用互联网文件系统 - Samba项目
网址: http://www.samba.org
3.1.2 Samba软件包构成
- samba-common-4.6.2-8.el7.noarch
- samba-common-libs-4.6.2-8.el7.x86_64
- samba-client-4.6.2-8.el7.x86_64
- samba-client-libs-4.6.2-8.el7.x86_64
3.1.3 Samba服务器的主要程序
- smbd :提供对服务器中的文件,打印资源的共享访问
- nmbd :提供基于NetBIOS主机名称的解析
3.1.4 Samba的配置目录及文件
- /etc/samba
- /etc/samba/smb.conf
- 配置文件检查工具 :testparm
- smb.conf文件的配置内容
[global] : 全局设置
[homes] : 用户目录共享设置
[printers] : 打印机共享设置
[myshare] : 自定义名称的共享目录设置
3.2 Samba服务搭建
3.2.1 过程
- 创建普通账户和组
- 账户划分进组
- 对共享目录设定权限
- 对共享目录设定属主、属组
- 更改Samba主配置文件中属主的权限,让其有权限读和写
3.2.2 命令
useradd xiaoming ## 创建新用户
useradd xiaozhang
pdbedit -a -u xiaoming ## 用户设置为samba用户,并设置密码
pdbedit -a -u xiaozhang
mkdir /share ## 创建share目录
touch /share/aaa ## 穿件新文件
touch /share/bbb
chmod -R 777 /share ## 设置share目录权限为777
vi /etc/samba/smb.conf ## 进入samba配置文件
[share]
comment = share directory
path = /share
public = yes
valid users = xiaoming, xiaozhang
write list = xiaoming
systemctl start nmb ## 开启samba服务
systemctl start smb
3.2.3 验证
- windows客户机验证
- linux系统验证