當前位置:首頁 » 文件管理 » linux創建ftp伺服器

linux創建ftp伺服器

發布時間: 2022-09-24 21:43:57

linux怎麼搭建ftp伺服器

vsftpd是一款在Linux發行版中最受推崇的FTP伺服器程序。特點是小巧輕快,安全易用。並且是一個完全免費開放源碼的ftp軟體方法/步驟1、用在線安裝 yum install vsftpd pam* db4*-y使用命令將vsftp配置為系統服務 chkconfig --level 35 vsftpd on2、配置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_user6、建立虛擬用戶 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.db8、設置資料庫文件訪問許可權 chmod 600 /etc/vsftpd/vconf/vir_user chmod 600 /etc/vsftpd/vconf/vir_user.db9、修改/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/userlocal11、根據第六步建立的用戶名建立一個文件 例如第六步建立的帳號是virtualuser,則新建一個virtualuser文件 touch /etc/vsftpd/conf/userlocal/virtualuser12、編輯該用戶訪問的文件路徑 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上設置一個ftp伺服器

1. 首先伺服器要安裝ftp軟體,查看是否已經安裝ftp軟體下:
#which vsftpd
如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體

2. 查看ftp 伺服器狀態
#service vsftpd status

3. 啟動ftp伺服器
#service vsftpd start

4. 重啟ftp伺服器
#service vsftpd restart

5. 查看服務有沒有啟動
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,證明ftp服務已經開啟。

6.如果需要開啟root用戶的ftp許可權要修改以下兩個文件
#vi /etc/vsftpd.ftpusers中注釋掉root
#vi /etc/vsftpd.user_list中也注釋掉root
然後重新啟動ftp服務。

7. vsftpd 500 OOPS: cannot change directory
登陸報錯:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解決方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!

這是SELinux的設置命令,在不熟悉SELnux前,把SELinux關掉也可以的。

8. 永久開啟,即os重啟後自動開啟ftp服務
方法一:
cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp的設置:
vi /etc/xinetd.d/gssftp ,將 修改兩項內容:

(a) server_args = -l –a 去掉-a 改為server_args = -l
(b) disable=yes改為disable=no
(c) 保存退出。

方法二:
(a) system-config-services , 進入圖形界面的System services查看是否有 vsftpd項,如果沒有轉到2.,保存後退出

(b) 用redhat第三張盤 安裝此服務(開始--刪除/增加程序),200K左右

(c) #setup
此時能看到vsftpd項,此時選中此services項,保存後退出.

⑶ 怎麼在linux 下搭建ftp伺服器

