FTP服务器搭建和多用户授权企业实战案例

1.FTP的介绍和作用
FTP:实现不同操作系统之间的文件共享,范围包括广域网,局域网。

2.FTP的端口
控制连接:TCP21端口,发送FTP命令信息
数据连接:TCP20端口,上传/下载数据

3.FTP的用户类型
匿名用户:ftp和anonymous登录ftp
本地用户:linux服务器本机的系统用户帐号登录ftp
虚拟用户:帐号信息存放在独立的文件或数据库中登录ftp

4.默认情况下FTP用户的下载和上传
匿名用户和本地用户的都可以登录FTP
匿名用户:默认登录到/var/ftp/,只能下载,不能上传。
本地用户:登录到本地用户的家目录,可以下载,也可以上传。

5.FTP配置文件中语句解析
listen: 是否以独立运行的方式监听服务
listen_address: 设置监听FTP服务的IP地址
listen_port: 设置监听FTP服务的端口
write_enable: 是否启用写入权限
download_enable: 是否允许下载
amonymous_enable: 是否启用匿名访问
anon_root: 匿名FTP的根目录
local_root: 是否启用本地用户的FTP根目录
local_umask: 本地用户上传的权限掩码
chroot_local_user: 是否禁锢在主目录/家目录
max_clients: 限制并发的客户端个数
max_per_ip: 限制每个客户机IP的并发连接数
anon_max_rate: 匿名最大速度(字节/s)
local_max_rate: 验证用户最大速率(字节/s)

6.登录FTP服务的黑名单和黑白名单
1). 黑名单文件:/etc/vsftpd/ftpusers 列入其中的用户被禁止访问
2).黑白名单: /etc/vsftpd/user_list 有时为黑名单,有时为白名单
为黑名单时:和黑名单作用一样,里面的用户不允许访问FTP服务
# vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES (决定是否启用此文件)
userlist_deny=YES
为白名单时:只允许白名单里面的用户访问
# vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES (决定是否启用此文件)
userlist_deny=NO

7.黑白名单启用步骤
1).把下面两个添加到主配置文件中:/etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=YES/NO NO时为白名单,YES时为黑名单
2).把用户写入 /etc/vsftpd/user_list文件 (里面是是否能让登录的用户)
# vim /etc/vsftpd/user_list
shi1
shi2

8.服务器上开启匿名用户端的上传权限(了解)(默认客户端匿名用户没有上传权限)
1).修改配置文件 /etc/vsftpd/vsftpd.conf
# vim /etc/vsftpd/vsftpd.conf
使:anon_upload_enable=YES
2).还需要给你们用户家目录(/var/ftp/)的子目录pub增加w权限
# chmod o+w /var/ftp/pub
两者缺一不可。
注意:这样客户端匿名用户才能有上传文件,匿名用户的家目录不允许其他用户有w权限,可以给它的子目录设置w权限。

9.服务器上使匿名用户能创建文件夹并有其他写权限(了解)
# vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

10.FTP服务器工作模式 (主动模式和被动模式)
主动模式:数据传输时,服务器主动连接客户端(默认)
被动模式:数据传输时,服务器等待客户端来连接自己
端口21:控制端口(传指令)
如:get a.txt 下载a.txt通过21端口
端口20:数据端口(传数据)

11.ftp默认是主动模式,修改成被动模式的设置
# vim /etc/vsftpd/vsftpd.conf
添加:
pasv_enable=YES
port_enable=NO
客户端测试:
登录到ftp后,输入passive,显示passive mode on表示服务器设置成功。

12.FTP服务企业实战案例
案例1:企业安装vsftpd服务,多用户管理上传和下载文件权限
1).创建多个普通用户,各个普通用户使用自己的用户上传和下载文件,普通用户只能对自己目录有上传和下载、删除权限
2).再创建一个管理员用户,可以对所有用户的目录有上传、下载、删除权限

