RHEL6基础四十七之RHEL文件服务器VSFTP实例

1.常用登陆方式: 

  格式:sftp <user>@<host>

  通过sftp连接<host>,端口为默认的22,指定用户<user>。

2.查看sftp支持的命令

  使用help命令,查看支持的命令,如:

  sftp>help

   (其中命令前面有“l”表示本地执行,其他表示在所登录的远程主机上面执行)

3.基本的使用

  sftp主要是用来传输文件的,包括上传文件(从本机到远程主机) ,下载文件(从远程主机到本机)。

  (1)文件下载

     get [-Ppr] remote [local]  

    如:get test.cpp ./Project/ 

      将远程当前目录下的文件test.cpp下载到本地当前目录的Project文件夹中。

  (2)文件上传

    put [-Ppr] local [remote]

    如:put /home/liu/Software/RHEL_5.5\ x86_64.iso /home/xudong/Blog/

      将本地/home/liu/Software/目录下的ios文件传送到远程登陆主机的/home/xudong/Blog/目录下。

  (3)其他命令

    可以使用命令还是有几个的,如ls、lls;cd、lcd;pwd、lpwd等。具体查看help输出吧。

4. 查看登录时的服务器和本机的当前目录:

   你如果不知道远程主机的目录是什么样, pwd命令可以帮您查询远程主机的当前路径。查询本机当前工作目录 lpwd.

5. 其他命令:改变路径可以用cd ,改变本机路径可以用 lcd;

  ls rm rmdir mkdir 这些命令都可以使用。同理调用本机都是加 l , 即 lls lrm.

  要离开sftp,用exit 或quit、 bye 均可。详细情况可以查阅 man  sftp.

   如果觉得在命令行模式下不太方便,可以 sudo apt-get install gftp。在图形界面下操作就简便多了。

匿名用户登陆FTP:

默认配置文件里开启了匿名访问(anonymous_enable=YES),只需要使用默认的匿名用户名ftp或anonymous,密码为空登陆即可

Windows访问FTP服务:RHEL6基础四十七之RHEL文件服务器VSFTP实例

Linux访问FTP服务:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@justin ~]# lftp 10.15.72.38
lftp 10.15.72.38:~> cdpub
cdok, cwd=/pub
lftp 10.15.72.38:/publs
-rw-r--r--    1 0        0               4 Dec 26 06:11 111.txt
-rw-r--r--    1 0        0            2006 Dec 09 06:23 CentOS6-Base-163.repo
-rw-r--r--    1 0        0            1706 Nov 16  2001 RPM-GPG-KEY-CentOS-6
-rw-r--r--    1 0        0           37052 Nov 16  2001 python-iniparse-0.3.1-2.1.el6.noarch.rpm
-rw-r--r--    1 0        0         1019540 Dec 09 04:30 yum-3.2.29-40.el6.centos.noarch.rpm
-rw-r--r--    1 0        0           27140 Nov 16  2001 yum-metadata-parser-1.1.2-16.el6.i686.rpm
-rw-r--r--    1 0        0           28220 Nov 16  2001 yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
lftp 10.15.72.38:/pub> get 111.txt
4 bytes transferred
lftp 10.15.72.38:/pub> get CentOS6-Base-163.repo
2006 bytes transferred
lftp 10.15.72.38:/pub> quit
[root@justin ~]# ls
111.txt  anaconda-ks.cfg  CentOS6-Base-163.repo  install.log  install.log.syslog
[root@justin ~]# lftp 10.15.72.38
lftp 10.15.72.38:~> put anaconda-ks.cfg
put: Access failed: 550 Permission denied. (anaconda-ks.cfg)
lftp 10.15.72.38:/>

下载的文件默认放在用户当前登陆的目录,所以用户一定要对当前的目录有写入权限

开启匿名用户上传功能:

 默认情况下,ftp的根目录为/var/ftp,为了安全,这个目录默认不允许设置为777权限,应该是750 或者 755;否则ftp将无法访问。但是我们要匿名上传文件,需要“other”用户的写权限,正确的做法:

 在/var/ftp中建立一个upload(名子自己起吧)文件夹


客户端登陆ls提示:226 Transfer done (but failed to open directory).

检查selinux,关闭selinux:


关闭SELinux的方法:


修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。

如果不想重启系统,使用命令setenforce 0  

注:

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式


另外还可:

在终端输入 setsebool ftpd_disable_trans 1 然后service vsftpd restart重启vsftp服务。

如果输入上述命令时出现:Could not change active booleans: Invalid boolean