vsftpd的服務軟體包位於RHED4的第1張光碟。包名是vsftpd-2.0.1-5.i386.rpm,插入光碟。
#mount -t iso9660 /dev/cdrom /media/cdrom //掛載光碟
mount: block device /dev/cdrom is write-protected, mounting read-only
#cd /media/cdrom/RedHat/RPMS
#ls vsftpd* //查找軟體包
vsftpd-2.0.1-5.i386.rpm
#rpm -ivh vsftpd-2.0.1-5.i386.rpm //安裝軟體包
Preparing... ########################################### [100%]
package vsftpd-2.0.1-5 is already installed
#rpm -ql vsftpd | grep /etc //查看etc目錄下的vsftpd相關文件
/etc/logrotate.d/vsftpd.log
/etc/pam.d/vsftpd
/etc/rc.d/init.d/vsftpd //vsftpd的啟動腳本文件
/etc/vsftpd
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
/etc/vsftpd/vsftpd.conf //配置文件
#grep -v '#' /etc/vsftpd/vsftpd.conf //查看ftp默認的配置
anonymous_enable=YES //允許匿名登錄
local_enable=YES //允許本地用戶登錄
write_enable=YES //對本地用戶有寫入的許可權
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES //ftp伺服器啟用ftp埠連接請求
xferlog_std_format=YES
pam_service_name=vsftpd //PAM認證服務的配置文件名稱,該文件保存在/etc/pam.d/目錄下
userlist_enable=YES //檢查user_list文件指定的用戶是不可以訪問vsftpd, /etc/vsftpd/user_list
listen=YES //Ftp伺服器處於獨立啟動模式
tcp_wrappers=YES
userlist_enable =YES //設置使用vsftp.user_list文件
userlist_deny =YES //設置使用vsftp.user_list文件用戶設置禁用帳號
#head -5 /etc/vsftpd/ftpusers //此文件保存不允許進行登錄的本地用戶
Users that are not allowed to login via ftp
root
bin //這些用戶不時普通的用戶,都是系統中具有較高許可權的帳號
daemon
adm
#grep -v '#' /etc/vsftpd/user_list //查看vsftpd/user_list文件中不可訪問ftp服務的用戶
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
#ls -l /etc/init.d/vsftpd* //查看vsftpd的啟動文件
-rwxr-xr-x 1 root root 1880 2004-10-04 /etc/init.d/vsftpd
#chkconfig --list vsftpd //查看vsftpd的運行級別
vsftpd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
#chkconfig --level 35 vsftpd on //設置vsftpd的啟動運行級別3和5中自動啟動
#chkconfig --list vsftpd
vsftpd 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉
#service vsftpd status //查看vsftpd的運行狀態
vsftpd 已停
#service vsftpd start //開啟vsftpd伺服器
為 vsftpd 啟動 vsftpd: [ 確定 ]
#service vsftpd restart //重新啟動vsftpd伺服器
關閉 vsftpd: [ 確定 ]
為 vsftpd 啟動 vsftpd: [ 確定 ]
#service vsftpd stop //停止vsftpd伺服器
關閉 vsftpd: [ 確定 ]
#service vsftpd start //啟動vsftpd伺服器
為 vsftpd 啟動 vsftpd: [ 確定 ]
#ftp 192.168.80.202 //測試vsftpd伺服器
Connected to 192.168.80.202.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.80.202:root):ftp(或anonymous) //匿名用戶登錄可使用ftp或anonymous 也可用本地用戶
331 Please specify the password.
Password:[email protected] //使用郵箱作為密碼:[email protected]
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>ls //ls查看當前的目錄 測試成功
227 Entering Passive Mode (192,168,80,202,224,106)
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Oct 04 2004 pub
226 Directory send OK.
ftp>bye //bye退出ftp伺服器
221 Goodbye.
linux下添加ftp用戶和創建ftp虛擬用戶
#useradd -g ftp -s /bin/nolongin test //創建test用戶,不讓用戶登錄系統 test屬於ftp組
# passwd test //給test用戶創建密碼
Changing password for user test.
New UNIX password:1234567 //輸入密碼:1234567
Retype new UNIX password:1234567 //確認輸入密碼:1234567
passwd: all authentication tokens updated successfully.
vsftpd虛擬用戶帳號的設置過程:
#vi login.txt //創建虛擬用戶口令文件,文件內容如下
mike
1234567
john
1234567
#db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db //用db_load命令生成認證文件,-f虛擬用戶口令文件,即login.txt,生成的認證文件名vsftpd_login.db,該文件存放在/etc/vsftpd/目錄中

linux下FTP服務(vsftp)的搭建與配置祥解
如果報上圖的錯誤,則是系統未安裝下面的幾個RPM包,或者其中幾個RPM包,如下圖:
linux下FTP服務(vsftp)的搭建與配置祥解
#file /etc/vsftpd/vsftpd_login.db //查看vsftpd_login.db的文件類型
/etc/vsftpd/vsftpd_login.db: Berkeley DB (Hash, version 8, native byte-order)
#chmod 600 /etc/vsftpd/vsftpd_login.db //設置文件vsftpd_login.db許可權,對root用戶可讀可寫
#ls -l /etc/vsftpd/vsftpd_login.db
-rw------- 1 root root 12288 1月 21 22:24 /etc/vsftpd/vsftpd_login.db
#vi /etc/pam.d/vsftpd.vu //創建虛擬用戶認證所需的PAM文件vsftpd.vu,如下內容
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
# cat /etc/pam.d/vsftpd.vu //查看vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
# useradd -d /home/ftptest ftpuser //建立虛擬的系統用戶帳號 帳號名 ftpuser 宿主錄/home/ftptest
# chmod 700 /home/ftptest/ //設置目錄許可權700
讓後設置vsftpd.conf配置文件,在修改配置文件前對其進行備份
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak //備份vsftpd.conf
#vi /etc/vsftpd/vsftpd.conf //在vsftpd.conf配置文件中添加虛擬用戶配置項 內容如下:
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd.vu
#service vsftpd restart //重新啟動vsftpdfuwuqi
#ftp 192.168.80.202 //登錄ftp伺服器
Connected to 192.168.80.202.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.80.202:root): mike //用mike用戶進行登錄
331 Please specify the password.
Password:1234567 //密碼:1234567
230 Login successful. //230顯示登錄成功
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye //bye退出ftp伺服器
注意:報錯解讀:
linux下FTP服務(vsftp)的搭建與配置祥解

