參考來源:
https://www.server-world.info/en/note?os=CentOS_8&p=ftp&f=1
--------------------------------------------------- 安裝、設定
# dnf -y install vsftpd
# vi /etc/vsftpd/vsftpd.conf
...
anonymous_enable=NO
...
chroot_local_user=YES
allow_writeable_chroot=YES
...
# add to the end
# fix PASV ports to allow FTP access with PASV
pasv_enable=YES
--------------------------------------------------- 套件安裝目錄與檔案
//執行檔
# ls /usr/sbin | grep vsftpd
vsftpd
//設定檔
# ls /etc/vsftpdftpusers user_list vsftpd.conf
//FTP 站台 根目錄
# ls /var/ftp
pub
--------------------------------------------------- 啟動 服務
// systemctl 指令,可列出目前所有服務的狀態資訊
# systemctl | grep vsftpd
vsftpd.service
# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl status vsftpd
# rpm -qa | grep vsftpd
vsftpd-3.0.3-28.el8.x86_64
# ps -aux | grep vsftp
root 2618 0.0 0.0 26980 408 ? Ss 14:30 0:00 /usr/sbin/vsftpd /etc vsftpd/vsftpd.conf
# ls /usr/sbin | grep vsftp
vsftpd
# ls /usr/lib/systemd/system | grep vsftp
vsftpd.service
vsftpd@.service
vsftpd.target
--------------------------------------------------- 開啟 防火牆
# firewall-cmd --state
running
# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
# firewall-cmd --get-active-zone
public
interfaces: ens33
# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: cockpit dhcpv6-client http https ssh
...
//列出 firewall-cmd 所有可用的服務
# firewall-cmd --get-service | grep ftp //vsfpt 、vsftpd 都找不到
//這些服務定義在此資料夾內
# ls /usr/lib/firewalld/services/ | grep ftp
ftp.xml
tftp-client.xml
tftp.xml
# firewall-cmd --permanent --zone=public --add-service=ftp
success
# firewall-cmd --reload
success
# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: cockpit dhcpv6-client ftp http https ssh
--------------------------------------------------- SELinux
# getsebool -a | grep ftp*
# setsebool -P ftpd_full_access on
# getsebool -a | grep ftp*
# setsebool -P ftpd_full_access on
# setsebool -P tftp_home_dir on
--------------------------------------------------- 新增 群組、使用者
//建立群組
# groupadd Gftp
# cat /etc/group
.
.
Gftp:x:1004:
--------------------------------------------------- 新增 群組、使用者
//建立群組
# groupadd Gftp
# cat /etc/group
.
.
Gftp:x:1004:
//建立帳號並指定已存在的的群組
# useradd -g Gftp s306
# passwd s306
更改使用者 s306 的密碼。
新 密碼:
//帳號資料
# cat /etc/passwd
.
.
s306:x:1003:1004::/home/s306:/bin/bash
//密碼資料
# cat /etc/shadow
.
.
s306:$6$1pUNBa5VJIUydee8$zNtG40zl2wBuxjhtF/aAWrxeI3s1bVRGexWlCVFzmpCk9MZW5 ajUFEtIL19A518.v8CPLUV8n/Kj6RUE3dCG//:18315:0:99999:7:::
//家目錄
# ls -l /home
.
.
drwx------. 2 s306 Gftp 62 2月 23 22:27 s306
//使用者相關資訊
# id s306
uid=1003(s306) gid=1004(Gftp) groups=1004(Gftp)
//刪除帳號、家目錄及沒有含其它帳號的群組
# userdel -r 帳號
--------------------------------------------------- 上課用 班級資料夾
# su -l s306
$ mkdir {01..40}
$ ls
01 04 07 10 13 16 19 22 25 28 31 34 37 40
02 05 08 11 14 17 20 23 26 29 32 35 38
03 06 09 12 15 18 21 24 27 30 33 36 39
$ su
密碼:
# cd
#
密碼:
# cd
#
# chattr +a -R /home/s306 //+a只能以附加方式寫入
# lsattr /home
-----a------------- /home/s306
ftp://192.168.2.103/座號/
使用者名稱:s306
密碼 :123456
# ls /home/s306/*/1.docx
# lsattr /home
-----a------------- /home/s306
ftp://192.168.2.103/座號/
使用者名稱:s306
密碼 :123456
# ls /home/s306/*/1.docx
--------------------------------------------------- 檔案總管 上傳 中文檔名 呈現亂碼
改用 FileZilla_3.46.3_win64_sponsored-setup.exe
站台管理員 --> 新站台 --> 字元集 --> 強制使用 UTF-8
--------------------------------------------------- 移除套件
# dnf -y remove vsftpd
沒有留言:
張貼留言