一、创建匿名访问的FTP服务

1、使用场景

中学中学生下载老师上传的文件,而且这个匿名帐户只有下载权限没有删掉写入更改权限。在本文章中我们要实现匿名访问,更改FTP默认目录,创建“download”目录要求只容许匿名下载,创建“upload”允许用户上传下载文件更名和文件删掉。

2、实现目标

匿名用户使用ftp服务启动帐户的身分访问FTP,假如须要上传须要ftp帐户才能在文件夹中有写入权限。

修改FTP配置文件准许匿名用户登入ftp服务。

运行匿名用户上传。

修改匿名用户ftp根目录/var/ftproot/。

在FTP根目录下创建两个文件夹upload容许匿名上传

download只容许下载不容许上传

匿名用户上传后的文件权限是644权限网段为022。

3、创建匿名FTP根目录

注意:为匿名用户创建新的ftp根目录,注意根目录权限不能修改,否则匿名用户不能登入。谨记谨记!

创建ftproot文件夹

mkdir/var/ftproot

查看ftproot的权限

得出以下结果

创建容许用户上传的目录

修改upload文件夹的权限,能够容许匿名用户上传

创建只容许用户下载的目录

注意检测download文件夹权限匿名用户能不能上传(正常创建文件夹默认是不容许上传的)

得出以下结果

4、更改配置文件

重命名配置文件

ftp命令 linux_匿名FTP服务配置_vsftpd配置文件修改

去除注释行形成一个新的配置文件

依据需求编辑配置文件

vsftpd.conf

保存后重启vsftp服务

5、测试

在XP上访问ftp服务器,发觉不须要输入帐户密码直接登陆,看见两个文件夹,打开upload,可以上传文件和文件夹,可以更改上传的文件名,删掉上传的文件。并且download文件,不能上传,只能下载。

附:常见的匿名用户相关设置

二、通过更改配置文件来禁用FTP被动模式(跟据须要去设置)

vsftpd.conf

注释:

pasv_enable=yes(Default:YES)设置是否容许pasv模式

pasv_promiscuous=no(Default:NO)是否屏蔽对pasv进行安全检测,(当有安全隧洞时可禁用)

pasv_max_port=10240(Default:0(useanyport))pasv使用的最大端

pasv_min_port=1024(Default:0(useanyport))pasv使用的最小端

pasv_address(Default:(none-theaddressistakenfromtheincomingconnectedsocket))pasv模式中服务器传回的ip地址

三、配置启用了SELinux的服务器容许匿名访问FTP(跟据须要去设置)

1、编辑SELinux配置文件改成启用状态

2、重启Linux

3、设置SELinux打开匿名访问开关

查看SELinux是否容许匿名上传

可以看见是关掉off状态

开启匿名上传功能

匿名FTP服务配置_ftp命令 linux_vsftpd配置文件修改

四、设置ftp目录文件类型

1、更改upload文件夹对所有人开放读写权限

2、设置FTP根目录文件类型,容许匿名才能打开

3、设置upload文件类型,容许匿名才能读写。

五、配置本地用户登入FTP

1、关闭SELinux(参见前面文章)

2、创建两个用户并设置密码

3、在每位人的主目录下创建一个文件。拿来测试登陆ftp后默认被定位到自己的主目录。

4、修改配置文件使FTP支持本地用户登入

vsftpd.conf

5、保存重启vsFTP服务

6、验证

在Windows顾客端中,默认使用匿名登陆,右击空白处,点击登陆,可以切换访问FTP的用户身分。假如用zhang的帐号密码登入,可以看见zhang.txt,才能说明,访问的是自己的主目录。假如用wang的帐号密码登入,可以看见访问的是wang的主目录。

六、禁止Linux用户访问FTP

0、前言

vsFTP通过user_list控制什么Linux用户才能访问ftpred hat linux下载,什么用户拒绝访问ftp。修改vsFTP配置文件,启用Linux用户列表user_list,并设置列表中的用户拒绝访问FTP。注意:假如userlist_deny=NO,则意味着只容许user_list列表中的用户才能访问FTP。

1、修改配置文件

vsftpd.conf

2、编辑user_list,在文件后面添加zhang

3、验证

在Windows顾客端上登陆zhang用户,瞧瞧能够登入,假如早已不能登入FTP了,说明配置正确

vsftpd配置文件修改_匿名FTP服务配置_ftp命令 linux

PS:还有一个文件,ftpusers,该文件中的用户拒绝登陆ftp

七、将FTP用户定位到同一个目录

1、创建目录

2、修改文件夹权限

3、修改配置文件

在文件上加一行

4、重启服务

八、配置启用了SELinux的服务器容许本地用户访问FTP(跟据须要去设置)

1、开启SELinux

2、重启服务器

3、重启服务器后进行如下设置

九、配置虚拟用户登入FTP服务

1、检查SELinux和iptables是否关掉

2、查看是否早已安装了数据库

假如这两个有显示证明有

假如没有安装运行以下命令

3、创建用户列表(文件名可以随意给)

vusers.list

注释:

db_load应当是linux下创建虚拟帐户:

选项-T容许应用程序才能将文本文件转译载入进数据库。因为我们以后是将虚拟用户的信息以文件形式储存在文件里的,为了让Vsftpd这个应用程序才能通过文本来载入用户数据,必需要使用这个选项。

vsftpd配置文件修改_匿名FTP服务配置_ftp命令 linux

指定了选项-T,这么一定要追加子选项-t;子选项-t,追加在在-T选项后,拿来指定转译载入的数据库类型。

-f参数前面接包含用户名和密码的文本文件,文件的内容是:质数行用户名、偶数行密码

hash就是使用hash码加密

5、建立FTP访问的根目录及虚拟用户对应的系统账户

构建帐户,该帐户无需设置密码及登陆shell该帐户的寄主目录作为所有虚拟用户登入后的共同FTP根目录。

修改FTP根目录权限。

构建测试文件。

6、建立PAM认证文件(PAM配置文件主要用户为程序提供用户认证控制)

vsftpd.virtual

注意:

64位系统要写

32位系统要写

7、修改vsftpd配置文件

vsftpd.conf

8、重启服务

补充:关于virtual_use_local_privs参数

当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;

当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YESftp命令 linuxftp命令 linux

anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

vsftpd配置文件修改_匿名FTP服务配置_ftp命令 linux

anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹linux查看硬件信息,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

9、验证

在Windows顾客端中使用刚才创建的帐户登入进行增删改查操作

十、为虚拟用户设置不同的访问权限

1、实现目标

为FTP虚拟用户设置不同的FTP访问权限,具体要求如下:

zhangyuyjia/var/zhangyujia上传下载

zhangyj/var/zhangyj只才能下载

2、为每位虚拟用户创建独立的目录,改变所有的文件皆有其拥有者

3、为虚拟用户创建独立的配置文件

添加

添加

4、更改vsftp配置文件

vsftpd.conf

PS:谨记,每次配置完vsftpd.conf后一定要重启服务!!!

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复