linux下FTP服務(vsftp)的搭建與配置祥解
上面兩個報錯的原因可以看出是配置文件錯誤,所以細心很重要;
linux下FTP服務(vsftp)的搭建與配置祥解
這個報錯到底是什麼原因呢?讓我們看看下圖的解答吧:

linux下FTP服務(vsftp)的搭建與配置祥解


二、對vsftpd虛擬用戶設置不同的許可權
#vi /etc/vsftpd/vsftpd.conf //編輯vsftpd.conf文件 添加如下內容:
user_config_dir=/etc/vsftpd_user_conf //設置用戶配置文件的保存目錄
#mkdir /etc/vsftpd_user_conf //創建虛擬用戶配置文件的保存目錄
#vi /etc/vsftpd_user_conf/mike //創建mike用戶配置文件,添加以下內容:
anon_world_readable_only=NO //mike表示用戶可以瀏覽Ftp目錄和下載文件
anon_upload_enable=YES //mike用戶可以上傳文件
anon_mkdir_write_enable=YES //mike用戶具有建立和刪除目錄的許可權
anon_other_write_enable=YES //mike用戶具有文件改名和刪除文件的許可權

⑷ linux下ftp伺服器怎麼搭建

用護衛神主機大師,一鍵安裝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 是文件傳輸協議(File Transfer Protocol)的縮寫。顧名思義,FTP用於計算機之間通過網路進行文件傳輸。你可以通過FTP在計算機賬戶間進行文件傳輸,也可以在賬戶和桌面計算機之間傳輸文件,或者訪問在線軟體歸檔。但是,需要注意的是多數的FTP站點的使用率非常高,可能需要多次重連才能連接上。 今天來說一下在RHEL5下使用VSftpd來搭建ftp伺服器,在搭建之前首先要考慮自己的工作環境,我搭建ftp干什麼,公司的具體要求是什麼,然後再根據公司的需求來具體實施。下面是搭建的具體實驗步驟: 一、首先確定系統中已經安裝了VSftpd軟體包,可以使用如下命令來查看並安裝: liwei@linux# rpm -qagrep vsftpd (如果有的話執行第二條就行了,若沒安裝,可以使用如下命令來安裝) liwei@linux# mount /dev/cdrom /media //掛載光碟到系統中 liwei@linux# rpm -vih /media/Server/vsftpd-版本號 //安裝VSftpd 二、安裝好VSftpd軟體包後,然後就是給伺服器配置一個靜態IP地址,當然動態也可以,但一般伺服器最好使用靜態IP。配置IP地址的方法如下,我以配置192.168.0.1地址為例: liwei@linux# vi /etc/sysconfig/network-scritps/ifcfg-eth0 在打開的配置文件中修改: 復制代碼代碼如下: DEVICE=eth0 BOOTPROTO=static HAWADDR=00:0C:29:A2:8B:B8 ONBOOT=yes IPADDR=192.168.0.1 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 三、配置好IP地址後,然後就可以根據你自己的要求來修改vsftpd的配置文件來達到你的目標了,vsftpd的主配置文件為/etc/vsftpd/vsftpd.conf。下面用幾個例子來說明一下vsftpd的各個配置選項的作用。 1.匿名用戶配置: 在vsftpd.conf配置文件中,默認是允許匿名用戶登錄FTP伺服器的,但不允許上傳文件、不允許在伺服器上創建目錄,我們可以修改以下一些配置項來達到自己的要求: 復制代碼代碼如下: anonymous_enable=YES //接受匿名用戶 no_anon_password=YES //匿名用戶登錄時不詢問口令 anon_root=目錄路徑 //匿名用戶登錄後所在的位置,可以根據自己的實際需求來修改 write_enable=YES //可以上傳(全局控制) file_open_mode=0666 //上傳文件的許可權,配合umask使用 anon_upload_enable=NO //匿名用戶可以上傳 anon_mkdir_write_enable=YES //匿名用戶可以建立目錄 anon_other_write_enable=YES //匿名用戶可以重名名、刪除等許可權 anon_world_readable_only=YES //如果設為YES,匿名用戶登入者會被允許下載可閱讀的文檔 chown_uploads=YES //所有匿名上傳的文件的所屬用戶將會被更改為chown_username chown_username=user //匿名上傳文件所屬用戶名 除了以上這些匿名用戶的選項外我們還可以添加一些設置FTP伺服器的公共選項,通過這些選項可以為FTP伺服器設置一些不同的歡迎信息。 復制代碼代碼如下: ftpd_banner=Welcom to my FTP Server!!! //登錄時顯示的歡迎信息 dirmessage_enable=YES //允許為目錄配置顯示信息,顯示每個目錄下面message_file文件的內容 setproctitle_enable=YES //顯示會話狀態信息 下面來舉個例子來說明一下匿名用戶的應用: 為了公司的員工工作方便,公司決定搭建一台FTP伺服器,要達到的功能如下: 1.允許公司的任何員工把自己的一些文檔傳上FTP伺服器上保存起來以便下次使用, 2.允許員工自己創建目錄 3.員工登錄成功後顯示歡迎信息 如果要達到以上的要求只需要在vsftpd.conf配置文件中修改以下選項就OK了,如果默認沒有一些選項,可以自己手動添加: 復制代碼代碼如下: anonymous_enable=YES write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES ftpd_banner=Welcom to my FTP Server!!! 注意:如果只設置了anon_upload_enable=YES,但選項write_enabl未設置(或者設置成了NO),則匿名用戶仍然不能上傳文件。還有別忘記了修改FTP所處的文件夾的許可權。 修改完以上配置文件後,使用命令service vsftpd restart重啟一下vsftpd服務然後測試就OK了,其實上面這個例子很不安全,我只是舉個例子,如果實際中使用,可以使用下面講到的另兩種方法都可以。 2.本地用戶配置: 復制代碼代碼如下: local_enable=YES //啟用本地用戶 local_umask=022 //本地用戶上傳的文件的許可權,可以參考linux許可權部分來了解 local_root=目錄路徑 //本地用戶登錄FTP伺服器後所處的目錄 chroot_local_user=YES //限制本地用戶的根目錄為自己的主目錄 chroot_list_enable=YES //如果啟動這項功能,則所有列在chroot_list_file之中的使用者都不能更改根目錄 chroot_list_file=限制的用戶所處的文件路徑 在FTP伺服器上通常會有很多的本地用戶,那麼有時候我們希望一些用戶可以登錄FTP伺服器,而有的用戶我們不希望他們登錄,遇到這種情況該怎麼解決呢?可以使用如下選項來實現些功能: 復制代碼代碼如下: userlist_enable=YES //啟用userlist功能模塊 userlist_deny=YES //拒絕userlist文件中列出的用戶登錄FTP伺服器 userlist_file=userlist文件的的路徑 以上選項的意思就是我們假如不想讓一部分人登錄FTP伺服器,那麼我們可以寫一個文件把這些用戶加入到這個文件中去,然後把上面這個功能打開然後在userlist_file選項那指向這個文件的所在地,這樣這個文件中的用戶就不能登錄FTP伺服器了。相反假如我們userlist_deny設置成NO的話,意思就是userlist_file指向的那個文件里的用戶可以登錄FTP伺服器,其它用戶則不能登錄FTP伺服器。 本地用戶的應用比較簡單,只要系統中可以登錄的用戶要登錄FTP伺服器,直接輸入系統的用戶名和密碼就可以登錄了,默認登錄後是在自己的家目錄里,也就是/home/用戶文件夾里。許可權的控制就是修改這個目錄的許可權來控制就OK了。如果想控制某些用戶禁止登錄,則可以按照上面的userlist功能來進行限制就行了。 除了以上匿名用戶和本地用戶外的一些參數外還有網路和連接參數及下面會提到的日誌功能配置。 四、網路和連接參數配置, 下面是一些常用的網路和連接參數: 復制代碼代碼如下: max_clients=1000 //可接受的最大連接數,可以根據自己的實際情況來修改 max_per_ip=5 //每個IP地址的最大連接數,可以根據自己的實際情況來修改 anon_max_rate=51200 //匿名用戶的帶寬(b/s) local_max_rate=5120000 //本地用戶的帶寬(b/s) idle_session_timeout=600 //空閑連接超時時間 data_connection_timeout=120 //數據傳輸超時時間 ACCEPT_TIMEOUT=60 //PAVS請求超時時間 connect_timeout=60 //PORT模式連接超時時間 connect_from_port_20=YES //使用標準的20埠來連接FTP listen_address=地址或網段 //綁定到某個IP或網段,其他IP不能訪問該FTP listen_port=2121 //綁定到某個埠 ftp_data_port=2020 //數據傳輸埠 pasv_max_port=0 //PASV連接模式時可以使用port范圍的上界,0表示任意。 pasv_min_port=0 //PASV連接模式時可以使用port范圍的下界,0表示任意。 以上各個選項後都有說明,有需要的可以自己根據自己的情況來添加,這里就不再詳述了。其中PORT模式是FTP工作模式中的主動模式,PASV模式是FTP工作模式中的被動模式。 五、日誌功能配置 vsftpd可啟用日誌功能,這樣,文件的上傳與下載信息將被完整地記錄在xferlog_file選項所設置的日誌文件中,設置日誌功能的選項如下: 復制代碼代碼如下: xferlog_enable=YES //開啟日誌功能 xferlog_file=文件路徑 //日誌文件的存放位置 xferlog_std_format=YES //使用標准格式記錄日誌 vsftpd的專用日誌模式配置選項: 復制代碼代碼如下: al_log_enable=YES //採用vsftpd自己專用的日誌記錄方式 log_ftp_enable=YES //記錄所有的FTP命令日誌 vsftpd_log_file=文件路徑 //指定vsftpd日誌文件的位置 當以上兩種日誌功能都設置為NO時,還可以使用系統日誌來記錄FTP的日誌,設置選項如下: syslog_enable=YES //啟用後,默認的日誌寫入到/var/log/messages里 雖然可以使用這種方式來記錄FTP日誌,但是推薦使用最上面的兩種,因為這樣查看日誌時候比較清楚,容易分析日誌。 六、其他常用選項設置 復制代碼代碼如下: ascii_upload_enable=YES //用ASCII模式上傳, ascii_download_enable=YES //用ASCII模式下載 dirmessage_enable=YES //設置每個子目錄的歡迎信息。 banner_file=文件路徑 //設置歡迎信息的文件 ls_recurse_enable=YES //允許用戶使用ls -R命令 pam_service_name=vsftpd //定義PAM使用的名稱,默認為vsftpd guest_enable=YES //將所有的非匿名用戶都視為guest,即啟用虛擬用戶 guest_username=virtual //定義guest的使用者名稱

