Centos8通过VSFTPD配置FTPs的方法
本篇内容介绍了“Centos8通过VSFTPD配置FTPs的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。
Centos8
创建用户需要创建用于访问FTP服务器的用户。执行以下命令来创建用户并设置各自的密码,创建用户时使用-s
选项,让这两个用户禁止shell登录:
[root@localhost~]#useradd-s/sbin/nologinuser01[root@localhost~]#useradd-s/sbin/nologinuser02[root@localhost~]#echo'123'|passwd--stdinuser01Changingpasswordforuseruser01.passwd:allauthenticationtokensupdatedsuccessfully.[root@localhost~]#echo'123'|passwd--stdinuser02Changingpasswordforuseruser02.passwd:allauthenticationtokensupdatedsuccessfully.
上面的用户的shell设置为/sbin/nologin
之后,需要在/etc/shells
文件中添加/sbin/nologin
,否则后面ftp用户登录时提示Login failed: 530 Login incorrect.
[root@localhost~]#echo"/sbin/nologin">>/etc/shells[root@localhost~]#cat/etc/shells/bin/sh/bin/bash/usr/bin/sh/usr/bin/bash/sbin/nologin安装VSFTPD
使用下面命令安装vsftpd:
[root@localhost~]#yum-yinstallvsftpd
为FTP服务器创建一个自签名证书。使用openssl
命令,执行以下命令来生成自签名证书和私钥:
[root@localhost~]#opensslreq-x509-nodes-keyout/etc/vsftpd/vsftpd.key-out/etc/vsftpd/vsftpd.pem-days365-newkeyrsa:2048GeneratingaRSAprivatekey..+++++..............................................+++++writingnewprivatekeyto'/etc/vsftpd/vsftpd.key'-----Youareabouttobeaskedtoenterinformationthatwillbeincorporatedintoyourcertificaterequest.WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN.TherearequiteafewfieldsbutyoucanleavesomeblankForsomefieldstherewillbeadefaultvalue,Ifyouenter'.',thefieldwillbeleftblank.-----CountryName(2lettercode)[XX]:CNStateorProvinceName(fullname)[]:ShandongLocalityName(eg,city)[DefaultCity]:QDOrganizationName(eg,company)[DefaultCompanyLtd]:LinuxprobeOrganizationalUnitName(eg,section)[]:CommonName(eg,yournameoryourserver'shostname)[]:ftp.linuxprobe.comEmailAddress[]:
将上面创建的用户user01和user02添加到/etc/vsftpd/user_list
文件中,只允许该文件中的用户ftp登录。
[root@localhostvsftpd]#vim/etc/vsftpd/user_list#vsftpduserlist#Ifuserlist_deny=NO,onlyallowusersinthisfile#Ifuserlist_deny=YES(default),neverallowusersinthisfile,and#donotevenpromptforapassword.#Notethatthedefaultvsftpdpamconfigalsochecks/etc/vsftpd/ftpusers#forusersthataredenied.rootbindaemonadmlpsyncshutdownhaltmailnewsuucpoperatorgamesnobodyuser01user02
下面编辑/etc/vsftpd/vsftpd.conf
,编辑前需要备份一下配置文件:
[root@localhostvsftpd]#cd/etc/vsftpd/[root@localhostvsftpd]#cp-pvsftpd.confvsftpd.conf.back
编辑vsftpd.conf文件,配置文件内容如下:
[root@localhostvsftpd]#vimvsftpd.conf[root@localhostvsftpd]#catvsftpd.conf|grep-Ev'(^$|^#)'anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=NOlisten_ipv6=YESpam_service_name=vsftpduserlist_enable=YESuserlist_deny=NOssl_enable=YESssl_sslv2=NOssl_sslv3=NOssl_tlsv1_2=YESrsa_cert_file=/etc/vsftpd/vsftpd.pemrsa_private_key_file=/etc/vsftpd/vsftpd.keyallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESrequire_ssl_reuse=NOssl_ciphers=HIGHpasv_min_port=30000pasv_max_port=31000debug_ssl=YESchroot_local_user=YESlocal_root=/var/www/html/$USERallow_writeable_chroot=YES
下面启用服务,并启动服务:
[root@localhost~]#systemctlenablevsftpdCreatedsymlink/etc/systemd/system/multi-user.target.wants/vsftpd.service¡ú/usr/lib/systemd/system/vsftpd.service.[root@localhost~]#systemctlstartvsftpd
[root@localhost~]#firewall-cmd--permanent--add-service=ftpsuccess[root@localhost~]#firewall-cmd--reloadsuccess
下面需要设置一下selinux的boolean值,默认情况下/var/www/html
目录的安全上下文为httpd_sys_content_t
,用户使用ftp上传下载可能会出现权限问题,所以下面设置一下和ftp相关的selinux设置:
[root@localhost~]#setsebool-Pftpd_full_access1[root@localhost~]#getseboolftpd_full_accessftpd_full_access-->on创建ftp用户的目录
在/var/www/html
目录中创建用户的目录,并设置权限。
[root@localhost~]#mkdir/var/www/html/user0{1..2}[root@localhost~]#chown-Ruser01:apache/var/www/html/user01/[root@localhost~]#chown-Ruser02:apache/var/www/html/user02/
在每个目录中创建一个空文件。你在登录后可以区分用户家目录:
[root@localhost~]#touch/var/www/html/user01/user01_files[root@localhost~]#touch/var/www/html/user02/user02_files
访问ftp服务器
下载lftp
命令行客户端进行连接测试:
[root@localhost~]#yum-yinstalllftp
下面使用user01登录:
[root@localhost~]#lftpuser01@localhostPassword:lftpuser01@localhost:~>lsls:Fatalerror:Certificateverification:Nottrusted(01:3E:A2:1B:39:E9:BE:DB:55:1F:C3:71:34:6F:B6:8E:E2:D0:2C:8C)
上面提示错误,因为是自签名证书。可以通过执行以下命令不检查证书:
[root@localhost~]#echo"setssl:verify-certificateno">>/etc/lftp.conf
下面再执行一下lftp命令使用user01登录:
[root@localhost~]#lftpuser01@localhostPassword:lftpuser01@localhost:~>ls-rw-r--r--1000Apr0709:42user01_files
再使用user02登录看一下:
[root@localhost~]#lftpuser02@localhostPassword:lftpuser02@localhost:~>ls-rw-r--r--1000Apr0709:42user02_files
“Centos8通过VSFTPD配置FTPs的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。