您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Centos8通過VSFTPD配置FTPs的方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
vsftpd 是“very secure FTP daemon”的縮寫,安全性是它的一個最大的特點。vsftpd 是一個 UNIX 類操作系統(tǒng)上運行的服務器的名字,它可以運行在諸如 Linux、BSD、Solaris、 HP-UNIX等系統(tǒng)上面,是一個完全免費的、開發(fā)源代碼的ftp服務器軟件,支持很多其他的 FTP 服務器所不支持的特征。
Centos8
需要創(chuàng)建用于訪問FTP服務器的用戶。執(zhí)行以下命令來創(chuàng)建用戶并設(shè)置各自的密碼,創(chuàng)建用戶時使用-s
選項,讓這兩個用戶禁止shell登錄:
[root@localhost ~]# useradd -s /sbin/nologin user01[root@localhost ~]# useradd -s /sbin/nologin user02[root@localhost ~]# echo '123'|passwd --stdin user01Changing password for user user01. passwd: all authentication tokens updated successfully. [root@localhost ~]# echo '123'|passwd --stdin user02Changing password for user user02. passwd: all authentication tokens updated successfully.
上面的用戶的shell設(shè)置為/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:
[root@localhost ~]# yum -y install vsftpd
為FTP服務器創(chuàng)建一個自簽名證書。使用openssl
命令,執(zhí)行以下命令來生成自簽名證書和私鑰:
[root@localhost ~]# openssl req -x509 -nodes -keyout /etc/vsftpd/vsftpd.key -out /etc/vsftpd/vsftpd.pem -days 365 -newkey rsa:2048Generating a RSA private key ..+++++ ..............................................+++++ writing new private key to '/etc/vsftpd/vsftpd.key'----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:Shandong Locality Name (eg, city) [Default City]:QD Organization Name (eg, company) [Default Company Ltd]:Linuxprobe Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:ftp.linuxprobe.com Email Address []:
將上面創(chuàng)建的用戶user01和user02添加到/etc/vsftpd/user_list
文件中,只允許該文件中的用戶ftp登錄。
[root@localhost vsftpd]# vim /etc/vsftpd/user_list# vsftpd userlist# If userlist_deny=NO, only allow users in this file# If userlist_deny=YES (default), never allow users in this file, and# do not even prompt for a password.# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers# for users that are denied.root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody user01 user02
下面編輯/etc/vsftpd/vsftpd.conf
,編輯前需要備份一下配置文件:
[root@localhost vsftpd]# cd /etc/vsftpd/[root@localhost vsftpd]# cp -p vsftpd.conf vsftpd.conf.back
編輯vsftpd.conf文件,配置文件內(nèi)容如下:
[root@localhost vsftpd]# vim vsftpd.conf[root@localhost vsftpd]# cat vsftpd.conf | grep -Ev '(^$|^#)'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 listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES userlist_deny=NO ssl_enable=YES ssl_sslv2=NO ssl_sslv3=NO ssl_tlsv1_2=YES rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.key allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES require_ssl_reuse=NO ssl_ciphers=HIGH pasv_min_port=30000 pasv_max_port=31000 debug_ssl=YES chroot_local_user=YES local_root=/var/www/html/$USERallow_writeable_chroot=YES
下面啟用服務,并啟動服務:
[root@localhost ~]# systemctl enable vsftpdCreated symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service ¡ú /usr/lib/systemd/system/vsftpd.service. [root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# firewall-cmd --permanent --add-service=ftpsuccess [root@localhost ~]# firewall-cmd --reloadsuccess
下面需要設(shè)置一下selinux的boolean值,默認情況下/var/www/html
目錄的安全上下文為httpd_sys_content_t
,用戶使用ftp上傳下載可能會出現(xiàn)權(quán)限問題,所以下面設(shè)置一下和ftp相關(guān)的selinux設(shè)置:
[root@localhost ~]# setsebool -P ftpd_full_access 1[root@localhost ~]# getsebool ftpd_full_accessftpd_full_access --> on
在/var/www/html
目錄中創(chuàng)建用戶的目錄,并設(shè)置權(quán)限。
[root@localhost ~]# mkdir /var/www/html/user0{1..2}[root@localhost ~]# chown -R user01:apache /var/www/html/user01/[root@localhost ~]# chown -R user02:apache /var/www/html/user02/
在每個目錄中創(chuàng)建一個空文件。你在登錄后可以區(qū)分用戶家目錄:
[root@localhost ~]# touch /var/www/html/user01/user01_files[root@localhost ~]# touch /var/www/html/user02/user02_files
訪問ftp服務器
下載lftp
命令行客戶端進行連接測試:
[root@localhost ~]# yum -y install lftp
下面使用user01登錄:
[root@localhost ~]# lftp user01@localhostPassword: lftp user01@localhost:~> ls ls: Fatal error: Certificate verification: Not trusted (01:3E:A2:1B:39:E9:BE:DB:55:1F:C3:71:34:6F:B6:8E:E2:D0:2C:8C)
上面提示錯誤,因為是自簽名證書??梢酝ㄟ^執(zhí)行以下命令不檢查證書:
[root@localhost ~]# echo "set ssl:verify-certificate no" >> /etc/lftp.conf
下面再執(zhí)行一下lftp命令使用user01登錄:
[root@localhost ~]# lftp user01@localhostPassword: lftp user01@localhost:~> ls -rw-r--r-- 1 0 0 0 Apr 07 09:42 user01_files
再使用user02登錄看一下:
[root@localhost ~]# lftp user02@localhostPassword: lftp user02@localhost:~> ls -rw-r--r-- 1 0 0 0 Apr 07 09:42 user02_files
“Centos8通過VSFTPD配置FTPs的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。