FTP(二)相关配置
生活随笔
收集整理的這篇文章主要介紹了
FTP(二)相关配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- FTP服務是由vsftpd包提供的
- 不再由xinetd服務管理
- 用戶認證配置文件:/etc/pam.d/vsftpd
- 服務腳本:
- centos7:/usr/lib/systemd/system/vsftpd.service
- centos6:/etc/rc.d/init.d/vsftpd
- 主配置文件:/etc/vsftpd/vsftpd.conf
- 格式:option=value "注意:= 前后不要有空格"
- 查看幫助:man 5 vsftpd.conf
- 匿名用戶(映射為系統用戶ftp )共享文件位置:/var/ftp
- 系統用戶共享文件位置:用戶家目錄
- 虛擬用戶共享文件位置:為其映射的系統用戶的家目錄
相關配置
命令端口
listen_port=21 默認為21端口主動模式端口
connect_from_port_20=YES 主動模式端口為20 #"注意下面這一項默認配置文件里沒有需要手動添加,可以添加在任意位置"ftp_data_port=20 指定主動模式的端口被動模式數據端口范圍
linux客戶端默認使用被動模式 windows 客戶端默認使用主動模式 #"注意下面這兩項默認配置文件里沒有需要手動添加,可以添加在任意位置"pasv_min_port=6000 0為隨機分配 該選項為最小端口 pasv_max_port=6010 該選項為最大端口使用本機時間
use_localtime=YES 使用本機時間 默認是本機時間加8小時(默認為NO,使用GMT)匿名賬戶管理
- 支持匿名用戶anonymous_enable=YES - 匿名用戶略過口令檢查 no_anon_password=YES(默認NO) - 只能下載所有者,所屬組,其他都為讀權限的文件 anon_world_readable_only (默認YES) - 支持匿名上傳,注意:文件系統權限也會有限制,例如文件上傳到的目錄ftp用戶是否有讀寫權限,默認匿名用戶在/pub目錄下不能上傳文件anon_upload_enable=YES - 是否支持匿名用戶創建文件anon_mkdir_write_enable=YES - 是否支持匿名用戶刪除和修改上傳文件anon_other_write_enable=YES - 指定匿名上傳的文件的umask值(默認為066)anon_umask=077 - 指定上傳文件的默認的所有者和權限 chown_uploads=YES(默認NO) chown_username=wang #指定上傳文件所屬者chown_upload_mode=0644 #指定上傳文件的權限 例如:ftp> ls150 Here comes the directory listing.-rw-r--r-- 1 500 50 2020 Feb 10 06:08 anaconda-ks.cfg #修改之后上傳的文件-rw------- 1 14 50 1073741824 Feb 10 06:04 f1 #沒有修改之前上傳的文件Linux系統普通用戶管理
- 所有系統普通用戶都映射為某一個用戶1,guest_enable=YES 所有系統用戶都映射成guest用戶 2,guest_username=wang 配合上面選項才生效,指定guest用戶"注意:當添加該項配置之后,所有普通用戶都會映射為"wang"用戶,這時候如果"li"用戶登入時,所在的目錄會是wang的家目錄,如果li用戶不在wang用戶組里,那么就不能查看wang用戶的家目錄,所以解決方法就是給讀寫權限即可 - 非匿名用戶登錄所在目錄,(默認如果沒映射用戶的話,登入就在自己的家目錄里)local_root=/ftproot - 是否允許linux用戶登錄 local_enable=YES - 允許linux用戶上傳文件write_enable-YES - 指定系統用戶上傳文件的默認權限 local_umask=022 - 禁錮所有系統用戶在家目錄中 chroot_local_user=YES(默認NO,不禁錮)禁錮系統用戶 - 禁錮或不禁錮特定的系統用戶在家目錄中,與上面設置功能相反 1,在配置文件中添加下面兩項配置chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 2,在/etc/vsftpd/目錄下創建一個文件名為:chroot_list注意:當chroot_local_user=YES時,則chroot_list中用戶不禁錮 當chroot_local_user=NO時,則chroot_list中用戶禁錮wu-ftp日志:默認啟用
xferlog_enable=YES (默認)啟用記錄上傳下載日志 xferlog_std_format=YES (默認)使用wu-ftp日志格式 xferlog_file=/var/log/xferlog (默認)可自動生成vsftpd日志:默認不啟用
#使用vsftpd日志格式加入下面兩項配置,(默認不啟用)dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log(默認該文件會自動生成)不需要手動創建,重啟服務有人訪問就會自動生成登錄提示信息
啟動改配置在登入時會提示:welcome to mage ftp server ftpd_banner="Welcome to blah FTP service." 例如:[root@ansible-7 ~]# ftp 192.168.136.6Connected to 192.168.136.6 (192.168.136.6)."220 Welcome to blah FTP service."Name (192.168.136.6:root): 也可以將提示語寫在文件里但是需要加上下面這行配置,注意:在文件里支持字體加顏色噢!banner_file=/etc/vsftpd/ftpbanner.txt 例如:echo -e '\033[1;5;31m小心駛得萬年船\033[0m' > /etc/vsftpd/banner.txt 1:表示高亮5:閃爍31:紅色 32:綠色 #注意中間使用”;“隔開33:×××34:藍色35:粉色36:青色37:白色目錄訪問提示信息
當切換至某一個目錄時會提示一些信息,需要加上下面的配置選項dirmessage_enable=YES (默認) message_file=.message(默認)加上該配置后提示語文件必須存放在指定目錄下.message中例如:echo -e '\033[1;31m您以進入pub目錄! \033[0m' > /var/ftp/pub/.message使用pam(Pluggable Authentication Modules)完成用戶認證
默認在FTP服務就啟用了PAM模塊認證功能,下面這行配置就是啟用PAm模塊功能的。pam_service_name=vsftpd PAM模塊配置文件所在:/etc/pam.d/vsftpd #默認文件中用戶拒絕登錄 配置文件內容: cat /etc/pam.d/vsftpd#%PAM-1.0session optional pam_keyinit.so force revoke"auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed" auth required pam_shells.soauth include password-authaccount include password-authsession required pam_loginuid.sosession include password-auth我們只需要關注下面這個PAM模塊即可auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed該PAM模塊功能就是在/etc/vsftpd/ftpusers這個文件中的用戶能不能登入FTP服務器, 取決于sense=是否是等于allow了,如果是deny的話該文件里的用戶將不能登入,而allow則反之。 所以想禁止一個用戶登入只要寫入/etc/vsftpd/ftpusers文件即可。這就是為什么root用戶登不上去的原因,例如:[root@centos6 pub]# cat /etc/vsftpd/ftpusers # Users that are not allowed to login via ftprootbindaemonadmlpsyncshutdownhaltmailnewsuucpoperatorgamesnobody另一個控制用戶登入的文件
需要啟用下面的配置選項,1,userlist_enable=YES 默認有此設置上面的選項作用就是讓/etc/vsftpd/目錄下的users_list文件生效,默認在里面的用戶被拒絕登入,并且登入時口令都不讓輸2,userlist_deny=YES 添加上面的選項,(YES是默認值)表示該文件時黑名單,不提示口令,NO為白名單3, userlist_file=/etc/vsftpd/users_list 此為默認值例如:[root@centos6 pub]# cat /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.rootbindaemonadmlpsyncshutdownhaltmailnewsuucpoperatorgamesnobody用戶連接限制
分為最大并發限制,和IP最大同時發起的最大連接數
max_clients=10 表示最大并發連接數為10個 max_per_ip=3 每個IP同時發起的最大連接數為3個指定vsftpd服務用戶運行身份,默認為nobody 。
當有人訪問時就會開啟一個以nobody用戶運行的進程 nopriv_user=nobody 例如:[root@centos6 pub]# ps aux |grep ftproot 20629 0.0 0.0 52132 828 ? Ss 18:30 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.confroot 20923 0.0 0.1 54236 1436 ? Ss 20:15 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.confnobody 20924 0.0 0.1 54248 1040 ? S 20:15 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf限制傳輸速度
"注意:是以字節為單位例如:1024000表示1M"anon_max_rate=0 匿名用戶的最大傳輸速率 local_max_rate=0 本地用戶的最大傳輸速率連接時間控制:秒為單位
connect_timeout=60 主動模式數據連接超時時長 accept_timeout=60 被動模式數據連接超時時長 data_connection_timeout=300 數據連接無數據輸超時時長 idle_session_timeout=60 無命令操作超時時長文件傳輸方式:默認是二進制傳輸
加上下面的配置選項,會優先以文本方式傳輸 ,"注意:如果是二進制程序的話也會以文本方式傳輸這樣會導致二進制程序不能用,所以需謹慎使用"ascii_upload_enable=YES ascii_download_enable=YES轉載于:https://blog.51cto.com/13598893/2072972
總結
以上是生活随笔為你收集整理的FTP(二)相关配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2023算力融合创新产业峰会成功举办
- 下一篇: 联发科正和英伟达合作,在高端手机芯片上整