linx製作ftp伺服器
要為CentOS 7系統配置FTP伺服器並添加用戶,首先,執行以下步驟:
1. 在終端中,創建一個新的FTP用戶並設置密碼:
bash
sudo useradd -m -s /sbin/nologin ftpuser
sudo passwd ftpuser
2. 打開FTP伺服器配置文件`vsftpd.conf`:
bash
sudo vi /etc/vsftpd/vsftpd.conf
然後,修改相關配置,如允許特定用戶訪問:
bash
anonymous_enable=NO
user_list_enable=YES
user_list_deny=NO
user_list_file=/etc/vsftpd/user_list
3. 接著,編輯`user_list`文件,添加新創建的用戶:
bash
sudo vi /etc/vsftpd/user_list
ftpuser:localhost,127.0.0.1
保存並關閉文件後,重啟FTP伺服器以應用更改:
bash
sudo systemctl restart vsftpd
4. 確保配置無誤,使用FTP客戶端如Xftp進行連接測試:
點擊"新建連接",輸入伺服器的IP地址、默認的FTP埠號(通常是21),用戶名為`ftpuser`,以及剛才設置的密碼。
如果連接成功,您會看到連接狀態欄顯示為綠色小圓點,表示連接已建立。
至此,CentOS 7的FTP伺服器用戶配置已完成,現在您可以使用新創建的`ftpuser`賬戶登錄並管理FTP資源了。
Ⅱ linux下用Proftpd搭建ftp伺服器及配置
linux下搭建ftp伺服器的軟體是wuftp,現在真的時代變了,上網看一下幾乎全世界的人都用proftpd了!趕個潮流,我也用proftpd在公司的一台備用小伺服器上裝上ftp伺服器。linux下搭建ftp伺服器的軟體是wuftp,現在真的時代變了,上網看一下幾乎全世界的人都用proftpd了!趕個潮流,我也用proftpd在公司的一台備用小伺服器上裝上ftp伺服器。
首先proftpd是一個開源軟體,目前最高版本是:1.3.1(非穩定版),穩定的版本是1.3.0,下載文件為proftpd-1.3.0a.tar.gz
我下載的是1.3.0,上傳到伺服器上後按照常規的方法安裝即可。
tar -zxvf proftpd-1.3.0a.tar.gz
cd proftpd*
./configure --prefix=/usr/local/proftpd
make
make install
安裝完成!接下來是配置。
設置一:隨機啟動服務,sbin/proftpd文件復制到/etc/rc.d/rc.local文件夾中,以實現開機自動啟動。
設置二:配置文件在etc/proftpd.conf,配置文件說明如下:
ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on
分別表示:伺服器名稱,服務類型和默認服務狀態!
後面的服務埠啊什麼的我就省去不說了,說最關鍵的許可權控制部分。
# Set the user and group under which the server will run.
User nobody
Group nogroup
注意看上面:以什麼用戶和什麼組來運行服務。
更改為你現有的組和用戶,這里為了管理上的方便和安全性上考慮,建議新建一個ftp組和ftp用戶。
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~
是否允許用戶進入用戶的主目錄,注意:可是適用/home替代
# Normally, we want files to be overwriteable.
AllowOverwrite on
是否具有重寫的權利
# A basic anonymous configuration, no upload directories. If you do not
# want anonymous users, simply delete this entire section.
User ftp
Group ftp
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
DenyAll
這部分是匿名用戶的定義其實也很簡單。
啟動不了,出現如下錯誤的解決方法
[root@new-host sbin]# ./proftpd
- IPv4 getaddrinfo 'new-host' error: Name or service not known
- warning: unable to determine IP address of 'new-host'
- error: no valid servers configured
- Fatal: error processing configuration file '/usr/local/proftpd/etc/proftpd.conf'
原因是無法綁定Ip地址。
在配置文件中增加下面這句:
DefaultAddress 192.168.8.105
再重啟服務就可以了!
接上!原來以為這樣就完事了,可是看看才知道如果我要新增加一個FTP用戶的話實際上是很麻煩的一件事,因為帳號是直接跟系統帳號想關聯的,不安全也不好操作,我們的目的是要做成像虛擬主機服務提供商那樣的ftp!
接下去,需要一個模塊的支持到 去看看proftpd-mod-quotatab模塊,注意下面這句話:
NOTE: mod_quotatab became part of the offical ProFTPD source distribution in 1.2.10rc1. If using a version of ProFTPD later than that, please use the mod_quotatab already included, as it will be most up-to-date.
表示我們下載的1.3版本已經支持做了這個東西,主要編譯安裝的時候把mod_quotatab 開起來就可以了,於是重新編譯!
前提:確認你已經安裝並且能夠正常運行mysql,否則後面的工作都是沒有意義的了!
重新編譯:
./configure --prefix=/usr/local/proftpd --with-moles=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql --with-includes=/usr/include/mysql --with-libraries=/usr/lib/mysql
注意請根據自己的Linux系統找到MySQL的相應include和lib目錄,以上例子中的相關路徑是大多數Linux系統默認的,如果你的MySQL是通過源碼編譯安裝的,則這兩個目錄一般在安裝路徑下。
有資料說:需要修改contrib目錄中mod_sql_mysql.c文件:
vi mod_sql_mysql.c
找到#include 這一行,將mysql.h改成你的系統中此文件所在的路徑,如/usr/include/mysql/mysql.h
可是我沒有這樣做也可以,真奇怪!
然後make
make install
一樣的切換到proftpd文件夾中操作,後面的比較復雜,我試試以大學教授的水平用簡單的語言講。
Ⅲ linux下搭建ftp伺服器
linux下搭建ftp伺服器
下面我就為大家整理了一些Linux認證復習備考資料。希望大家可以從中學習答題方法,讓自己的得到進步!最近為了方便目標板與PC機上LINUX之間的通訊,就在LINUX搭建了FTP,工作不難,寫個總結。主要經過以下幾個步驟:
1.檢查是否安裝了vsftpd伺服器
可以用rpm -q vsftpd命令來查看,若顯示"vsftpd-1.1.3-8",則說明系統已經安裝vsftpd伺服器,若沒有則可以在圖形環境下單擊"主菜單→系統設置→添加刪除應用程序"菜單項,在出現的"軟體包管理"對話框里確保選中"FTP伺服器"選項,然後單擊"更新"按鈕,按照屏幕提示插入第3張安裝光碟即可開始安裝。
2.啟動/重新啟動/停止vsftpd服務
從Red Hat Linux 9.0開始,vsftpd默認只採用standalone方式啟動vsftpd服務,方法是在終端命令窗口運行以下命令:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd start
重新啟動vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd restart
關閉vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd stop
3.vsftpd的配置
在Red Hat Linux 9.0里的vsftpd共有3個配置文件,它們分別是:
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。
vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問
FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。它是一個文本文件,我們可以用Kate、Vi等文本編輯工具對它進行修改,以此來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。
(1)用戶登錄控制
anonymous_enable=YES,允許匿名用戶登錄。
no_anon_password=YES,匿名用戶登錄時不需要輸入密碼。
local_enable=YES,允許本地用戶登錄。
deny_email_enable=YES,可以創建一個文件保存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單保存路徑(默認為/etc/vsftpd.banned_emails)。
(2)用戶許可權控制
write_enable=YES,開啟全局上傳許可權。
local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022)。
anon_upload_enable=YES,允許匿名用戶具有上傳許可權,很明顯,必須啟用write_enable=YES,才
可以使用此項。同時我們還必須建立一個允許ftp用戶可以讀寫的目錄(前面說過,ftp是匿名用戶的映射用戶賬號)。
anon_mkdir_write_enable=YES,允許匿名用戶有創建目錄的權利。
chown_uploads=YES,啟用此項,匿名上傳文件的屬主用戶將改為別的用戶賬戶,注意,這里建議不要指定root賬號為匿名上傳文件的屬主用戶!
chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替。
chroot_list_enable=YES,可以用一個列表限定哪些本地用戶只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的用戶是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一個安全用戶賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立用戶。這是vsftpd系統推薦選項。
async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!
ascii_upload_enable=YES;ascii_download_enable=YES,默認情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的'請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。
(注意:啟用ascii_download_enable選項會讓惡意遠程用戶們在ASCⅡ模式下用"SIZE/big/file"這樣的指令大量消耗FTP伺服器的I/O資源。)
這些ASCⅡ模式的設置選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導致崩潰),而不會遭受拒絕服務攻擊的危險。
(3)用戶連接和超時選項
idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出。
data_connection_timeout=120,設定默認的數據連接超時時間。
(4)伺服器日誌和歡迎信息
dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容
ftpd_banner=Welcome to blah FTP service,可以自定義FTP用戶登錄到伺服器所看到的歡迎信息。
xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。
xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log.
知道了上面各個選項的含義,你可以根據自己的需要進行配置,達部分的選項一般用不著改動,配置完了以後,確認vsftpd服務已經啟動後,我們可以在Windows主機的S命令窗口裡輸入"ftp Addres"(用實際的FTP伺服器IP地址或者域名代替Addres),注意用戶名、密碼都是ftp(ftp是匿名用戶的映射用戶賬號)。
如果登陸不上,可以試驗在LINUX下本地登陸看看,還有可以在LINUX登陸WINDOWS下的FTP,試驗能否登陸成功,如果可以,那很有可能登陸不上LINUX下的FTP的原因是LINUX的防火牆的原因,可以用rpm -q vsftpd命令來查看,如果防火牆開啟,可以用命令把其關閉,也可以在圖形界面下"主菜單"中的"system settings"中選擇"seurity level",安裝系統的時候如果沒有改動,默認是的seurity level是"Medium",你可以不改動該設置,選中下面"allow incomning"中的"FTP",當然你也可以設置seurity level為"NO firewall",這樣再在Windows下登陸LINUX的FTP,應該可以登陸了。
登陸後具體ftp下的操作就參考有關ftp的命令了,登陸後的路徑為/var/ftp/pub,把你所需要操作的文件可以放在該目錄下,我這里用付ftp主要是在下載linux編譯後的文件到板子上,上傳文件到LINUX上一般不用通過ftp,注意你在ftp下對文件進行一些操作的時候很可能被fail掉,注意根據情況設置文件的操作許可權。
;Ⅳ linux怎麼配置ftp伺服器
一、下載vsftpd軟體
sudo apt-get install vsftpd
我這里已經是安裝過了
4、在文件末尾插入
pasv_min_port=10060
pasv_max_port=10090
此為vsftpd被動模式(pasv)的埠范圍
5、保存退出
三、添加FTP用戶
1、在一個合適的地方創建文件夾,這個文件夾作為用戶的根目錄,並設置好許可權。例如:/home/ubuntu/ftp
2、執行如下語句添加用戶(username為用戶名)
sudo useradd -d /home/ubuntu/ftp -s /bin/bash username
3、執行如下語句設置密碼(username為用戶名)
sudo passwd username
四、啟動ftp服務
sudo service vsftpd start
五、Enjoy!
Ⅳ Linux怎樣創建FTP伺服器
linux上的ftp伺服器程序還是有很多的,可以參考如下操作步驟:
1、在創建FTP伺服器之有先命令: ps -ef |grep vsftpd
2、查一下系統有沒有安裝vsftpd這個伺服器,如果出現如下圖所示的界面說明沒有安裝。
3、然後再執行:yum install vsftpd -y
4、進行在線安裝vsftpd這個服務。
5、安裝成功以後需要把匿名登陸的這個功能關閉了。
6、使用命令: vim /etc/vsftpd/vsftpd.conf
7、然後在里成找到:
8、anonymous_enable=NO
9、然後再查看一下vsftpd這個服務有沒有啟動。
10、使用命令: chkconfig --list
11、如果你如下圖所示一樣沒有啟動。
12、沒有啟動使用啟動:chkconfig --level 35 vsftpd on
13、再接下來就是創建用戶名。
14、創建用戶名:useradd jingyan
15、再然後就是創建密碼。
16、命令:passwd jingyan
17、再輸入兩次密碼就可以了。
18、最後重啟一下服務:service vsftpd start
19、如果出現啟動失敗則可以使用:/etc/rc.d/init.d/vsftpd restart
20、成功鏈接FTP伺服器上。
Ⅵ linux怎麼搭建ftp伺服器
1、用在線安裝
yum install vsftpd pam* db4*-y
使用命令將vsftp配置為系統服務
chkconfig --level 35 vsftpd on
2、配置vsftpd服務的宿主
useradd vsftpdadmin -s /sbin/nologin -M
這個vsftpdadmin只是用來替換root的,並不需要登錄
3、建立ftp虛擬宿主帳戶
useradd vsftpuser -s /sbin/nologin -M
這ftpuser只個虛擬帳戶的宿主,本身是不用登錄的
4、配置vsftpd.conf 配置之前要先備份一下原來的
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES --> anonymous_enable=NO //不允許匿名用戶訪問,默認是允許。
chroot_list_enable=YES --> chroot_list_enable=YES //不允許FTP用戶離開自己主目錄
增加
#設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄里,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的地方就是這些配置文件名必須和虛擬用戶名相同。
user_config_dir=/etc/vsftpd/vconf/userlocal
#這一大陸爛步非常重要,要記住這滾漏一步。一會要根據這個配置新建文件夾
#修改埠號
ftp_data_port=4040
reverse_lookup_enable=NO
pasv_enable=yes
pasv_min_port=48790
pasv_max_port=48800
listen_port=48796 #埠可以根據你自己實際情況配置,也可以用默認埠。但是為了安全考慮根據自己實際情況配置
5、建立虛擬用戶文件
mkdir /etc/vsftpd/vconf
touch /etc/vsftpd/vonf/vir_user
6、建立虛擬用戶
vi /etc/vsftpd/vonf/vir_user
virtualuser //用戶名
12345678 //密碼
7、生成資料庫
db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db
8、設置資料庫文件訪問許可權
chmod 600 /etc/vsftpd/vconf/vir_user
chmod 600 /etc/vsftpd/vconf/vir_user.db
9、修改/etc/pam.d/vsftpd
auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
(要想同時使用系統用戶和虛擬用戶,就需要把required改成sufficient)
10
根據第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal
新建userlocal文件夾
mkdir /etc/vsftpd/vconf/userlocal
11、根據第六步建立的用戶名建立一個文件
例如第六步建立的帳號是virtualuser,則新建一個virtualuser文件
touch /etc/vsftpd/conf/userlocal/virtualuser
12、編輯該用戶訪問的文件路徑
vi /etc/vsftpd/conf/userlocal/virtualuser
輸入如下
local_root= //需要指定的網站根目錄,例如www..com所在文件夾為/www/
anonymous_enable=NO #禁止匿名用戶訪問
write_enable=YES #開啟寫許可權
local_umask=022 #上傳後文悉差件的許可權掩碼
anon_upload_enable=NO #關閉匿名下載
anon_mkdir_write_enable=NO #關閉匿名創建文件夾
idle_session_timeout=60 #會話自動關閉時間 60是因分鍾
data_connection_timeout=120 #數據延遲時間
max_clients=10 #最大連接數
max_per_ip=5 #同一個ip同時允許5個IP聯機
local_max_rate=1048576 #實體用戶傳輸速度限制,單位B/s。0代表不限制
13、配置就此完成,重啟vsftpd服務:service vsftpd restart。
查看系統埠狀態:netstas -tulnp。如果能看到48796埠正在被vsftpd調用說明啟動成功。
Ⅶ Linux-在Ubuntu搭建ftp伺服器
在Ubuntu 22.04上搭建FTP伺服器的具體步驟如下:
1. 首先,確保vsftpd服務已安裝並自動啟動。可通過命令"systemctl status vsftpd"檢查服務狀態。
2. 配置vsftpd伺服器,使用編輯命令"sudo nano /etc/vsftpd.conf"打開配置文件。
3. 在配置文件中,設置"anonymous_enable=YES"和"local_enable=YES"以允許匿名用戶和Ubuntu本地用戶登錄FTP伺服器。
4. 為限制FTP用戶訪問其他目錄,取消"chroot_local_user=YES"的注釋,並在文件末尾添加"chroot_local_user=no"。
5. 為允許上傳和刪除操作,取消"write_enable=YES"的注釋。
6. 設置匿名用戶的默認目錄,增加"anon_root=/home/ailsonjack/share"。
7. 在/home/ailsonjack文件夾中創建名為"share"的子文件夾,並在其中創建"ftp"子文件夾。使用命令"sudo chmod 777 /home/ailsonjack/share/ftp"改變"ftp"文件夾許可權。
8. 保存並退出配置文件編輯,使用命令"sudo systemctl restart vsftpd"使配置生效。
9. 為了確保FTP伺服器正常工作,可以暫時關閉防火牆。使用命令"sudo systemctl stop firewalld"關閉防火牆,然後使用"sudo systemctl status firewalld"檢查防火牆狀態。
至此,Ubuntu伺服器上的FTP伺服器搭建完成。測試FTP服務是否正常運行,確保匿名用戶和本地用戶能成功上傳和刪除文件。關注博主獲取更多Linux相關教程。