§1.1 安装FTP
#rpm -qa vsftpd 查看是否已经安装
#yum install -y vsftpd
§1.2 配置vsftpd
FTP 安装好之后,在/etc/vsftpd/目录下会有如下文件:
# cd /etc/vsftpd/
# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
说明:
vsftpd.conf: 主配置文件
ftpusers: 指定哪些用户不能访问FTP服务器
user_list: 指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。
§1.2.1vsftpd.conf: 主配置文件
§1.2.1.1anonymous_enable指令
anonymous_enable指令设置是否允许匿名访问服务器,默认设置是“anonymous_enable=YES”。设置“YES”表示允许匿名访问,设置“NO”表示不允许。
匿名访问这种情况下,用户名默认是“anonymous”或者“ftp”,密码一般是访问者的电子邮箱地址,或者也可以使用空密码。
§1.2.1.2local_enable指令
local_enable指令指出是否允许本地账户访问FTP。默认设置是“local_enable=YES”,即允许本地账户访问服务器。需要说明的是,允许本地账户访问服务器存在安全方面的问题。本地账户访问服务器时,用户名和密码通过网络传输是不安全的。
§1.2.1.3anon_upload_enable指令
anon_upload_enable指令指定是否允许匿名用户通过vsftpd服务器上传文件。默认设置是不允许的,如果需要允许匿名用户上传文件,去掉“#anon_upload_enable=YES”前面的“#”。
§1.3 启动、关闭服务命令
#service vsftpd restart
# service vsftpd start
# service vsftpd stop
§1.3.1查看vsftpd 启动状态
# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig vsftpd on
# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
让FTP每次开机自动启动,运行命令: “chkconfig --level 35 vsftpd on”
§1.4 Linux添加FTP用户并设置权限
§1.4.1启动vsftpd服务
1、启动VSFTP服务器
A:centos下运行:yum install vsftpd
B. 登录Linux主机后,运行命令:”service vsftpd start”
C. 要让FTP每次开机自动启动,运行命令: “chkconfig --level35 vsftpd on”
§1.4.2设置FTP权限
A. 编辑VSFTP配置文件,运行命令:”vi /etc/vsftpd/vsftpd.conf “
B. 将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
C. 保存修改,按ESC键,运行命令:“:wq”这样关闭了匿名登录功能。
重启服务:
§1.4.3添加用户:
A. 登录Linux主机后,运行命令:”useradd ftpadmin -s /sbin/nologin “。该账户路径默认指向/home/ftpadmin目录;如果需要将用户指向其他目录,请运行命令:useradd ftpadmin -s /sbin/nologin –d/www(其他目录)
B. 设置ftpadmin用户密码,运行命令:”passwd ftpadmin” ; 输入两次密码,匹配成功后,就设置好了ftpadmin用户的密码了。
C.测试连接,您可以在“我的电脑”地址栏中输入 ftp://IP 来连接FTP服务器,根据提示输入账户密码。
如果出现连接连接失败,或这提示下列信息
错误原因:对方服务器开启了selinux,导致连接被阻断的情况。
解决方法:关闭selinux:
#setenforce 0
如果是windows系统,直接利用鼠标进行相关操作即可
§1.4.4设置权限
在linux中添加ftp用户,并设置相应的权限,操作步骤如下:
1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test
2、建用户,命令行状态下,在root用户下:
运行命令:“useradd -d /home/test test”//增加用户test,并制定test用户的主目录为/home/test
运行命令:“passwd test”//为test设置密码,运行后输入两次相同密码
3、更改用户相应的权限设置:
运行命令:“usermod -s /sbin/nologin test”//限定用户test不能telnet,只能ftp
运行命令:“usermod -s /sbin/bash test”//用户test恢复正常
运行命令:“usermod -d /test test”//更改用户test的主目录为/test
4、限制用户只能访问/home/test,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
编辑上面的内容
第一行:chroot_list_enable=YES//限制访问自身目录
第三行:编辑vsftpd.chroot_list。根据第三行说指定的目录,找到chroot_list文件。(因主机不同,文件名也许略有不同)
编辑vsftpd.chroot_list,将受限制的用户添加进去,每个用户名一行
5、重启服务器
改完配置文件,不要忘记重启vsFTPd服务器
运行命令:/etc/init.d/vsftpd restart
6、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
运行命令:“usermod -s /usr/bin/passwd test”//用户telnet后将直接进入改密界面