當我們在伺服器上安裝好了vsftpd這個軟體後,並且已經理解該軟體的主設定檔/etc/vsftpd/vsftpd.conf後,我們就可以搭建出自己想要的ftp服務了。
指定連接埠等
listen_port=21 設定監聽的連接埠
download_enable=YES 允許下載檔案
max_clients=100 限制並發客戶端連線數
max_per_ip=100 限制統一ip的並發連結數
##禁止匿名、實體使用者登陸
#先把匿名使用者登陸給關了,不給匿名使用者瀏覽權限。anonymous_enable=NO那為什麼不允許實體使用者登陸呢?因為實體使用者本來就可以用更安全的sftp登陸,所以,就不用使用ftp協定登陸了。另外,因為ftp是明文傳輸協議,如果帳號密碼被截獲了,那就不好了。 如何禁止實體使用者登陸呢?在文章下方設定虛擬使用者的第三步驟會講到,把/etc/pam.d/vsftpd下的所有內容都註解掉。
主動連接、被動連接設定
我們想要建立既要支援主動連接模式也支援被動連接,那麼設定如下:主動連線模式的連接埠設定connect_from_port_20=YES設定防火牆,將21埠放行,另外不用開啟20埠,直接對於主機主動向外請求的而回應的封包允許進入本機( establish/related)。
iptables -A INPUT -p tcp --dport 21 -j ACCEPT # FTP服务 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT開啟被動模式,被動連線的連接埠限定為10001~11000中的任一個。
pasv_enable=YES pasv_min_port=10001 pasv_max_port=11000設定防火牆,允許10000~11000之間的連接埠開放。
iptables -A INPUT -p tcp --dport 10001::11000 -j ACCEPT # ftp被动连接端口
設定虛擬使用者
- 建立虛擬使用者口令檔
- 產生虛擬使用者口令認證檔案
- #編輯vsftpd的PAM認證檔案
建立本機對應目錄並設定宿主目錄權限 修改設定檔。
給每個虛擬使用者弄一個單獨的設定檔
#1.建立虛擬使用者的口令檔,該檔案的格式為奇數行為用戶名,偶數行為密碼。下面建立一個這樣的檔案/etc/vsftpd/vusers,內容如下:
ftptest1 111111 ftptest2 222222
2.產生虛擬使用者口令認證檔案
,執行下列指令:db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/login.db當指令正確執行後,就會出現/etc/vsftpd/login.db檔。為了安全起見,我們將該檔案的權限設定為600.
chmod 600 login.db
3.編輯虛擬使用者所需的PAM設定檔
vim /etc/pam.d/vsftpd將先前的內容全部給註解掉,並新加入兩行
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login注意,如果是32位元的去掉lib後面64,另外login後面不用加入後綴的。這樣操作之後,實體使用者就不能登陸ftp服務了。 ######建立虛擬使用者的宿主使用者###
# useradd -d /home/vsftp -s /sbin/nologin ftpuser###修改目錄權限為755###
# chmod 755 /home/vsftp/######5.修改設定檔。 #########把下面幾行設定資訊寫入到/etc/vsftpd/vsftpd.conf設定檔中。 ###
# 开启虚拟用户登陆功能 guest_enable=YES # 将虚拟用户与宿主用户对应 guest_username=ftpuser # pam认证文件(该配置默认存在) pam_service_name=vsftpd # vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,所以要加入下面配置 allow_writeable_chroot=YES######6.給每個虛擬使用者建立單獨的設定檔。 #########若想給每個虛擬使用者都建立單獨的設定文件,則需要在主設定檔中加入###
user_config_dir=/etc/vsftpd/config###指定虛擬使用者的設定檔路徑。接下來給兩個虛擬用戶建立各自的配置文件:###
# ftptest1虚拟用户的配置文件 # 创建虚拟用户家目录 # mkdir /home/vsftp/ftptest1 # chown ftpuser:ftpuser /home/vsftp/ftptest1/ # 建立配置文件 # mkdir /etc/vsftpd/config # vim /etc/vsftpd/config/ftptest1 <=== 虚拟用户各自配置文件和自己的用户名对应起来 # 指定家目录 local_root=/home/vsftp/ftptest1 # 允许相关权限 download_enable=yes anon_upload_enable=yes anon_other_write_enable=YES anon_mkdir_write_enable=yes anon_world_readable_only=no # 设置最大传输速度,单位b/s anon_max_rate=100000###注意:目前還沒給ftptest2虛擬用於建立單獨的配置文件,那麼對於此用戶就使用主配置文件的配置(/etc /vsftpd/vsftpd.conf)######更多相關技術文章,請造訪###linux系統教學###專欄! ###
以上是linux運維之搭建符合自己要求的vsftp服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1
強大的PHP整合開發環境