机器规划:
FTP服务器: 192.168.171.128
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
#注意:配置文件中,每行结尾不能有空格
#下面修改为NO,禁止匿名用户登, 默认为YES:
anonymous_enable=NO
#下面默认为YES,允许本地用户登录
local_enable=YES
#下面默认为YES,允许写操作
write_enable=YES
#下面释放并修改,默认YES,改为NO,是否禁锢在主目录/家目录
chroot_local_user=NO
#下面释放,默认为YES
chroot_list_enable=YES
#下面释放:
chroot_list_file=/etc/vsftpd/chroot_list
#默认为NO,修改为YES
listen=YES
#默认为YES,修改为NO
listen_ipv6=NO
#开启下面 (是否启用黑白名单文件/etc/vsftpd/user_list,YES表示启用黑白名单文件,但具体是黑名单功能还是白名单功能需要看下面:userlist_deny)
userlist_enable=YES
#增加下面3个:
max_clients=50
local_root=/opt/ftp_dir
userlist_deny=NO
#上面:userlist_deny=NO表示:是属于白名单的功能,只有白名单里的用户才能访问FTP服务,如果等于YES则表示为黑名单的功能
user_config_dir=/etc/vsftpd/vsftpd
[root@localhost ~]# mkdir /opt/ftp_dir
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd
[root@localhost ~]# echo 'local_root=/opt/ftp_dir' > /etc/vsftpd/vsftpd/admin
[root@localhost ~]# echo 'local_root=/opt/ftp_dir/shi1' > /etc/vsftpd/vsftpd/shi1
[root@localhost ~]# echo 'local_root=/opt/ftp_dir/shi2' > /etc/vsftpd/vsftpd/shi2
[root@localhost ~]# cat /etc/vsftpd/vsftpd/admin
local_root=/opt/ftp_dir
[root@localhost ~]# cat /etc/vsftpd/vsftpd/shi1
local_root=/opt/ftp_dir/shi1
[root@localhost ~]# cat /etc/vsftpd/vsftpd/shi2
local_root=/opt/ftp_dir/shi2
#创建几个ftp登录用户—系统本地登录账号:
[root@localhost ~]# useradd -d /opt/ftp_dir/admin admin
[root@localhost ~]# useradd -d /opt/ftp_dir/shi1 shi1
[root@localhost ~]# useradd -d /opt/ftp_dir/shi2 shi2
[root@localhost ~]# echo 'admin' |passwd --stdin admin
[root@localhost ~]# echo 'shi1' |passwd --stdin shi1
[root@localhost ~]# echo 'shi2' |passwd --stdin shi2
[root@localhost ~]# gpasswd -a admin root #将admin加入到管理员组root
[root@localhost ~]# id admin
uid=1000(admin) gid=1000(admin) groups=1000(admin),0(root)
[root@localhost ~]# vim /etc/vsftpd/user_list #添加白名单用户,只有白名单里的用户才能访问FTP服务
.......
#添加下面用户:白名单
admin
shi1
shi2
[root@localhost ~]# ls /opt/ftp_dir/
admin shi1 shi2
[root@localhost ~]# chmod -R 755 /opt/ftp_dir/ #总目录权限,主要给管理员使用,管理员对总目录有权限,但不能777,否则ftp登录不了
[root@localhost ~]# chmod -R 775 /opt/ftp_dir/* #下面给各普通用户的目录权限,尽量不要777,否则普通用户之间能互相访问
[root@localhost ~]# chown -R admin.root /opt/ftp_dir/admin/ #下面给各个普通用户目录再授权,因没授权777,所有admin用户没权限,给root组
[root@localhost ~]# chown -R shi1.root /opt/ftp_dir/shi1/
[root@localhost ~]# chown -R shi2.root /opt/ftp_dir/shi2/
[root@localhost ~]# ls -ld /opt/ftp_dir/*
drwxrwxr-x 2 admin root 62 Jun 18 21:06 /opt/ftp_dir/admin
drwxrwxr-x 2 shi1 root 62 Jun 18 21:06 /opt/ftp_dir/shi1
drwxrwxr-x 2 shi2 root 62 Jun 18 21:06 /opt/ftp_dir/shi2
[root@localhost ~]# echo admin > /etc/vsftpd/chroot_list
[root@localhost ~]# cat /etc/vsftpd/chroot_list
admin
[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# systemctl enable vsftpd
[root@localhost ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2023-06-18 21:04:51 CST; 26s ago

客户端工具FileZilla测试FTP各用户的上传、下载和删除:
1).普通用户shi1测试(只能对自己目录有权限): 192.168.171.128 shi1/shi1

 

 

 

 

 上传目录和文件直接拖入即可。

2).管理用户admin测试(对所有用户目录有权限): 192.168.171.128 admin/admin

 

 随便找一个用户目录: shi2

 

 

 删除目录:

 上传目录和文件直接拖入即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以回答您关于Linux网络实战FTP服务器搭建的问题。首先,我们需要在Linux系统上安装FTP服务器软件。常用的FTP服务器软件有vsftpd、proftpd、pure-ftpd等。这里以vsftpd为例,介绍FTP服务器的搭建过程。 1. 安装vsftpd软件 在Linux系统上使用以下命令安装vsftpd软件: ``` sudo apt-get install vsftpd ``` 2. 配置vsftpd 在安装完成后,需要对vsftpd进行配置。配置文件一般位于/etc/vsftpd.conf。可以使用以下命令进行编辑: ``` sudo nano /etc/vsftpd.conf ``` 在编辑器中,您可以设置FTP服务器的参数,例如允许匿名访问、允许本地用户访问、设置FTP根目录等。 3. 启动vsftpd服务 配置完成后,需要启动vsftpd服务。可以使用以下命令启动服务: ``` sudo service vsftpd start ``` 4. 防火墙设置 如果您的Linux系统启用了防火墙,需要设置FTP服务器的防火墙规则,允许FTP数据传输的端口通过防火墙。一般FTP数据传输使用的是20和21端口。可以使用以下命令设置防火墙规则: ``` sudo ufw allow 20/tcp sudo ufw allow 21/tcp ``` 5. 测试FTP服务器FTP服务器搭建完成后,可以使用FTP客户端测试FTP服务器是否正常工作。您可以使用Linux系统自带的FTP客户端命令进行测试。例如: ``` ftp IP地址 ``` 其中IP地址为您的FTP服务器所在主机的IP地址。在连接成功后,您可以使用FTP客户端进行文件上传、下载等操作。 希望以上内容能够帮到您。如果您有其他问题,欢迎继续向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维实战帮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值