是因为SELinux的问题接着在终端输入:setsebool ftp_home_dir=1 重启vsftp服务即可解决问题。


1、上传目录ftp用户有写入权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@justin ~]# cd /var/ftp/
[root@justin ftp]# ll
总用量 4
drwxr-xr-x 2 root root 4096 12月 26 15:18 pub
[root@justin ftp]# mkdir upload
[root@justin ftp]# ll
总用量 8
drwxr-xr-x 2 root root 4096 12月 26 15:18 pub
drwxr-xr-x 2 root root 4096 12月 26 15:23 upload
[root@justin ftp]# chown ftp upload/
[root@justin ftp]# ll
总用量 8
drwxr-xr-x 2 root root 4096 12月 26 15:18 pub
drwxr-xr-x 2 ftproot 4096 12月 26 15:23 upload
[root@justin ftp]#

2、修改配置文件,使服务器配置支持上传

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@justin ftp]# vim /etc/vsftpd/vsftpd.conf
17 # Uncomment this to enable any form of FTP write command.
18 write_enable=YES
21 # if your users expect that (022 is used by most other ftpd's)
22 local_umask=022
23 anon_umask=022
24 # Uncomment this to allow the anonymous FTP user to upload files. This only
25 # has an effect if the above global write enable is activated. Also, you will
26 # obviously need to create a directory writable by the FTP user.
27 anon_upload_enable=YES
28 #
29 # Uncomment this if you want the anonymous FTP user to be able to create
30 # new directories.
31 anon_mkdir_write_enable=YES
32 #

取消27和31行的注释,anon_upload_enable设置是否允许匿名用户上传文件,默认为YES,开启该项须设置全局的write_enable=YES,anon_mkdir_write_enable设置是否允许匿名用户创建新文件夹,默认为YES且不启用,anon_umask设置匿名用户的umask值。umask值是一种反码的形式,当匿名用户在FTP主目录中创建目录或文件时,目录或文件所具有的默认权限就是由umask值决定的。由于对于目录,我们所能拥有的最大权限是777,对于文件,我们所能拥有的最大权限是666。因为x执行权限对于目录是必须的,没有执行权限就无法进入目录;而对于文件则不必默认赋予x执行权限。所以对于匿名用户创建的目录,默认的权限就是用777减去umask值,即755;对于创建的文件,默认的权限则是用666减去umask值,即644

3、确认SELinux为关闭状态

1
2
3
[root@justin ftp]# sestatus
SELinux status:                 disabled
[root@justin ftp]#

1
2
3
4
[root@justin ftp]# /etc/init.d/vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]
[root@justin ftp]#

4、重启服务

1
2
3
4
[root@justin ftp]# /etc/init.d/vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]
[root@justin ftp]#

5、匿名登陆上传文件

RHEL6基础四十七之RHEL文件服务器VSFTP实例

1
2
3
4
[root@justin ftp]# cd /var/ftp/upload/
[root@justin upload]# ls
check_traffic.docx
[root@justin upload]#

上传的文件匿名是无法删除的

RHEL6基础四十七之RHEL文件服务器VSFTP实例

anon_other_write_enable=YES     #容许匿名用户除了新建和上传外的其他权限,如:删除、更名。

如果要修改主目录:

local_root=/var/www/html

chroot_local_user=YES

anon_root=/var/www/html

注:local_root 针对系统用户;anon_root 针对匿名用户。


禁用匿名用户登陆

1
2
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO

如果此时本地用户也不允许登陆连接ftp时会提示500 OOPS: vsftpd: both local and anonymous access disabled!


RHEL6基础四十七之RHEL文件服务器VSFTP实例

开启匿名登陆弹出验证窗口:

配置文件里anonymous_enable=YES,同时指定了密码用户访问的目录anon_root=/app/ftp,登陆时候会弹出帐号密码筐,这时可以检查ftp用户的的家目录是否为/app/ftp


可选项

1
#anon_max_rate= 5000

设置匿名用户传输的最大速率,单位B(0为不限制)

1
#chown_uploads=YES

匿名用户上传文件是否更改文件的拥有者(拥有组仍是FTP)匿名用户建立文件夹,拥有者仍是FTP

1
#chown_username=ftp

更改后的拥有者。

1
#anon_umask=700

同local_umask


本地用户登陆FTP:

FTP主配置文件中默认允许本地用户访问,访问后进入的是该用户的家目录,即对该目录有写权限,写入的umask是022

