本地用户经过设置后可以进行ftp 访问。而匿名用户的访问经过了转换,在系统中。匿名用户的用户名为ftp, 系统将其属性设置为 根目录 /var/ftp/, 禁止控制台登陆,也就是,该用户只能进行ftp访问。CentOS 下vsftpd 的执行程序为 /etc/vsftpd,修改 /etc/vsftpd/vsftpd.conf文件中的listen要设置为YES. VSFTPD有两种开机自启动模式: inet模式和standalone模式,推荐使用standalone模式。 在CentOS中已集成了VSFTPD软件。VSFTPD是一个安全高效的 FTP服务软件,得到了广泛的应用。 一、vsftpd 安装 在服务中查看是否已安装VSFTPD服务。如没有,下载并安装 : rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm 二、设置vsftpd自启动 chkconfig --level 35 vsftpd on 三、vsftpd配置 1 打开 /etc/vsftpd/vsftpd.conf文件。将anonymous_enable=YES ,改为anonymous_enable=NO 2 打开 /etc/vsftpd/vsftpd.conf文件。添加user_config_dir=/etc/vsftpd/virtual ,并建立virtual目录。在此目录中建立以用户名为文件名的文件,并写入:local_root=[目录] ,这个目录即是FTP连接时的主目录。 3 限定用户只在自己目录:修改vsftpd.conf文件,取消注释: chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 在/etc/vsftpd/目录下添加文件chroot_list ,加入作为FTP用户 的本地用户名 。 4 解决用户无法进入目录问题: 打开终端,输入:setsebool -P ftpd_disable_trans 1 然后重启FTP服务:service vsftpd restart 四、权限: 假设是/var/www/html 这个目录的权限应该是770,owner是root,group是ftp chmod 770 /var/www/html chown root:ftp /var/www/html centos5下vsftpd的设置(虚拟用户)
前面学校好几台服务器上都需要配置ftp,但一直没有整成功,这次总算完成一件事情了,在centos下完成vsftp的配置了。
centos 安装VSFTP
1.此次为了测试了解一下,VSFTP,采用RPM包安装方式
首先
rpm -qa | grep vsftpd ---------查看有无安装,若没有,则要安装,我采用的是yum
yum install vsftpd
见下:
[root@ftp sbin]# yum install vsftpd
[root@ftp sbin]# service vsftpd status
vsftpd is stopped [root@ftp sbin]# service vsftpd start Starting vsftpd for vsftpd: [ OK ] [root@ftp sbin]#
2.设置每次开机时自动运行及手工启动它:
chkconfig vsftpd on
service vsftpd start
netstat -tl 可以查看ftp端口是否在侦听了!
相关配置文件:/etc/vsftpd/vsftpd.conf里面;
3.至此已经可以FTP已经可以正常运行了,
4.FTP配置参考以下设置:
初级测试篇:(注:匿名用户使用ftp这个系统用户,无需密码)
a. 匿名服务器的连接(独立的服务器)
在/etc /vsftpd/vsftpd.conf配置文件中添加如下几项: Anonymous_enable=yes (允许匿名登陆) Dirmessage_enable=yes (切换目录时,显示目录下.message的内容) Local_umask=022 (FTP上本地的文件权限,默认是077) Connect_form_port_20=yes (启用FTP数据端口的数据连接)* Xferlog_enable=yes (激活上传和下载的日志) Xferlog_std_format=yes (使用标准的日志格式) Ftpd_banner=XXXXX (欢迎信息) Pam_service_name=vsftpd (验证方式)* Listen=yes (独立的VSFTPD服务器)* 功能:只能连接FTP服务器,不能上传和下载
注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项
b. 开启匿名FTP服务器上传权限 在配置文件中添加以下的信息即可: Anon_upload_enable=yes (开放上传权限) Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件) Write_enable=yes (开放本地用户写的权限) Anon_other_write_enable=yes (匿名帐号可以有删除的权限) c. 开启匿名服务器下载的权限 在配置文件中添加如下信息即可: Anon_world_readable_only=no 注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限 (R)读-----下载 (W)写----上传 (X)执行----如果不开FTP的目录都进不去 d.普通用户FTP服务器的连接(独立服务器) 在配置文件中添加如下信息即可: Local_enble=yes (本地帐户能够登陆) Write_enable=no (本地帐户登陆后无权删除和修改文件) 功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限 注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下载 e. 用户登陆限制进其它的目录,只能进它的主目录 设置所有的本地用户都执行chroot Chroot_local_user=yes (本地所有帐户都只能在自家目录) 设置指定用户执行 chroot Chroot_list_enable=yes (文件中的名单可以调用) Chroot_list_file=/任意指定的路径/vsftpd.chroot_list 注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可 f. 限制本地用户访问FTP Userlist_enable=yes (用userlistlai 来限制用户访问) Userlist_deny=no (名单中的人不允许访问) Userlist_file=/ 指定文件存放的路径/ (文件放置的路径) 注:开启userlist_enable=yes匿名帐号不能登陆 g. 安全选项 Idle_session_timeout=600(秒) (用户会话空闲后10分钟) Data_connection_timeout=120(秒) (将数据连接空闲2分钟断) Accept_timeout=60(秒) (将客户端空闲1分钟后断) Connect_timeout=60(秒) (中断1分钟后又重新连接) Local_max_rate=50000(bite) (本地用户传输率50K) Anon_max_rate=30000(bite) (匿名用户传输率30K) Pasv_min_port=50000 (将客户端的数据连接端口改在 Pasv_max_port=60000 50000—60000之间) Max_clients=200 (FTP的最大连接数) Max_per_ip=4 (每IP的最大连接数) Listen_port=5555 (从5555端口进行数据连接) h. 查看谁登陆了FTP,并杀死它的进程 ps –xf |grep ftp kill 进程号
5. 高阶部分测试篇:
配置本地组访问的FTP
首先创建用户组 test和FTP的主目录 groupadd test mkdir /tmp/test 然后创建用户 useradd -G test –d /tmp/test –M usr1 注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定 M:不建立默认的自家目录,也就是说在/home下没有自己的目录 useradd –G test –d /tmp/test –M usr2 接着改变文件夹的属主和权限 chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1 chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有 这个实验的目的就是usr1有上传、删除和下载的权限 而usr2只有下载的权限没有上传和删除的权限 当然啦大家别忘了我们的主配置文件vsftpd.conf
----------------------------------------------------------------------- 修改用户密码或添加用户密码 以用户name为例,添加用户:useradd name,设置密码:passwd name,然后根据提示,输入两次密码即可。 删除用户:userdel name,其实并没有完全删除,只是该用户不能登陆,其目录下的文件还在保留。 如:useradd username passwd username userdel username ---------------------------------------------------------------要确定 local_enable=yes、write_enable=yes、chroot_local_usr=yes这三个选项是有的!
6. VSFTPD.conf里面的参数简要说明:
Anonymous_enable=yes (允许匿名登陆) Dirmessage_enable=yes (切换目录时,显示目录下.message的内容) Local_umask=022 (FTP上本地的文件权限,默认是077) Connect_form_port_20=yes (启用FTP数据端口的数据连接)* Xferlog_enable=yes (激活上传和下传的日志) Xferlog_std_format=yes (使用标准的日志格式) Ftpd_banner=XXXXX (欢迎信息) Pam_service_name=vsftpd (验证方式)* Listen=yes (独立的VSFTPD服务器)* Anon_upload_enable=yes (开放上传权限) Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件) Write_enable=yes (开放本地用户写的权限) Anon_other_write_enable=yes (匿名帐号可以有删除的权限) Anon_world_readable_only=no (放开匿名用户浏览权限) Ascii_upload_enable=yes (启用上传的ASCII传输方式) Ascii_download_enable=yes (启用下载的ASCII传输方式) Banner_file=/var/vsftpd_banner_file (用户连接后欢迎信息使用的是此文件中的相关信息) Idle_session_timeout=600(秒) (用户会话空闲后10分钟) Data_connection_timeout=120(秒) (将数据连接空闲2分钟断) Accept_timeout=60(秒) (将客户端空闲1分钟后断) Connect_timeout=60(秒) (中断1分钟后又重新连接) Local_max_rate=50000(bite) (本地用户传输率50K) Anon_max_rate=30000(bite) (匿名用户传输率30K) Pasv_min_port=50000 (将客户端的数据连接端口改在 Pasv_max_port=60000 50000—60000之间) Max_clients=200 (FTP的最大连接数) Max_per_ip=4 (每IP的最大连接数) Listen_port=5555 (从5555端口进行数据连接) Local_enble=yes (本地帐户能够登陆) Write_enable=no (本地帐户登陆后无权删除和修改文件) 这是一组 Chroot_local_user=yes (本地所有帐户都只能在自家目录) Chroot_list_enable=yes (文件中的名单可以调用) Chroot_list_file=/ 任意指定的路径/vsftpd.chroot_list (前提是chroot_local_user=no) 这又是一组 Userlist_enable=yes (在指定的文件中的用户不可以访问) Userlist_deny=yes Userlist_file=/ 指定的路径/vsftpd.user_list 又开始单的了 Banner_fail=/路径/文件名 (连接失败时显示文件中的内容) Ls_recurse_enable=no Async_abor_enable=yes One_process_model=yes Listen_address=10.2.2.2 (将虚拟服务绑定到某端口) Guest_enable=yes (虚拟用户可以登陆) Guest_username= 所设的用户名 (将虚拟用户映射为本地用户) User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹 (指定不同虚拟用户配置文件的路径) 又是一组 Chown_uploads=yes (改变上传文件的所有者为root) Chown_username=root 又是一组 Deny_email_enable=yes (是否允许禁止匿名用户使用某些邮件地址) Banned_email_file=// 任意指定的路径/xx/ 又是单的 Pasv_enable=yes ( 服务器端用被动模式) User_config_dir=/ 任意指定的路径//任意文件目录 (指定虚拟用户存放配置文件的路径) |