一、创建匿名访问的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、更改配置文件
重命名配置文件
去除注释行形成一个新的配置文件
依据需求编辑配置文件
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目录文件类型
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了,说明配置正确
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这个应用程序才能通过文本来载入用户数据,必需要使用这个选项。
指定了选项-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,
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后一定要重启服务!!!