Linux学习90 vsftpd安装配置与企业高级应用进阶实战

一、vsftpd

  1、vsftpd is a Very Secure FTP daemon. It was written completely from

  2、URL:

    a、SCHEME://username:password@HOST:PORT/PATH/TO/FILE

    b、路径映射:

      (1)、用户家目录:每个用户的URL的/映射到当前用户的家目录

  3、vsftpd以ftp用户的身份运行进程,默认用户即为ftp用户,匿名用户的默认路径即ftp用户的家目录/var/ftp

    a、ftp,anonymous

[root@www ~]# cat /etc/passwd|grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

    b、注意:一个用户通过文件共享服务访问文件系统上的文件的生效权限为此二者的交集

  4、程序环境

    a、主程序:/usr/sbin/vsftpd

    b、主配置文件:/etc/vsftpd/vsftpd.conf

    c、数据根目录:/var/ftp

    d、Systemd Unit File:/usr/lib/systemd/system/vsftpd.service

  5、配置vsftpd:

    a、用户类别:

      (1)、匿名用户:anonyous --> ftp,/var/ftp

      (2)、系统用户:至少禁止系统用户访问ftp服务,/etc/vsftpd/ftpusers,PAM(/etc/pam.d/vsftpd)

[root@www ~]# cat /etc/pam.d/vsftpd 
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required    pam_shells.so
auth       include    password-auth #认证时使用password-auth这个文件来进行认证
account    include    password-auth
session    required     pam_loginuid.so
session    include    password-auth
[root@www ~]# cat /etc/pam.d/password-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_unix.so nullok try_first_pass #使用此模块来提供功能
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok


password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

        1)、我们在192.168.10.13上创建用户fedora,并且设置密码为123456

[root@www ~]# useradd fedora
[root@www ~]# echo "123456"|passwd --stdin fedora

        2)、现在我们在192.168.10.14上通过fedora账号登陆

[root@node2 ~]# lftp -u fedora 192.168.10.13
Password: 
lftp fedora@192.168.10.13:~> 

        3)、然后我们在192.168.10.13 /home/fedora目录下创建一个文件,可以看到在192.168.10.14上能够看到

[root@www ~]# finger fedora
Login: fedora                     Name: 
Directory: /home/fedora                 Shell: /bin/bash
Never logged in.
No mail.
No Plan.
[root@www ~]# touch /home/fedora/test.txt
lftp fedora@192.168.10.13:~> ls
-rw-r--r--    1 0        0               0 May 27 01:43 test.txt

        4)、因此我们可以看到我们通过fedora登录时其路径映射为/home/fedora。其实匿名用户登录也是系统用户,只是其是默认的ftp用户。

      (3)、虚拟用户:非系统用户,用户账号非为可登录操作系统的用户账号(非/etc/passwd);

      (4)、用户通过vsftpd服务访问到的默认路径,是用户自己的家目录;默认可用自己有权限访问的所有路径间切换;禁锢用户于其家目录中

    b、配置文件:

      (1)、/etc/vsftpd/vsftpd.conf

        directive value

      (2)、注意:directive之前不能有多余字符

猜你喜欢

转载自www.cnblogs.com/Presley-lpc/p/12970678.html