1
2
3
4
5
6
7
8
9
10
11
[root@justin ~]# vim /etc/vsftpd/vsftpd.conf
14 # Uncomment this to allow local users to log in.
15 local_enable=YES
16 #
17 # Uncomment this to enable any form of FTP write command.
18 write_enable=YES
19 #
20 # Default umask for local users is 077. You may wish to change this to 022,
21 # if your users expect that (022 is used by most other ftpd's)
22 local_umask=022   
23 #

1、不管源文件权限如何,上传后文件根据由local_umask=xxxx决定,777-xxx;

2、不管源文件权限如何,也不管xxx是否屏蔽1可执行,上传文件都不可执行。上传后的文件永远不可执行。

3、 默认xxx为177(0077)

4.、 建立目录权限为700


以下为可选项

1
#local_max_rate=50000

设置本地用户传输的最大速率50k(0为不限制)

1
2
3
4
5
# users to NOT chroot().
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list

1、是否囚监本地用户使其不能切换到自家目录。

2、表示转折开启囚监列表功能,在列表中的用户可是例外。

3、囚监列表文件的存放位置。

1
2
3
#userlist_enable=YES
#userlist_deny=YES | NO
#userlist_file=/etc/vsftpd/userlist_file

是否开启userlist访问控制功能。

列表中的用户是否被禁止访问,YES禁止列表中的用户。NO除列表中用户外都被禁止。当NO时,只有在列表中加入“ftp”匿名用户才可以访问。或加入“anonymous”,anonymous才可以访问。当最终文件拥有者仍为“ftp”用户。userlist_file指定列表文件

1
#local_root=/app

默认没有此参数,将本地用户引导到自家目录当中,也可加入此参数,指定本地用户来登录后进入其他目录中。


创建本地账户:

1
2
3
4
5
6
7
[root@justin ~]# useradd localftp
[root@justin ~]# echo "ftp"|passwd --stdin localftp
更改用户 localftp 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@justin ~]# cat /etc/passwd |grep localftp
localftp:x:515:515::/home/localftp:/bin/bash
[root@justin ~]#

确认SELinux状态:

本机SELinux为关闭状态

1
2
3
[root@justin ~]# sestatus
SELinux status:                 disabled
[root@justin ~]#

如果SELinux是开启的,需要让SELinux允许用户在家目录里写入数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@justin ~]# getsebool -a|grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
[root@justin ~]# setsebool -P ftp_home_dir on
[root@justin ~]# getsebool -a|grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
[root@justin ~]#

Windows访问FTP服务:

RHEL6基础四十七之RHEL文件服务器VSFTP实例

系统用户可以随意切换到任何有访问权限的其他目录,这样会带来一些不安全因素,一般会限制在该账户的家目录里

1
2
3
4
5
6
7
8
9
10
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
[root@justin ~]# service vsftpd reload
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]
[root@justin ~]#

开启chroot_local_user,这样所有本地用户都只能在自己的家目录,如果要让部分本地用户在自己家目录可以开启chroot_list_enable项,通过chroot_list_file指定的文件来设置,chroot_list默认不存在,需要手动添加。此时再切换就会失败

RHEL6基础四十七之RHEL文件服务器VSFTP实例

如果要指定用户到非家目录的根目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@dsj xhcj]# vim /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_root=/app/dsj/WebDsj/php/app_wxapi/xhcj  #设定所有本地用户登陆后的目录
#anon_root=/app/dsj/WebDsj/php/app_wxapi/xhcj  #匿名用户登录后的目录
chroot_local_user=YES           #锁定用户到各自目录为其根目录
user_config_dir=/etc/vsftpd/userconfig #用户配置文件目录
[root@dsj xhcj]# mkdir /etc/vsftpd/userconfig
[root@dsj xhcj]# cd !$
cd /etc/vsftpd/userconfig
[root@dsj userconfig]# cat xhcj #一个用户一个文件,文件名对应用户名
local_root=/app/dsj/WebDsj/php/app_wxapi/xhcj
[root@dsj userconfig]# service vsftpd restart