⑺ Linux怎樣創建FTP伺服器

1、環境:ftp為vsftp。被限制用戶名為test。被限制路徑為/home/ftp
2、建用戶:在root用戶下:
useradd -d /home/ftp test //增加用戶test,並制定test用戶的主目錄為/home/ftp
passwd test //為test設置密碼

3、更改用戶相應的許可權設置:(對於一般情況,簡單添加一個用戶的話,這一步,可以不要!!一般情況下,配置ftp也不需要這一步)

usermod -s /sbin/nologin test //限定用戶test不能telnet,只能ftp
usermod -s /bin/bash test //用戶test恢復正常
usermod -d /test test //更改用戶test的主目錄為/test

4,修改/etc/vsftpd/vsftpd.conf文件如下:
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
最後在該文件的最後面添加如下行:
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/vsftpd.user_list
最後保存/etc/vsftpd/vsftpd.conf文件。
5、限制用戶只能訪問/home/test,不能訪問其他路徑
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES //限制訪問自身目錄
# (default follows)

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
編輯/etc/vsftpd/vsftpd.chroot_list文件,將受限制的用戶添加進去,每個用戶名一行
添加後如下:
test /home/ftp
編輯 /etc/vsftpd/vsftpd.user_list文件,將受限制的用戶添加進去,每個用戶名一行
添加後如下:
test
改完配置文件,不要忘記重啟vsFTPd伺服器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart
啟動後,在進行測試,使用本地用戶test及其密碼登錄,成功。
如果此時還不能執行寫操作或登錄時出現其它錯誤,則要查看test用戶對應的文件夾/home/ftp,test用戶是否有對此文件夾的寫許可權。
6、如果需要允許用戶修改密碼,但是又沒有telnet登錄系統的許可權:(對於一般情況,簡單添加一個用戶的話,這一步,可以不要!!一般情況下,配置ftp也不需要這一步)
usermod -s /usr/bin/passwd test //用戶telnet後將直接進入改密界面

