Centos 6.5下安装vsftp------本地用户

准备工作:

检查防火墙和selinux,并关闭;

service iptables stop    c6的版本用这个;如果要用,就开启2021端口;

chkconfig iptables off                 ;

sestatus先查看selinux的状态,

如果不是disable可用 vi/etc/selinux/config

   将SELINUX=XXX -->XXX 代表级别

    改为SELINUX=disabled

Selinux关闭要重启下,reboot;

Setenforce 0  临时设置为中等级别

Getenforce    获取selinux当前的设置;

一: FTP安装

1:安装 :

 

rpm–qa |grep ftp 先查看有没有装;

 

yum–y install ftp vsftpd*

 

yum–y install pam       //安全验证;

 

 

2、配置FTP参数

1、)修改/etc/vsftpd/vsftpd.conf相关参数。

ch确保该配置文件中,存在以下信息。注意要将配置项前面的#去掉,配置才生效。

anonymous_enable=NO         //是否接受匿名用户访问

local_enable=YES             //是否接受本地用户

local_umask=022              //本地账户的权限掩码

write_enable=YES             //是否可以上传,写操作,  全局

anon_upload_enable=YES       //匿名用户是否可以上传

anon_mkdir_write_enable=YES  //匿名用户是否可以建目录

ascii_upload_enable=YES      //管控是否可用ASCII模式上传

ascii_download_enable=YES    //管控是否可用ASCII模式下载

dirmessage_enable=YES       //进入目录是否显示消息

xferlog_enable=YES          //是否开启xferlog日志功能

connect_from_port_20=YES    //使用主动模式连接,启用20端口

ftpd_banner=Welcome to blah FTP service.//欢迎语

listen=YES                  //是否监听端口,;

chroot_list_enable=YES    //是否启用本地账户列表

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list    //列表文件路径

//自己在/vsftpd下面新建一个chroot_list,加入要用的账户;

 

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES        //是否启用tcp_wrappers

 

pasv_enable=YES    #//是否启用被动模式连接,默认为被动;

#pasv_promiscuous=YES     #//混合模式;

#listen_port=2134     #//监听入站FTP请求的端口号,指定端口;

pasv_max_port=5999

pasv_min_port=5900

dual_log_enable=YES   //表明启用了双份日志。在用xferlog文件记录服务器上传下载情况的同时,vsftpd_log_file所指定的文件,即/var/log/vsftpd.log,也将用来记录服务器的传输情况

 

#chroot_local_user=YES    //是否禁锢本地账户根目录,默认为No

#local_root=/ftp目录      //本地账户访问FtP根路径;一般不用

#最后去#号和文字,当全部做完时#chroot_local_user=YES  

//本地目录锁定在自家目录中此(参数只需要在文件服务器上配置)

2、   )通过root用户访问FTP功能  

注释掉 vim/etc/vsftpd/ftpusers(黑名单)中的root;      #root

注释掉 vim/etc/vsftpd/user_list(白名单)中的root ;     #root

注:userlist_deny=yes则为黑名单,=N0,则为白名单;-àuser_list

 

3、   )启动与关闭FTP服务

启动命令#service vsftpd start

关闭命令#service vsftpd stop

重启命令#service vsftpd restart

4、)修改登录用户限制

/etc/pam.d/vsftpd 文件中的 auth required pam_shells.so注释掉因为此文件对登录用户进行了限制 :     vim /etc/pam.d/vsftpd

# authrequired pam_shells.so

5、)设置FTP服务 自动启动

方法一:

[root@cti-m ~]#chkconfig vsftpd on ;  chkconfig –addtelnet

[root@cti-m ~]#service vsftpd restart

[root@cti-m ~]#chkconfig –list vsftpd

 

 

方法二:

把service vsftpd start   加入/etc/rc.local即可。

 

6、   )创建、配置FTP目录权限    (如果没有目录的情况下)

#mkdir /ftpserver    (如果是上传的文件服务器,就不要再建了)

#chmod -R 777 /ftpserver

 

7、)创建ftp帐号,访问FTP

[root@hzhost]#groupadd fileftp

[root@hzhost]#useradd-G fileftp(用户组) -d /fileserver(目录)-s /bin/bash admin

[root@hzhost]#passwd admin

 

/bin/bash,是可以访问shell的用户,/bin/nologin是不能访问的账户;

 

下面这些只能在在文件服务器上配置(如是同一个地方,就一起建,有报提示,没事)

 

useradd -g fileftp-d /fileserver/1 -s /bin/bash admin1

passwd admin1

将username 加到user_list文件;vim/etc/vsftpd/user_list;

查看cat/etc/passwd  ; 修改用:usermod –d /根目录绝对路径   admin

     Cat /etc/group;   修改用:usermod –G  附加组 admin

如果目录只给一个用户用的话,可以这样设置:

chown  admin:fileftp  ftpserver -R

 

然后开启本地账户的禁锢;重启服务

chroot_local_user=YES    (如果禁锢了,反而不行,就再关掉)

local_root=/home/cmsuploader           指定目录;一般不指定;

 

 

 

 

测试:

现在用帐号admin访问FTP,就相当于访问服务器上的/fileserver目录,可进行上传下载文件。(运行cmd)  或打开我的电脑,用地址栏测试下:

 

 

 

admin  对应  /ftpserver      目录

admin1 对应   /ftpserver/1   目录

 

然后用浏览器测试:

 

 

如果是主动模式请修改配置:


附: cmd下的ftp 测试:

命令有:ftp ,open close dirls , put get ,mkdir rmdir ,delete ..bye 等;

 

 

PUT -----get  举例: 默认系统用户的家目录;

 


9.  lcd D:\ftpin
/*定位本地默认文件夹。这里的lcd命令类似于平时命令行下的cd*/

 

然后就可以上传下载东西的;

10.  !dir
/*查看本地文件夹中的文件及目录*/

 

 

 

ftp://test:test123@121.40.191.88:21      直接访问地址