默认设置下,FTP服务器中的所有系统用户都可以访问FTP服务,也就是说只要是系统里存在的用户都可以链接FTP服务,如果只允许或禁止部分用户,可以通过修改系统的/etc/vsftpd/ftpusers、/etc/vsftpd/user_list文件来设定:


  • /etc/vsftpd/ftpusers:文件中包含的用户账号将被禁止登录vsftpd服务器,不管该用户是否在/etc/vsftpd/user_list文件中是否出现。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    [root@justin ~]# cat /etc/vsftpd/ftpusers |grep -v "#"
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    news
    uucp
    operator
    games
    nobody
    [root@justin ~]#


  • /etc/vsftpd/user_list:文件中包含的用户账户可能被禁止登录,也可能被允许登录,文件中用户是否可以登陆由主配置文件vsftpd.conf决定。当存在“userlist_enable=YES”的配置项时,表示启用文件/etc/vsftpd/user_list,如果此时再配置“userlist_deny=YES”,则表示禁止列表中的用户账户登录,如果配置“userlist_deny=NO”,则仅允许列表中的用户账户登录。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    [root@justin ~]# cat /etc/vsftpd/user_list |grep -v "#"
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    news
    uucp
    operator
    games
    nobody
    [root@justin ~]#

    如果需要拒绝localftp用户登陆可以直接在文件/etc/vsftpd/ftpusers里添加该用户,重启服务后就无法登陆,或者在/etc/vsftpd/user_list里添加该用户(经过测试,系统默认userlist_deny=YES),重启服务后该用户无法访问,要是该用户可以访问需要添加userlist_deny=NO,重启服务后即可访问,

Linux访问FTP服务:

禁止了匿名访问后直接使用lftp 10.15.72.38无法访问,此时正确的方式为lftp localftp@10.15.72.38

1
2
3
4
5
6
7
8
9
10
[root@justin ~]# lftp localftp@10.15.72.38
Password:
lftp localftp@10.15.72.38:~> ls
-rw-r--r--    1 0        0            2006 Dec 09 06:23 CentOS6-Base-163.repo
-rw-r--r--    1 0        0            1706 Nov 16  2001 RPM-GPG-KEY-CentOS-6
-rw-r--r--    1 0        0           37052 Nov 16  2001 python-iniparse-0.3.1-2.1.el6.noarch.rpm
-rw-r--r--    1 0        0         1019540 Dec 09 04:30 yum-3.2.29-40.el6.centos.noarch.rpm
-rw-r--r--    1 0        0           27140 Nov 16  2001 yum-metadata-parser-1.1.2-16.el6.i686.rpm
-rw-r--r--    1 0        0           28220 Nov 16  2001 yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
lftp localftp@10.15.72.38:/>


虚拟用户登陆FTP:

所谓虚拟用户是指存放于独立数据库文件中的FTP用户账号,可以将他们映射到某个不能登录的系统用户账号上,以进一步增强FTP服务器的安全性。vsftpd服务的虚拟用户数据库是使用Berkeley DB格式的数据库文件,建立数据库文件需要用到db_load命令工具,db_load工具是由db4-utils软件包提供。

  • 检查是否安装db-utils软件包

    1
    2
    3
    [root@justin ~]# rpm -qa|grep db4-utils
    db4-utils-4.7.25-17.el6.i686
    [root@justin ~]#
  • 创建虚拟用户数据库文件

    创建一个存放虚拟用户的文本文件(文件一般是保存在/etc/vsftpd目录中),各用户名和密码独立为一行,奇数行表示用户名,偶数行为上一行用户所对用的密码,然后通过db_load将文本文件转化问db格式的数据库文件,为了提高虚拟用户账号的安全性,将这两个存放虚拟用户账号的文件的权限都设为600,即只有root用户具有读取和写入权限。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    [root@justin ~]# touch /etc/vsftpd/virtual.txt
    [root@justin ~]# echo "virtual1" > !$
    echo"virtual1"/etc/vsftpd/virtual.txt
    [root@justin ~]# echo "123" >> /etc/vsftpd/virtual.txt
    [root@justin ~]# echo "virtual2" >> /etc/vsftpd/virtual.txt
    [root@justin ~]# echo "123" >> /etc/vsftpd/virtual.txt
    [root@justin ~]# cat !$
    cat/etc/vsftpd/virtual.txt
    virtual1
    123
    virtual2
    123
    [root@justin ~]# db_load -T -t hash -f /etc/vsftpd/virtual.txt /etc/vsftpd/virtual.db
    [root@justin ~]# chmod 600 /etc/vsftpd/virtual.*
    [root@justin ~]# ll /etc/vsftpd/virtual.*
    -rw------- 1 root root 12288 12月 27 16:03 /etc/vsftpd/virtual.db
    -rw------- 1 root root    26 12月 27 16:01 /etc/vsftpd/virtual.txt
    [root@justin ~]#

    “-T”选项表示允许非Berkeley DB的应用程序使用从文本格式转换的DB数据库文件,“-t hash”选项指定读取数据文件的基本方法,“-f”选项用于指定数据的源文件。

  • 创建虚拟用户的映射账号

