lFTP服务

 

1、远程登陆

服务器端:

yum   install   vsftpd   -y   ##安装vstpd服务

systemctl   start   vsftpd  

systemctl   enable  vsftpd 

systemctl   stop   firewalld

systemctl   disable   firewalld

vim   /etc/selinux/config   ##关闭selinux(rebooot后才能生效)

SELINUX=disabled

setenforce   0   ##命令行关闭(临时关闭但可以立即生效)

客户端:

yum   install   lftp   -y   ##安装lftp

lftp   服务器端ip地址   ##匿名登陆ftp服务器(/var/ftp)

lftp   服务器端ip地址   -u   student   ##以服务器端用户student登陆(home/student)

2、控制用户的登陆

服务器端:

vim   /etc/vsftpd/vsftpd.conf

sytemctl   restart   vsftpd

12行   anonymous_enable=NO/YES   ##是否允许匿名用户登陆

16行   local_enable=NO   ##是否允许以本地用户登陆

**ftp服务最大连接数

vim   /etc/vsftpd/vsftpd.conf

添加   max_clients=2

当第二个用户连接时,会被拒绝访问

3、对匿名登陆的控制

服务器端:

1)匿名上传文件

cd   /var/ftp   ##ftp服务器

ls    -dl   pub   ##查看目录信息

这个目录权限是755,对所属组和其他用户不可写,匿名用户没有权限上传文件

chmod   775   /var/ftp/pub   ##将所属组改为满权限(不能更改权限为777)

chgrp   ftp   /var/ftp/pub   ##将所属组改为ftp服务器(匿名登陆时实际用户组为ftp服务器)

或者   chmod   757   /var/ftp/pub   ##/pub所属组为root,ftp组是/pub的其他用户

vim   /etc/vsftpd/vsftpd.conf

29行   anon_upload_enable=YES/NO   ##匿名是否可以上传文件

sytemctl   restart   vsftpd

这时匿名登陆可以上传文件

匿名上传的文件拥有者和所属组都是ftp服务器

2)匿名下载文件

vim   /etc/vsftpd/vsftpd.conf

30行   anon_world_readble_only=NO/YES   ##匿名是否可以下载文件

3)匿名创建目录

31行   anon_mkdir_write_enable=YES/NO   ##匿名是否可以创建目录

4)匿名删除和重命名文件

32行   anon_other_write_enable=YES/NO   ##匿名是否可以删除和重命名

5)匿名登陆目录的更改

33行   anon_root=/mnt/client   ##匿名登陆目录的更改(默认/var/ftp)

更改配置文件后systemctl   restart   vsftpd

6)匿名上传文件的权限

vim   /etc/vsftpd/vsftpd.conf

添加anon_umask=022(上传者之外的访客可以访问/pub下的文件)   ##匿名上传文件默认的权限为600(umask=066)

*umask=022被ftp服务视为规范更改,若更改为其他umask值,会出现错误

7)匿名最大上传速率

anon_max_rate=102400   ##单位是字节(100K)

客户端测试:dd   if=/dev/zero   of=/mnt/file    bs=1M    count=1500   ##拷贝一个大小为1500M的大文件

put   /mnt/file  可以看到上传速率被限制在100K以下

8

4、对以本地用户登录的控制

1)以本地用户登陆时家目录的修改

修改后所有以本地用户登录时的家目录都是修改后的目录

vim   /etc/vsftpd/vsftpd.conf

添加local_root=/westos   ##可以在westos下创建east文件,测试是否登陆时在westos下

2)限制以本地用户登录时对其他目录的权限

在修改配置文件之前,用户验证登陆的时候是在服务指定的家目录里,之后可以随意切换系统目录,这是不安全的

vim   /etc/vsftpd/vsftpd.conf

将chroot_local_user=YES注释掉  

只更改配置文件,测试时会有500报错,这是本地用户不能对chroot有写权限

chmod   u-w   /home/*   ##去掉所有本地用户的写权限

这时本地用户访问其他目录时,还在自己的家目录

**本地用户访问其他目录的黑名单

cd   /etc/vsftpd   ;   vim    chroot_list   ##建立名单(名单性质可变)

vim   /etc/vsftpd/vsftpd.conf

chroot_local_user=NO   ##默认可以访问其他目录
chroot_list_enable=YES   ##名单确认为黑名单
chroot_list_file=/etc/vsftpd/chroot_list

student用户不能访问其他目录:

其他用户可以访问:

**本地用户访问其他目录的白名单

chroot_local_user=YES   ##默认不可以访问其他目录
chroot_list_enable=YES   ##名单确认为白名单
chroot_list_file=/etc/vsftpd/chroot_list

student用户可以访问其他目录:

其他用户不可以访问:

3)限制本地用户的登陆

vim   /etc/vsftpd/ftpusers     ##永久的用户黑名单

vim   /etc/vsftpd/user_list     ##用户临时黑名单

这时以黑名单中用户登录:

白名单设定:vim   /etc/vsftpd/vsftpd.conf

userlist_deny=NO

将用户从/etc/vsftpd/ftpusers 删除(默认永久黑名单优先权大) 这时只有在/etc/vsftpd/user_list里的用户才能登陆

5、ftp虚拟用户的设定

首先创建虚拟用户的家目录   mkdir   -p   /ftphome/ftpuser1/user1dir   ;   mkdir   -p   /ftphome/ftpuser2/user2dir

再创建虚拟用户   cd    /etc/vsftpd   ;   vim westosfile(文件名任意)

ftpuser1   ##用户名1
123   ##用户1密码
ftpuser2   ##用户名2
123   ##用户2密码

对上面的明文密码加密:db_load    -T    -t    hash    -f    /etc/vsftpd/westosfile    /etc/vsftpd/westosfile.db

cd    /etc/pam.d   ;   vim   westos(文件名任意)

account  required         pam_userdb.so     db=/etc/vsftpd/westosfile
auth     required         pam_userdb.so     db=/etc/vsftpd/westosfile
 
##account表示帐号名称auth表示密码,不分先后顺序
##required:用户认证
##pam_userdb.so这个插件来验证账户信息

vim    /etc/vsftpd/vsftpd.conf

在主配置文件的末尾加上:

pam_service_name=westos   ##westos是/etc/pam.d/的文件
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=ftp
local_root=/ftphome/$USER
user_sub_token=$USER

测试前:chmod   775   /ftphome/ftpuser1/user1dir   ;    chgrp   ftp   /ftphome/ftpuser1/user1dir

**ftp虚拟用户家目录里的权限设定

vim   /etc/vsftpd/vsftpd.conf

在末尾添加:user_config_dir=/etc/vsftpd/userconf

cd    /etc/vsftpd   ;   mkdir    userconf   ;   cd    userconf   ;   vim   ftpuser1   ;   添加anon_mkdir_write_enable=YES

在配置文件中anon_mkdir_write_enable=YES要注释掉

ftpuser1:成功创建目录

ftpuser2:没有权限,不能创建目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值