『壹』 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伺服器
vsftpd是一款在Linux發行版中最受推崇的FTP伺服器程序。特點是小巧輕快,安全易用。並且是一個完全免費開放源碼的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 #埠可以根據你自己實際情況配置,也可以用默認埠。但是為了安全考慮根據自己實際情況配置
『叄』 linux怎麼搭建ftp伺服器
第一步:在 Ubuntu 中安裝 VSFTPD 伺服器
首先,我們需要更新系統安裝包列表,然後像下面這樣安裝 VSFTPD 二進制包:
$ sudo apt-get update
$ sudo apt-get install vsftpd
一旦安裝完成,初始情況下服務被禁用。因此,我們需要手動開啟服務,同時,啟動它使得在下次開機時能夠自動開啟服務:
------------- On SystemD -------------
# systemctl start vsftpd
# systemctl enable vsftpd
------------- On SysVInit -------------
# service vsftpd start
# chkconfig --level 35 vsftpd on
接下來,如果你在伺服器上啟用了 UFW 防火牆(默認情況下不啟用),那麼需要打開埠 20 和 21 —— FTP 守護進程正在監聽它們——從而才能允許從遠程機器訪問 FTP 服務,然後,像下面這樣添加新的防火牆規則:
$ sudo ufw allow 20/tcp
$ sudo ufw allow 21/tcp
$ sudo ufw status
第二步:在 Ubuntu 中配置並保護 VSFTPD 伺服器
讓我們進行一些配置來設置和保護 FTP 伺服器。首先,我們像下面這樣創建一個原始配置文件 /etc/vsftpd/vsftpd.conf 的備份文件:
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
接下來,打開 vsftpd 配置文件。
$ sudo vi /etc/vsftpd.conf
OR
$ sudo nano /etc/vsftpd.conf
把下面的這些選項添加/改成所展示的值:
anonymous_enable=NO # 關閉匿名登錄
local_enable=YES # 允許本地用戶登錄
write_enable=YES # 啟用可以修改文件的 FTP 命令
local_umask=022 # 本地用戶創建文件的 umask 值
dirmessage_enable=YES # 當用戶第一次進入新目錄時顯示提示消息
xferlog_enable=YES # 一個存有詳細的上傳和下載信息的日誌文件
connect_from_port_20=YES # 在伺服器上針對 PORT 類型的連接使用埠 20(FTP 數據)
xferlog_std_format=YES # 保持標准日誌文件格式
listen=NO # 阻止 vsftpd 在獨立模式下運行
listen_ipv6=YES # vsftpd 將監聽 ipv6 而不是 IPv4,你可以根據你的網路情況設置
pam_service_name=vsftpd # vsftpd 將使用的 PAM 驗證設備的名字
userlist_enable=YES # 允許 vsftpd 載入用戶名字列表
tcp_wrappers=YES # 打開 tcp 包裝器
現在,配置 VSFTPD ,基於用戶列表文件/etc/vsftpd.userlist 來允許或拒絕用戶訪問 FTP。
注意,在默認情況下,如果通過userlist_enable=YES 啟用了用戶列表,且設置userlist_deny=YES 時,那麼,用戶列表文件/etc/vsftpd.userlist 中的用戶是不能登錄訪問的。
但是,選項userlist_deny=NO 則反轉了默認設置,這種情況下只有用戶名被明確列出在/etc/vsftpd.userlist 中的用戶才允許登錄到 FTP 伺服器。
userlist_enable=YES # vsftpd 將會從所給的用戶列表文件中載入用戶名字列表
userlist_file=/etc/vsftpd.userlist # 存儲用戶名字的列表
userlist_deny=NO
重要的是,當用戶登錄 FTP 伺服器以後,他們將進入 chrooted 環境,即當在 FTP 會話時,其 root 目錄將是其 home 目錄。
接下來,我們來看一看兩種可能的途徑來設置 chrooted(本地 root)目錄,正如下面所展示的。
這時,讓我們添加/修改/取消這兩個選項來將 FTP 用戶限制在其 home 目錄
chroot_local_user=YES
allow_writeable_chroot=YES
選項chroot_local_user=YES 意味著本地用戶將進入 chroot 環境,當登錄以後默認情況下是其 home 目錄。
並且我們要知道,默認情況下,出於安全原因,VSFTPD 不允許 chroot 目錄具有可寫許可權。然而,我們可以通過選項 allow_writeable_chroot=YES 來改變這個設置
保存文件然後關閉。現在我們需要重啟 VSFTPD 服務從而使上面的這些更改生效:
------------- On SystemD -------------
# systemctl restart vsftpd
------------- On SysVInit -------------
# service vsftpd restart
第三步:在 Ubuntu 上測試 VsFTP 伺服器
現在,我們通過使用下面展示的 useradd 命令創建一個 FTP 用戶來測試 FTP 伺服器:
$ sudo useradd -m -c "Aaron Kili, Contributor" -s /bin/bash aaronkilik
$ sudo passwd aaronkilik
然後,我們需要像下面這樣使用 echo 命令和 tee 命令來明確地列出文件/etc/vsftpd.userlist 中的用戶 aaronkilik:
$ echo "aaronkilik" | sudo tee -a /etc/vsftpd.userlist
$ cat /etc/vsftpd.userlist
現在,是時候來測試上面的配置是否具有我們想要的功能了。我們首先測試匿名登錄;我們可以從下面的輸出中很清楚的看到,在這個 FTP 伺服器中是不允許匿名登錄的:
# ftp 192.168.56.102
Connected to 192.168.56.102 (192.168.56.102).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.102:aaronkilik) : anonymous
530 Permission denied.
Login failed.
ftp> bye
221 Goodbye.
接下來,我們將測試,如果用戶的名字沒有在文件/etc/vsftpd.userlist 中,是否能夠登錄。從下面的輸出中,我們看到,這是不可以的:
# ftp 192.168.56.102
Connected to 192.168.56.102 (192.168.56.102).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.10:root) : user1
530 Permission denied.
Login failed.
ftp> bye
221 Goodbye.
現在,我們將進行最後一項測試,來確定列在文件/etc/vsftpd.userlist 文件中的用戶登錄以後,是否實際處於 home 目錄。從下面的輸出中可知,是這樣的:
# ftp 192.168.56.102
Connected to 192.168.56.102 (192.168.56.102).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.102:aaronkilik) : aaronkilik
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
在 Ubuntu 中確認 FTP 登錄
警告:設置選項allow_writeable_chroot=YES 是很危險的,特別是如果用戶具有上傳許可權,或者可以 shell 訪問的時候,很可能會出現安全問題。只有當你確切的知道你在做什麼的時候,才可以使用這個選項。
我們需要注意,這些安全問題不僅會影響到 VSFTPD,也會影響讓本地用戶進入 chroot 環境的 FTP daemon。
因為這些原因,在下一步中,我將闡述一個更安全的方法,來幫助用戶設置一個非可寫本地 root 目錄。
第四步:在 Ubuntu 中配置 FTP 用戶的 Home 目錄
現在,再次打開 VSFTPD 配置文件。
$ sudo vi /etc/vsftpd.conf
OR
$ sudo nano /etc/vsftpd.conf
然後像下面這樣用# 把不安全選項注釋了:
#allow_writeable_chroot=YES
接下來,為用戶創建一個替代的本地 root 目錄(aaronkilik,你的可能和這不一樣),然後設置目錄許可權,取消其他所有用戶對此目錄的寫入許可權:
$ sudo mkdir /home/aaronkilik/ftp
$ sudo chown nobody:nogroup /home/aaronkilik/ftp
$ sudo chmod a-w /home/aaronkilik/ftp
然後,在本地 root 目錄下創建一個具有合適許可權的目錄,用戶將在這兒存儲文件:
$ sudo mkdir /home/aaronkilik/ftp/files
$ sudo chown -R aaronkilk:aaronkilik /home/aaronkilik/ftp/files
$ sudo chmod -R 0770 /home/aaronkilik/ftp/files/
之後,將 VSFTPD 配置文件中的下面這些選項添加/修改為相應的值:
user_sub_token=$USER # 在本地 root 目錄中插入用戶名
local_root=/home/$USER/ftp # 定義各個用戶的本地 root 目錄
保存文件並關閉。然後重啟 VSFTPD 服務來使上面的設置生效:
------------- On SystemD -------------
# systemctl restart vsftpd
------------- On SysVInit -------------
# service vsftpd restart
現在,讓我們來最後檢查一下,確保用戶的本地 root 目錄是我們在他的 Home 目錄中創建的 FTP 目錄。
# ftp 192.168.56.102
Connected to 192.168.56.102 (192.168.56.102).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.10:aaronkilik) : aaronkilik
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
圖文詳解可以看一下這篇http://www.linuxprobe.com/ubuntu-ftp-service.html
『肆』 如何在Linux中部署ftp服務只需要代碼
Linux下ftp服務可以通過搭建vsftpd服務來實現,以CentOS為例,首先查看系統中是否安裝了vsftpd,可以通過執行命令 rpm -qa | grep vsftpd 來查看是否安裝相應的包,如果沒有安裝那麼可以執行 yum -y install vsftpd 來安裝,安裝之後首先創建ftp用戶,比如ftp_test,命令如下:useradd -s /sbin/nologin -d /home/ftp_test ftp_test
目錄盡量不要選擇根目錄下,這里是/home/ftp_test,並且ftp_test這個目錄不要手動創建,否則許可權會有問題,執行命令的時候會自動創建,
可以看到許可權現在是對於ftp_test用戶是可讀可寫可執行的,其他用戶和組下面的都沒有任何許可權,現在為ftp_test用戶創建密碼:passwd ftp_test
執行之後輸入2次密碼確認就設置好了密碼
然後編輯vsftpd配置文件,位置是:vim /etc/vsftpd/vsftpd.conf
找到anonymous_enable這個配置項,默認是YES,修改成NO,表示不允許匿名用戶登錄
現在直接保存配置文件,執行 systemctl start vsftpd.service 啟動vsftp服務,然後可以通過命令: systemctl status vsftpd.service 查看ftp服務的運行狀態,現在就可以用ftp客戶端進行連接了,這里用FileZilla測試,連接正常
現在基本的ftp服務就部署完了,客戶端可以正常上傳,下載,修改文件;但是這樣有個問題就是所有的目錄都暴露給客戶端了,雖然客戶端不能隨意修改刪除其餘的文件,但是因為目錄可見,所以總會有一些風險,所以接下來還需要配置讓ftp用戶只在自己的家目錄下面活動,而無法查看其它任何目錄,同樣是打開配置文件/etc/vsftpd/vsftpd.conf,找到chroot_local_user=YES這個配置,默認是注釋的,這里去掉注釋,表示只讓用戶在自己的目錄裡面活動,如果只是保存這一個配置的話,用ftp連接客戶端會返回500
OOPS: ftp chaodiquan.com /vsftpd: refusing to run with writable root inside
chroot()的錯誤,即禁止運行在可寫的家目錄中,因為剛才ftp_test這個目錄有w許可權,而現在我們使用的vsftpd版本是3.0.2
屬於比較新的版本,為了安全性做了一些限制,如果你此時想通過 chmod a-w /home/ftp_test 來去掉目錄的寫許可權,那麼連接成功是沒問題的,但是無法上傳文件了,所以網上很多說修改許可權的方法是不可取的,正確的做法是應該在下面添加一行配置allow_writeable_chroot=YES表示允許對家目錄的寫許可權,
配置完這兩項以後保存退出,然後執行 systemctl restart vsftpd.service 重啟vsftpd服務,現在重新使用ftp連接就成功了,並且任何操作也是沒問題的
現在可以看到上面的路徑是一個/,對於ftp用戶來說也就是根目錄了,只能在這個目錄下操作,而無法跳出這個目錄
以上就是vsftpd服務的基本搭建過程,實際使用時可以分配多個用戶
『伍』 怎樣在linux中搭建FTP伺服器
在創建FTP伺服器之有先命令: ps -ef |grep vsftpd
查一下系統有沒有安裝vsftpd這個伺服器,如果出現如下圖所示的界面說明沒有安裝。
然後再執行:yum install vsftpd -y
進行在線安裝vsftpd這個服務。
安裝成功以後需要把匿名登陸的這個功能關閉了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然後在里成找到:
anonymous_enable=NO
然後再查看一下vsftpd這個服務有沒有啟動。
使用命令: chkconfig --list
如果你如下圖所示一樣沒有啟動。
沒有啟動使用啟動:chkconfig --level 35 vsftpd on
再接下來就是創建用戶名。
創建用戶名:useradd jingyan
再然後就是創建密碼。
命令:passwd jingyan
再輸入兩次密碼就可以了。
最後重啟一下服務:service vsftpd start
如果出現啟動失敗則可以使用:/etc/rc.d/init.d/vsftpd restart
成功鏈接FTP伺服器上。
『陸』 如何在linux系統下搭建ftp伺服器
在linux中一般使用vsftp這個軟體搭建FTP伺服器。
首先要看你的是什麼linux系統,對於ubuntu、debian可通過apt-get install vsftpd命令安裝,對於centos、redhat等系統可通過yum install vsftpd命令安裝。
安裝成功後,需要修改/etc/vsftpd.conf配置文件。這個配置文件包含登錄ftp的用戶、密碼、訪問目錄的設置。
修改了配置文件後,執行/etc/init.d/vsftpd restart命令重啟ftp伺服器。那麼ftp伺服器就搭建完成了。
『柒』 linux下如何搭建ftp伺服器
使用寶塔面板安裝ftp環境就可以了
『捌』 linux下怎麼搭建ftp伺服器
在創建FTP伺服器之有先命令: ps -ef |grep vsftpd查一下系統有沒有安裝vsftpd這個伺服器,如果出現如下圖所示的界面說明沒有安裝。
然後再執行:yum install vsftpd -y
進行在線安裝vsftpd這個服務。
安裝成功以後需要把匿名登陸的這個功能關閉了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然後在里成找到:?
anonymous_enable=NO
然後再查看一下vsftpd這個服務有沒有啟動。
使用命令: chkconfig --list
如果你如下圖所示一樣沒有啟動。
沒有啟動使用啟動:chkconfig --level 35 vsftpd on
再接下來就是創建用戶名。
創建用戶名:useradd jingyan
再然後就是創建密碼。
命令:passwd jingyan
再輸入兩次密碼就可以了。
最後重啟一下服務:service vsftpd start
如果出現啟動失敗則可以使用:/etc/rc.d/init.d/vsftpd restart
成功鏈接FTP伺服器上。
『玖』 如何在linux搭建ftp伺服器
詳解Linux中搭建一個ftp伺服器。
ftp工作是會啟動兩個通道:
控制通道 , 數據通道
在ftp協議中,控制連接均是由客戶端發起的,而數據連接有兩種模式:port模式(主動模式)和pasv(被動模式)
PORT模式:
在客戶端需要接收數據時,ftp_client(大於1024的隨機埠)-PORT命令->ftp_server(21) 發送PORT命令,這個PORT命令包含了客戶端是用什麼埠來接收數據(大於1024的隨機埠),在傳送數據時,ftp_server將通過自己的TCP 20 埠和PORT中包含的埠建立新的連接來傳送數據。
PASV模式:
傳送數據時,ftp_client--PASV命令-->ftp_server(21) 發送PASV命令時,ftp_server自動打開一個1024--5000之間的隨機埠並且通知ftp_client在這個埠上傳送數據,然後客戶端向指定的埠發出請求連接,建立一條數據鏈路進行數據傳輸。
安裝ftp
#rpm -qa vsftpd 查看是否已經安裝
#yum install -y vsftpd
#rpm -ql vsftpd
/etc/logrotate.d/vsftpd. vsftpd的日誌文件
/etc/pam.d/vsftpd PAM認證文件
/etc/rc.d/init.d/vsftpd 啟動腳本
/etc/vsftpd vsftpd的配置文件存放的目錄
/etc/vsftpd/ftpusers 禁止使用vsftpd的用戶列表文件
/etc/vsftpd/user_list 禁止或允許使用vsftpd的用戶列表文件
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些變數和設置
/usr/sbin/vsftpd vsftpd的主程序
其他一些說明文檔和手冊文件略!
/var/ftp 用戶主目錄
/var/ftp/pub 用戶的目錄
#service vsftpd start
#chkconfig --level vsftpd
#chkconfig --level 2345 vsftpd on
2 用戶的登錄名:ftp(anonymous) 密碼空 ,登錄的目錄為/var/ftp
用用戶登錄的時候默認是只有的許可權,沒有上傳,創建和刪除的許可權:
#vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES 上傳
anon_mkdir_write_enable=YES 創建
anon_other_write_enable=YES 刪除
#service vsftpd restart
為了安全應該禁止用戶的登錄:
#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#anon_upload_enable=YES 上傳
#anon_mkdir_write_enable=YES 創建
#anon_other_write_enable=YES 刪除
#service vsftpd restart
3 創建一個直接登錄系統用戶來登錄ftp:
#useradd -s /sbin/nologin viong
#passwd viong