vsftpd服务对虚拟用户采用了映射的控制方式,把所有的虚拟用户账号都对应到了同一个系统用户账号上,并将这个系统用户的主目录作为所有虚拟用户登录后共用的FTP根目录。

1
2
3
4
5
[root@justin ~]# useradd -d /var/virtual -s /sbin/nologin virtual
[root@justin ~]# chmod 755 /var/virtual/
[root@justin ~]# ll -d /var/virtual/
drwxr-xr-x 4 virtual virtual 4096 12月 27 16:27 /var/virtual/
[root@justin ~]#
  • 创建PAM认证文件

    PAM在Linux系统中提供了统一的身份验证机制,认证文件都统一存放在/etc/pam.d/目录中。虚拟用户的身份认证也是通过PAM机制来实现的,PAM是Linux系统中的一个独立API(应用程序接口),它提供了各种验证模块以供其它程序调用。当这些程序需要进行用户身份验证的操作时,就可以直接调用PAM的相应模块,

1
2
3
[root@justin pam.d]# vim /etc/pam.d/vsftpd.vu
auth   required   pam_userdb.so   db=/etc/vsftpd/virtual
account   required   pam_userdb.so   db=/etc/vsftpd/virtual

“db=/etc/vaftpd/virtual”参数指定了要使用的虚拟用户数据库文件的位置,这里不需要写“.db”的扩展名。

  • 主配置文件中添加支持虚拟用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@justin pam.d]# cat /etc/vsftpd/vsftpd.conf|egrep -v "#|:"|sed '/^[[:space:]]*$/d'
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_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vuser
anon_umask=022
[root@justin pam.d]# service vsftpd reload
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]
[root@justin pam.d]#

guest_enable=YES    表示启用虚拟用户映射功能

guest_username=virtual    表示指定所映射的系统用户名称;

pam_service_name=vsftpd.vu    表示指定PAM认证文件。

user_config_dir=/etc/vsftpd/vuser    表示虚拟用户配置文件的存放目录,通过该目录可以控制不同虚拟用户的权限,如使virtual1用户可以上传、下载(系统默认可以下载),virtual2只能下载(系统默认可以下载,所以不需要对virtual2配置)可通过如下操作:

1
2
3
4
[root@justin pam.d]# mkdir /etc/vsftpd/vuser
[root@justin pam.d]# vim /etc/vsftpd/vuser/virtual1
anon_upload_enable=YES
anon_mkdir_write_enable=YES

anon_umask=022    在vsftpd服务中,虚拟用户被默认作为匿名用户进行处理以降低权限,因此对应的配置项通常以anon_开头。虚拟用户的一切权限也可以参考匿名用户项设置如在vsftpd.conf配置文件中添加配置项“aono_upload_enable=YES”和“anon_mkdir_write_enable=YES”,便可以使虚拟用户具备上传权限

至此就可以通过虚拟用户virtual1、vitrual2登陆FTP服务:

RHEL6基础四十七之RHEL文件服务器VSFTP实例


以下为可选项

1
#user_config_dir=/etc/vsftpd/config

设置放置虚拟用户各自的配置文件,以该用户名字命名



error:

530 Permission denied

检查配置文件中是否设置了userlist_enable=YES,此项设为YES,则只允许user_list文件中的用户允许登录FTP服务器,文件中不包含的用户不能登陆,若此项设置为NO,user_list文件中的用户不允许登录FTP服务器,而如果同时设置了userlist_deny=YES,则user_list文件中的用户将不允许登录FTP服务器,甚至连输入密码提示信息都没有,而userlist_deny=NO,user_list文件中的用户将允许登录FTP服务器

userlist_enable=YES          

userlist_deny=YES           

userlist_file=/etc/vsftpd/user_list


530 Login incorrect

一、先检查vsftpd的配置文件是否正常。检查了/etc/vsftpd目录,以及vsftpd.conf配置文件,查看/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件中,是否有限制登录的帐号

二、查看/etc/vsftpd/vsftpd.conf文件中的相关配置,是否启用pam

pam_service_name=vsftpd  PAM认证文件

查看/etc/pam.d/vsftpd文件

注释掉auth       required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed行,或者把指定用户去掉



本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1345792,如需转载请自行联系原作者

上一篇:mybatis session创建过程(2)


下一篇:qml 网格布局 Grid