1 默认情况下匿名用户登陆ftp服务器,都只能下载,不能上传。
2 lftp登陆到远程服务器时,指定要登陆到远程主机上的哪个用户。
一 在安装FTP服务,并在客户端进行测试
1服务器端:
1 安装vsftpd服务
yum install vsftpd
2 重启服务
systemctl start vsftpd
3 设置火墙,在防火清中永久开启FTP的服务项
firewall-config
4 查看火墙,查看FTP服务是否加入防火墙
firewall-cmd --list-all
[root@localhost Desktop]# firewall-cmd --list-all
public (default, active)
interfaces: virbr0 wlp2s0
sources:
services: dhcpv6-client ftp http ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
2 客户端:
1连接ftp服务器来进行测试
可以用 Files——》connection to server
也可以用 yum install lftp 然后 lftp 172.25.254.172
也可以 yum install links 然后 links ftp://172.25.254.172
二 配置ftp的登陆,上传,下载设置
1 默认情况下匿名用户登陆ftp服务器,都只能下载,不能上传。
其实,匿名用户,就是没有指定以什么身份登陆ftp服务器,那默认就是ftp这个身份。
2 lftp登陆到远程服务器时,指定要登陆到远程主机上的哪个用户。
登陆成功后,进入的不再是/var/ftp。而是指定用户的家目录。就跟这个指定的用户本身一样,可以在家目录里上传,下载,删除文件。但是上传的文件所属的用户和组都是指定的用户。
我登陆到desktop上的student用户了,那desktop上student能执行的操作我都可以执行。我是在以student身份执行student可以执行的操作。
《错误码553指 文件系统不允许,你要看目录或者文件的权限了。错误码550是使用的服务不允许,这时候你要检查你所使用的服务的配置了》
3 个性化配置
需要编辑 /etc/vsftpd/vsftpd.conf
* anonymous_enable是否允许匿名用户登陆,即不指定要登陆的用户。
[root@foundation21 ~]# lftp 172.25.254.172 就会失败
* local_enables是否允许以本地(服务器端)的用户身份登陆。如果改为NO的话:
* anon_upload_enable 是否允许上传
man 5 vsftpd.conf 可以看到这个值默认是设置为no的
* anon_world_readable_only 控制能否下载。
相对于/var/ftp/pub 我们是以ftp的身份来执行动作的。要把/var/ftp/pub设置成对ftp可写。chmod 777 /var/ftp/pub 或者 chgrp -g ftp /var/ftp/pub。不过前者把目录的权限弄的太大,很危险,服务可能启不起来。
* anon_mkdir_write_enable 匿名用户能否创建目录
* anon_other_wirte_enable 匿名用户能否进行其他的写操作,包括重命名,删除等
* anon_root 更改不指定用户时,也就是匿名用户的默认访问目录
默认的是/var/ftp/pub。这里你可以自己指定。
* anon_umask 匿名登陆时上传的文件的权限。如果改成022,那最终创建出来的文件的权限是644 创建的目录的权限是755
比如你指定发布目录是/public /public的权限不能大于755.。不然权限太大,ftp服务不会启动。还要把/public的所属组改成ftp chgrp ftp /public
*chown_username 默认情况下,匿名登陆时创建出来的文件的拥有者和组都是ftp。你可以自己指定。注意:lee必须要是你FTP服务器上必须有这个用户。
*控制本地用户那个可以被用来登陆,那个不可以被用来登陆
ftpusers 是永久的黑名单 user_list是临时的黑名单,并且可以设定为白名单
加入到ftpusers里的用户不能再被ftp时登陆。比如student写到ftpusers里面或者user_list里面。
lftp 172.25.254.172 -u student 就不能再登陆了。
下面把user_list 转换成白名单
可以看到/etc/vsftpd/vsftpd.conf user_list 已经被使用了:
下面的设置会让user_list 不再成为黑名单
* 限制指定用户登陆时的活动范围
以指定用户登陆时,默认到指定用户的家目录下。而且还可以切换到其他目录下。这是不符合实际情况的。
我们来做以下限制:
(1)chmod 500 /home/*
(2)vim /etc/vsftpd/vsftpd.con
(3)写chroot_list文件
touch /etc/vsftpd/chroot_list
echo student > /etc/vsftpd/chroot_list
然后重启服务。
(4)结果
就是:黑名单中的student 的家目录就变成/目录了。其他用户都正常。