热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOS6.4安装vsftpd服务器并配置多用户登录

Centos6.3通过yum来安装vsftpd,主要是编译安装老是出错,特别麻烦,以后有空的话再研究研究。1.通过yum来安装vsftpd[root@localhost~]#yum-yinstallvsftpd加-y是因为出现提示默认直接按Y。这里yum安装的vsftpd版本应该是2.2.2的。[root@localh
Centos 6.3 通过yum来安装vsftpd,主要是编译安装老是出错,特别麻烦,以后有空的话再研究研究。

1.通过yum来安装vsftpd
[root@localhost ~]# yum -y install vsftpd
加-y是因为出现提示默认直接按Y。这里yum安装的vsftpd版本应该是2.2.2的。
[root@localhost ~]# service vsftpd status  //查看状态,默认是关闭的        [root@localhost ~]# service vsftpd start    //开启vsftpd服务

2.设置为开机启动
[root@localhost ~]# chkconfig vsftpd on        
[root@localhost ~]# netstat -tl            //可以查看ftp端口是否在侦听了!


3.进行相关配置,配置修改在/etc/vsftpd/vsftpd.conf里面;
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
用vim对代码着色更容易修改。比vi要清楚。自己按照需求进行设置,请看下面的vsftpd.conf的相关配置说明。

4.设置vsftp的帐号。
普通的添加帐号的话,可以用该帐号登录服务器,使用nologin禁止FTP帐户登录服务器。
只需要执行命令:
[root@localhost ~]# useradd -d /usr/local/apache/htdocs -s /sbin/nologin 用户名 
添加上帐号指定好ftp帐号的根目录。例如下面的代码,创建ftp帐号ftpuser在网站的根目录htdocs下。
[root@localhost ~]# useradd -d /usr/local/apache/htdocs -s /sbin/nologin ftpuser
帐号设置好了,但是还没有给帐号加上密码。使用passwd给帐号设置密码。
[root@localhost ~]# passwd ftpuser        New password:        //输入密码        Retype new password:        //再次输入密码
输入好了就可以通过帐号密码来访问vsftpd了。
vsftpd.conf的相关配置说明:(下面这段摘抄自网络。)

1) 匿名服务器的连接
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的基本选项

2)开启匿名FTP服务器上传权限(看看即可,一般不开启匿名上传权限)
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件) 
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

3)开启匿名服务器下载的权限
在配置文件中添加如下信息即可:
Anon_world_readable_Only=no
注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读,下载 (W)写,上传 (X)执行。如果不开FTP的目录都进不去

4)普通用户FTP服务器的连接
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限
注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下载

5) 用户登陆限制进其它的目录,只能进它的主目录
设置所有的本地用户都执行chroot
Chroot_local_user=yes (本地所有帐户都只能在自家目录)
设置指定用户执行chroot
Chroot_list_enable=yes (文件中的名单可以调用) 
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可

6) 限制本地用户访问FTP
Userlist_enable=yes (用userlist来限制用户访问)
Userlist_deny=no (名单中的人不允许访问)
Userlist_file=/指定文件存放的路径/ (文件放置的路径)
注:开启userlist_enable=yes匿名帐号不能登陆

7)安全选项
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端口进行数据连接)
8) 查看谁登陆了FTP,并杀死它的进程
ps ?xf |grep ftp
kill 进程号
 
CentOS vsftpd多用户配置

1、安装vsftp,本文采用yum安装:
Yum  install  vsftpd
 
2、安装后运行:
service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpdforvsftpd: OK ]
 
3、新增加系统用户:
#useradd -d /home/www.haojifang.cn -s /sbin/nologin haojifang.cn //增加新用户不让在本机登陆
#chown ?R haojifang.cn /home/www.haojifang.cn //更改新增目录的权限,只允许haojifang.cn访问此目录;
#chmod 777 -R /home/www.haojifang.cn
passwd haojifang.cn //为用户设置密码;
 
Changing passwordforuser haojifang.cn.
New UNIX password:
BAD PASSWORD: it does not contain enough DIFFERENT characters
RetypenewUNIX password:
passwd: all authentication tokens updated successfully.
 
5、修改vsftpd.conf 禁止匿名帐号登陆及允许自建帐号登陆:
vi /etc/vsftpd/vsftpd.conf
 
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
 
4、修改/etc/vsftpd/chroot_list 添加haojifang.cn 帐号允许该帐号登陆FTP服务器
5、在linux Shell 命令模式下
#setsebool ftpd_disable_trans // 关闭掉Selinux 对ftp服务的保护;
#vi /etc/selinux/config
SELINUX=disabled//将此处设置为Disable
SELINUXTYPE= type of policy in use. Possible values are:
targeted Only targeted network daemons are protected.
strict Full SELinux protection.
SELINUXTYPE=targeted
 
重启服务
service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpdforvsftpd: OK ]

推荐阅读
author-avatar
alloyer
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有