Linux運維入門~18.ftp服務配置
文字傳輸協議(File Transfer Protocol,FTP)服務能夠使使用者不需要了解遠端主機作業系統的操作方法,就可以直接完成主機之間可靠的檔案傳輸。
安裝ftp服務
安裝軟體前,首先要將selinux核心級防火牆關閉,否則會影響客戶端的登入。
修改/etc/sysconfig/selinux 改成disabled
重啟主機,讓核心重新載入,識別selinux的值
yum install vsftpd.X86_64
開啟ftp服務
systemctl start vsftpd
關閉防火牆
systemctl stop firewalld
輸入該機ip地址,例ftp://172.25.254.178
即可使用ftp服務
這就是ftp的釋出目錄,主機/var/ftp/
或使用終端訪問
安裝lftp服務 yum install lftp.x86_64
# lftp 172.25.254,178
常用的命令有:
ls:列出遠端主機的當前目錄檔案
cd:在遠端主機切換工作目錄
ascii:設定檔案傳輸模式為ASCII
birnary:設定檔案傳輸模式為二進位制
close:結束當前的FTP會話
hash:當資料緩衝區的資料傳送完畢後顯示一個#
get:從遠端主機下載檔案到本地主機
put:從本地主機傳送檔案到遠端主機
open:連線到遠端主機的FTP站點
quit:斷開FTP連線並且退出FTP
?:顯示本地幫助資訊
!:切換到shell中
配置ftp服務
主配置檔案vsftpd.conf
vim vsftp.conf 修改主配置檔案
1)程序選項
Listen(YES|NO)
作用:listen欄位表示是否使用stand-alone模式啟動vsftpd,而不是使用超級程序(xinetd)控制它(vsftpd推薦使用stand-alone方式)。
YES:使用standalone啟動vsftpd。
NO:不使用standalone啟動vsftpd。
2)登入和訪問選項控制
(1)anonymous_enable(YES|NO)
作用:用於控制是否允許匿名使用者登入,YES表示允許
(2)local_enable(YES|NO)
作用:用於控制是否允許本地使用者登入,YES表示允許
(3)pam_sevice_name
作用:用於設定PAM模組進行驗證時所使用的PAM配置檔名。
該欄位預設值為vsftpd,而預設的PAM配置檔案為/etc/pam.d/vsftpd
(4)userlist_enable(YES|NO)
作用:/etc/vsftpd/user_list 在檔案中新增使用者名稱
YES開啟,此檔案中出現的使用者無法登入ftp
NO不使用該檔案
相似指令:使用者白名單設定
userlist_deny=NO
/etc/vsftpd/user_list 此檔案變成使用者白名單,只在名單中出現的使用者可以登陸ftp
(5)tcp_wrappers=(YES|NO)
作用:是否在vsftpd中使用tcp_wrappers遠端訪問控制機制,YES表示使用
3)匿名使用者選項
(1)匿名使用者設定
anonymous_enable=YES|NO ##匿名使用者登陸限制
(2)讓匿名使用者上傳
vim /etc/vsftpd/vsftpd.conf
修改 write_enable=YES
anon_upload_enable=YES
更改組 chgrp ftp /var/ftp/pub
更改組許可權 chmod 775 /var/ftp/pub
(3)匿名使用者家目錄修改
anon_root=/direcotry
(4)匿名使用者上傳檔案預設許可權修改
anon_umask=xxx (預設022)
(5)匿名使用者建立目錄
anon_mkdir_write_enable=YES|NO
(6)匿名使用者下載
anon_world_readable_only=YES|NO
設定引數值為no表示匿名使用者可以下載
(7)匿名使用者刪除
anon_other_write_enable=YES|NO
(8)匿名使用者使用的使用者身份修改
chown_uploads=YES
chown_username=student
上傳檔案時所有人會變成student
注意:先修改檔案使其可以上傳,再修改使其變成student
4)本地使用者選項
(1)本地使用者設定
local_enable=YES|NO 本地使用者登陸限制
write_enable=YES|NO 本地使用者寫許可權限制
(2)本地使用者家目錄修改
local_root=/directory
(3)本地使用者上傳檔案許可權
local_umask=xxx
(4)限制本地使用者瀏覽/目錄
所有使用者被鎖定到自己的家目錄中
chroot_local_user=YES
chmod u-w /home/*
(5)使用者黑名單建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
(6)使用者白名單建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
(7)限制本地使用者登陸
vim /etc/vsftpd/ftpusers 使用者永久黑名單
vim /etc/vsftpd/user_list 使用者臨時黑名單,可變白名單,具體方法參上
6)檔案傳輸選項
(1)最大上傳速率
anon_max_rate=102400
作用:每個伺服器都要有最大傳輸值,因為頻寬速度和硬碟讀取速度都有上限,不能使伺服器掛掉
(2)最大連結數
max_clients=2
作用:只允許兩個使用者登入
7)日誌選項
(1)xferlog_enable=YES
作用:是否設定用於記錄上傳和下載的日誌檔案,YES表示啟用
記錄檔案預設/var/log/xferlog (可更改)
(2)xferlog_std_format=YES
作用:用於設定日誌的格式是否採用標準格式。
報錯:
530 認證錯誤
550 沒有許可權操作
550 服務本身功能未開放
553 本地檔案系統許可權過小
寫在最後,如果大家喜歡linux運維方面的知識,歡迎關注本博主,會每週更新與linux運維相關的一些小知識,幫助大家入門
願你與我一同成長!
往期:
https://blog.csdn.net/Stella_Pooter/article/details/83111320 Linux運維入門~11.網路設定與路由器
https://blog.csdn.net/Stella_Pooter/article/details/83116835 Linux運維入門~12.DHCP服務配置
https://blog.csdn.net/Stella_Pooter/article/details/83273956 Linux運維入門~13.如何讓你的虛擬機器聯網及DNS設定
https://blog.csdn.net/Stella_Pooter/article/details/83303100 Linux運維入門~14.虛擬機器的安裝及使用
https://blog.csdn.net/Stella_Pooter/article/details/83311261 Linux運維入門~15.yum源配置
https://blog.csdn.net/Stella_Pooter/article/details/83508184 Linux運維入門~16.網路yum源配置,第三方yum源配置,rpm命令使用
https://blog.csdn.net/Stella_Pooter/article/details/83536719 Linux運維入門~17.自動化安裝虛擬機器
Never say die