目錄
1、更改命令埠
更改配置檔案
客戶端連線
$ lftp 10.4.7.1 -p 2121 |
$ ftp 10.4.7.1 2121 |
2、主動模式埠
connect_from_port_20=YES # 主動模式埠為20 |
ftp_data_port=20 # (預設)指定主動模式的埠 |
3、被動模式埠範圍
linux ftp # 客戶端預設使用被動模式 |
windows ftp # 客戶端預設使用主動模式 |
pasv_min_port=6000 # 0為隨機分配,埠範圍會影響客戶端的併發數 |
pasv_max_port=6010 |
4、使用當地時間
use_localtime=YES # 使用當地時間(預設為NO,使用GMT) |
5、匿名使用者登入
anonymous_enable=YES # 支援匿名使用者,CentOS8 預設不允許匿名 |
no_anon_password=YES # 匿名使用者略過口令檢查 , 預設NO |
6、匿名使用者上傳
anon_upload_enable=YES # 匿名上傳,注意:檔案系統許可權 |
anon_mkdir_write_enable=YES # 匿名建目錄 |
注意:還需要開啟檔案系統訪問的許可權,不能給FTP根目錄寫許可權,只能級子目錄寫許可權,否則報如下錯誤:
$ ftp 10.4.7.1 |
Connected to 10.4.7.1 (10.4.7.1). |
220 (vsFTPd 3.0.3) |
Name (10.4.7.1:root): ftp |
331 Please specify the password. |
Password: |
500 OOPS: vsftpd: refusing to run with writable root inside chroot() |
Login failed. |
421 Service not available, remote server has closed connection |
anon_world_readable_only # 只能下載全部讀的檔案, 預設YES |
anon_umask=0333 # 指定匿名上傳檔案的umask,預設077,注意:0333中的0不能省略 |
anon_other_write_enable=YES # 可刪除和修改上傳的檔案, ,預設NO |
7、指定匿名使用者的上傳檔案的預設的所有者和許可權
chown_uploads=YES # 預設NO |
chown_username=lzj # 使用者事先建立 |
chown_upload_mode=0644 |
8、Linux系統使用者
local_enable=YES # 是否允許linux使用者登入 |
write_enable=YES # 允許linux使用者上傳檔案 |
local_umask=022 # 指定系統使用者上傳檔案的預設許可權 |
9、將系統使用者對映為指定的guest使用者
guest_enable=YES # 所有系統使用者都對映成guest使用者 |
guest_username=ftp # 配合上面選項才生效,指定guest使用者 |
local_root=/ftproot # guest使用者登入所在目錄 |
10、禁錮所有系統在家目錄中
chroot_local_user=YES # 禁錮系統使用者,預設NO,即不禁錮 |
11、禁錮或不禁錮特定的系統使用者在家目錄中,與上面設定功能相反
chroot_list_enable=YES # 預設是NO |
chroot_list_file=/etc/vsftpd/chroot_list # 預設值 |
12、日誌
wu-ftp 日誌:預設啟用 |
xferlog_enable=YES # 啟用記錄上傳下載日誌,此為預設值 |
xferlog_std_format=YES # 使用wu-ftp日誌格式,此為預設值 |
xferlog_file=/var/log/xferlog # 可自動生成, 此為預設值 |
vsftpd日誌:預設不啟用 |
dual_log_enable=YES # 使用vsftpd日誌格式,預設不啟用 |
vsftpd_log_file=/var/log/vsftpd.log # 可自動生成, 此為預設值 |
13、登入提示資訊
ftpd_banner="welcome to mage ftp server" |
banner_file=/etc/vsftpd/ftpbanner.txt |
14、目錄訪問提示資訊
dirmessage_enable=YES # 此為預設值 |
message_file=.message # 資訊存放在指定目錄下.message ,此為預設值 |
15、PAM模組實現使用者訪問控制
pam_service_name=vsftpd |
# pam配置檔案:/etc/pam.d/vsftpd |
# /etc/vsftpd/ftpusers 預設檔案中使用者拒絕登入,預設是黑名單,但也可以是白名單 |
示例:
$ ldd /usr/sbin/vsftpd |grep pam |
libpam.so.0 => /lib64/libpam.so.0 (0x00007fb286c34000) |
# 修改PAM配置,使ftpusers成為白名單 |
$ vim /etc/pam.d/vsftpd |
#%PAM-1.0 |
session optional pam_keyinit.so force revoke |
# 將sense=deny 修改為 sense=allow |
auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd/ftpusers onerr=succeed |
auth required pam_shells.so |
auth include password-auth |
account include password-auth |
session required pam_loginuid.so |
session include password-auth |
16、是否啟用控制使用者登入的列表檔案
userlist_enable=YES # 此為預設值 |
userlist_deny=YES # (預設值) 黑名單,不提示口令,NO為白名單 |
userlist_file=/etc/vsftpd/users_list # 此為預設值 |
17、vsftpd服務指定使用者身份執行
nopriv_user=nobody # 此為預設值 |
示例:
$ pstree -p |grep vsftpd |
`-vsftpd(82694)-+-vsftpd(83268)---vsftpd(83270) |
`-vsftpd(83610)---vsftpd(83612) |
$ ps auxf|grep vsftpd |
root 84248 0.0 0.1 12108 1088 pts/1 S+ 15:04 0:00 | \_ grep --color=auto vsftpd |
root 82694 0.0 0.0 26980 408 ? Ss 15:00 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf |
nobody 83268 0.0 0.5 61756 4104 ? Ss 15:01 0:00 \_ /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf |
wang 83270 0.0 0.4 74336 3800 ? S 15:02 0:00 | \_ /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf |
nobody 83610 0.0 0.3 37276 2616 ? Ss 15:03 0:00 \_ /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf |
ftp 83612 0.0 0.4 67868 3760 ? S 15:03 0:00 \_ /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf |
18、連線數限制
如果超出連線,會報如下提示:
max_per_ip=0 # 每個IP同時發起的最大連線數 |
如果超出連線,會報如下提示:
19、傳輸速率,單位:位元組/秒
anon_max_rate=0 # 匿名使用者的最大傳輸速率 |
local_max_rate=0 # 本地使用者的最大傳輸速率 |
20、連線時間:秒為單位
connect_timeout=60 # 主動模式資料連線超時時長 |
accept_timeout=60 # 被動模式資料連線超時時長 |
data_connection_timeout=300 # 資料連線無資料輸超時時長 |
idle_session_timeout=60 # 無命令操作超時時長 |
21、優先以文字方式傳輸
ascii_upload_enable=YES |
ascii_download_enable=YES |
說明:不建議使用文字方式,因為可能導致二進位制檔案內容被破壞
連結:https://www.cnblogs.com/lvzhenjiang/p/14405780.html
(版權歸原作者所有,侵刪)