⑻ linux 怎麼做ftp伺服器

1.運行以下命令安裝 vsftpd。
yum install -y vsftpd
2.運行以下命令打開及查看etc/vsftpd
cd /etc/vsftpd
ls
說明:
/etc/vsftpd/vsftpd.conf 是核心配置文件。
/etc/vsftpd/ftpusers 是黑名單文件,此文件里的用戶不允許訪問 FTP 伺服器。
/etc/vsftpd/user_list 是白名單文件,是允許訪問 FTP 伺服器的用戶列表。
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些變數和設置
備註:使用命令 rpm -ql vsftpd 可列出vsftpd中包含的文件
3.運行以下命令設置開機自啟動。
systemctl enable vsftpd
4.運行以下命令啟動 FTP 服務。
systemctl start vsftpd
5.運行以下命令查看 FTP 服務埠。
netstat -antup | grep ftp
6.配置本地用戶登錄
本地用戶登錄就是指用戶使用 Linux 操作系統中的用戶賬號和密碼登錄 FTP 伺服器。
vsftpd 安裝後默只支持匿名 FTP 登錄,用戶如果試圖使用 Linux 操作系統中的賬號登錄伺服器,將會被 vsftpd 拒絕,但可以在 vsftpd 里配置用戶賬號和密碼登錄。具體步驟如下:
a.運行以下命令創建 ftptest 用戶。
useradd ftptest
(刪除用戶命令:sudo userdel -r newuser)
b.運行以下命令修改 ftptest 用戶密碼。
passwd ftptest
7.修改/etc/vsftpd/vsftpd.conf
a.運行vim /etc/vsftpd/vsftpd.conf。
b.按鍵 「i」 進入編輯模式。
c.將是否允許匿名登錄 FTP 的參數修改為anonymous enable=NO。
d.將是否允許本地用戶登錄 FTP 的參數修改為local_enable=YES。
e.按鍵 「Esc」 退出編輯模式,然後按鍵「:wq」 保存並退出文件。
f.運行命令 cat /etc/vsftpd/vsftpd.conf 查看配置文件內容。 命令的使用方法可查詢「Linux命令大全」。

⑼ 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,我覺得挺詳細的

熱點內容
java中todate 發布:2024-10-09 22:01:49 瀏覽:851
android簡訊許可權設置 發布:2024-10-09 21:45:43 瀏覽:847
安卓手機轉移數據為什麼自動斷開 發布:2024-10-09 21:40:52 瀏覽:86
什麼是海關防盜密碼鎖 發布:2024-10-09 21:32:24 瀏覽:851
shell腳本的加減 發布:2024-10-09 21:23:23 瀏覽:397
安卓平板和蘋果的平板有什麼區別 發布:2024-10-09 20:26:37 瀏覽:427
上傳速度對網速的影響嗎 發布:2024-10-09 20:09:38 瀏覽:562
密碼鎖芯在哪裡能買到 發布:2024-10-09 20:05:33 瀏覽:454
傳奇伺服器強行下線是什麼意思 發布:2024-10-09 20:05:11 瀏覽:922
sqljoinas 發布:2024-10-09 19:48:01 瀏覽:393