这次网络安装架设和设置我们选择的linux系统是大名鼎鼎的centOS,因为广大网管对这个系统更加熟悉一些。如何组网和设置路由器的过程和命令行文件都掠过了,只专门讲vsFTP的设置步骤。
首先是检查CentOS上是否安装了vsftp主程序。默认是没有安装这个软件的,需要mount CentOS的光盘,使用rpm –ivh 来安装。
安装成功之后,马上就可以启动这个ftp服务器,使用/etc/init.d/vsftpd start命令就可以启动,然后使用netstat命令可以看到有一个21号的监听端口。默认情况下它会设置可以使用匿名访问,进入的是/var/ftp目录,在这个目录下只有查看权限,限制了root。也可以使用服务器下的实体用户登录,实体用户登录可以进入各自的home目录,并且有上传权限,没有限制root。
再开启一个Linux当做客户端。使用ftp命令进行登录,可以顺利登录上去。修改vsftp的配置文件——vsftpd.conf。可以设置用户的chroot属性,可以设置最大连接用户数,用户的下载速度等。
使用Windows下的ftp工具,首先是使用命令提示符下的ftp命令访问Linux下的ftp服务器,再有个是使用cuteftp工具访问ftp服务器。
设置vsftpd的虚拟用户账号的支持。这个用户不是系统用户,只能登陆ftp服务器不能登陆系统。
建立虚拟用户
[root@localhost ~]#vi /etc/vsftpd/vftpuser.txt
添加虚拟用户名和密码 奇数行为用户名 反之为密码
qiu
123
cancan
123456
生成虚拟用户口令认证文件
把刚添加的vftpuser.txt虚拟用户口令转换成系统的口令认证文件
root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vu_list.db
编辑vsftpd的PAM认证
[root@localhost ~]#vi /etc/pam.d/vsftpd.vu
录入下文 http://www.luyouqiwang.com/13871/
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
建立本地映射用户并设置宿主权限
[root@localhost ~]#mkdir /opt/tonecan (在/opt建立一个tonecan)
[root@localhost ~]#useradd -d /opt/tonecan -s /sbin/nologin vftpuser
[root@localhost ~]#chmod 777 /opt/tonecan
并且设置权限为777.
配置 vsftpd.conf (设置虚拟用户配置项)
[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #开启虚拟用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf 虚拟用户配置文件存放位置
guest_username=vftpuser (FTP虚拟用户对用的系统用户useradd -d /opt/tonecan -s /sbin/nologin vftpuser)
pam_service_name=vsftpd#PAM认证文件
测试登录
root@localhost ~]#service vsftpd restart
重启vsftpd服务 然后测试登录。
建立各个虚拟用户自身的配置文件
root@localhost ~]#vi /etc/vsftpd/vsftpd.conf
[root@localhost ~]#mkdir /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]#touch ftp1
[root@localhost ~]#touch ftp2
编辑qiu文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/qiu
添加
anon_world_readable_only=NO #开放ftp1的下载权限(只能下载)。
编辑cancan文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/cancan
添加
write_enable=YES #开放ftp2的写权限
anon_world_readable_only=NO #开放ftp2的下载权限
anon_upload_enable=YES #开放ftp2的上传权限
anon_mkdir_write_enable=YES #开放ftp2创建目录的权限
anon_other_write_enable=YES #开放ftp2删除和重命名的权限
local_root=/var/vsftpd/ 指定FTP的家目录
各虚拟用户使用自身配置
root@localhost ~]#vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf #设定用户配置文件存放目录
ftpd_banner=Welcome to yoozhu FTP server
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
tcp_wrappers=NO
setproctitle_enable=YES
listen_port=21
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
虚拟用户高级设置
1、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=YES
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时,虚拟用户只能下载文件和创建文件夹,无其他权限
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限
6、 设置vsftpd的虚拟ftp功能。 |