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服务:144058360.png

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: /pub ls
-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、匿名登陆上传文件

161741827.png

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

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

162707267.png

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!


wKiom1f_UljBAIF6AAAOZZneSWE258.png

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

配置文件里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服务:

094827461.png

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

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默认不存在,需要手动添加。此时再切换就会失败

105952406.png

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

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服务:

172847498.png


以下为可选项

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,如需转载请自行联系原作者

相关文章
|
27天前
|
存储 分布式计算 网络协议
阿里云服务器内存型r7、r8a、r8y实例区别参考
在阿里云目前的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y这几个实例规格,相比于活动内的经济型e、通用算力型u1实例来说,这些实例规格等性能更强,与计算型和通用型相比,它的内存更大,因此这些内存型实例规格主要适用于数据库、中间件和数据分析与挖掘,Hadoop、Spark集群等场景,本文为大家介绍内存型r7、r8a、r8y实例区别及最新活动价格,以供参考。
阿里云服务器内存型r7、r8a、r8y实例区别参考
|
28天前
|
存储 弹性计算 编解码
ecs实例规格工作负载模式
阿里云ECS实例有多种工作负载模式:计算密集型(适合高性能计算)、内存密集型(适用于内存数据库)、通用型(平衡资源,多场景适用)、大数据型(优化大数据分析)、共享型(低成本,轻负载)和企业级实例(高稳定性和隔离性)。用户依据业务需求选择实例规格,结合SLB和ESS服务可优化架构,应对动态负载。
22 4
|
28天前
|
存储 弹性计算 编解码
ecs实例规格业务类型
阿里云ECS提供多样化实例规格,涵盖通用、计算、内存、存储、GPU、FPGA/ASIC和弹性伸缩型实例,适应不同业务场景。例如,通用型适合日常Web服务,计算型用于高性能计算,内存型适用于内存数据库,GPU实例支持图形和AI计算,而弹性伸缩实例则可根据负载动态调整资源。各规格族内有不同实例大小,满足用户个性化需求。
14 3
|
1月前
|
弹性计算 运维 监控
ecs实例性能监控
ecs实例性能监控
19 2
|
21天前
|
缓存 编解码 弹性计算
阿里云服务器e/u1/c7/c7a/c8a/c8y/g7/g7a/g8a/g8ae实例适用场景汇总
目前阿里云活动购买云服务器时,除了轻量应用服务器之外,活动内的云服务器实例规格主要以e/u1/c7/c7a/c8a/c8y/g7/g7a/g8a/g8ae这几种为主,本文主要为大家介绍了阿里云服务器的实例规格是什么,有什么用?并汇总了阿里云轻量应用服务器和阿里云服务器e/u1/c7/c7a/c8a/c8y/g7/g7a/g8a/g8ae实例规格适用场景,以供大家了解和选择适合自己的需求的实例规格。
阿里云服务器e/u1/c7/c7a/c8a/c8y/g7/g7a/g8a/g8ae实例适用场景汇总
|
20天前
|
弹性计算
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
2024年阿里云服务器的优惠价格新鲜出炉,有特惠云服务器也有普通优惠价格,本文为大家整理汇总了2024年阿里云服务器的优惠价格,包含特惠云服务器和其他配置云服务器的优惠价格。以便大家了解自己想购买的云服务器选择不同实例规格和带宽情况下的价格,仅供参考。
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
|
28天前
|
存储 机器学习/深度学习 弹性计算
ecs实例规格存储和I/O需求
阿里云ECS提供多种实例类型满足不同需求:通用型适合中小型应用;计算型强调CPU性能,适合大数据分析;存储型针对高I/O场景,如数据库;内存型适合内存敏感应用;GPU型用于GPU加速任务;异构计算型包含FPGA、ASIC。实例搭配不同性能的云盘(如ESSD)以调整IOPS和吞吐量。选择实例时,需综合考虑应用对计算、内存和存储I/O的需求。
15 1
|
1月前
|
存储 弹性计算 缓存
阿里云服务器价格表参考,不同实例规格云服务器月付及年付活动价格(2024更新)
阿里云租服务器一年多少钱?不同时期阿里云服务器的租用价格不同,进入2024年,阿里云继续推出各种云服务器优惠政策,轻量应用服务器2核2G 61元1年,2核4G 165元1年;云服务器2核2G3M只要99元1年,2核4G5M只要199元1年;4核16G月付只要26.52元1个月。本文为大家整理汇总了目前阿里云的活动中,所有云服务器的月付及年付价格情况,以表格形式展示给大家,以供参考。
阿里云服务器价格表参考,不同实例规格云服务器月付及年付活动价格(2024更新)
|
7天前
|
弹性计算 安全
电子好书发您分享《阿里云第八代企业级ECS实例,为企业提供更安全的云上防护》
阿里云第八代ECS实例,搭载第五代英特尔至强处理器与飞天+CIPU架构,提升企业云服务安全与算力。[阅读详情](https://developer.aliyun.com/ebook/8303/116162?spm=a2c6h.26392459.ebook-detail.5.76bf7e5al1Zn4U) ![image](https://ucc.alicdn.com/pic/developer-ecology/cok6a6su42rzm_f422f7cb775444bbbfc3e61ad86800c2.png)
32 14
|
17天前
|
存储 缓存 PHP
阿里云服务器实例、CPU内存、带宽、操作系统选择参考
对于使用阿里云服务器的用户来说,云服务器的选择和使用非常重要,如果实例、内存、CPU、带宽等配置选择错误,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文为大家介绍一下阿里云服务器实例、CPU内存、带宽、操作系统的选择注意事项,以供参考。
阿里云服务器实例、CPU内存、带宽、操作系统选择参考