內容選單標籤

2020年2月23日 星期日

CentOS8 vsftp


參考來源:
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/vsftpd
ftpusers  user_list  vsftpd.conf


//FTP 站台 根目錄
# ls /var/ftp
pub






--------------------------------------------------- 啟動 服務

// systemctl 指令,可列出目前所有服務的狀態資訊
# systemctl | grep vsftpd
vsftpd.service 

# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl status vsftpd





--------------------------------------------------- 檢查套件資訊、服務名稱、行程 or 執行檔所在位置

# 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
# setsebool -P tftp_home_dir on






--------------------------------------------------- 新增 群組、使用者

//建立群組
# 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
#


# chattr +a -R /home/s306        //+a只能以附加方式寫入

# 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






沒有留言:

張貼留言