⑴ centos搭建ftp服務
一:安裝FTP
輸入vsftpd -v判斷是否安裝成功
啟動/停止/重啟FTP
二:添加ftp用戶
1:創建ftp用戶並設置密碼
2:配置該用戶僅能通過 FTP 訪問
三:FTP配置
1:FTP的配置文件在/etc/vsftpd/vsftpd.conf,找到以下配置並修改或添加
2:配置可以登錄ftp用戶
在/etc/vsftpd/user_list文件中添加可以登錄ftp的用戶:
3:配置ftp用戶登錄後訪問的目錄
在/etc/vsftpd目錄下新建一個userconfig目錄,在userconfig目錄下配置用戶的登錄目錄,例:注意:文件名就是你想要配置的用戶名稱
在vsftpd文件中添加
配置完成後重啟FTP更新配置
四:創建測試目錄及文件
創建目錄
設置訪問許可權:
創建一個測試文件,並在裡面寫上this is test!!!
五:防火牆配置
禁用防火牆或者開啟21埠和30000埠
(1):開啟21埠
530問題
1.cat /etc/passwd,查看你登陸的賬戶主目錄和登陸shell對應的是什麼,我的是/sbin/nologin
用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
2.查看cat /etc/shells是否有你用戶的主目錄和登陸shell,沒有進行添加,保存,退出。
通過其他伺服器鏈接ftp
先安裝ftp指令 yum install ftp
連接 ftp 192.168.6.36
⑵ 如何在Centos下安裝ftp伺服器
啟動命令:/etc/rc.d/init.d/vsftpd start 這時候可以使用ftp客戶端連接。 vsftpd的許可權貌似和系統許可權有掛鉤。 下面是抄來的配置解釋vsftpd的配置 ,例如root等。 vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。 vsftpd.conf:位於/etc/vsftpd目錄下。來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。 (1)CentOS系統用戶登錄控制 local_enable=YES,允許本地用戶登錄。 banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單保存路徑(默認為/etc/vsftpd.banned_emails)。 (2)CentOS系統用戶許可權控制 write_enable=YES,開啟全局上傳許可權。 local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022)。 chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替。 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)CentOS系統用戶連接和超時選項 idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出。 data_connection_timeout=120,設定默認的數據連接超時時間。 dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容。 xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。 xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log。 以上,我們就完成了CentOS系統中FTP的配置工作。
⑶ 如何在CentOS 7中安裝,配置和安全加固FTP服務
步驟 1:安裝 FTP 伺服器
1、 安裝 vsftpd 伺服器很直接,只要在終端運行下面的命令。
# yum install vsftpd
2、 安裝完成後,服務先是被禁用的,因此我們需要手動啟動,並設置在下次啟動時自動啟用:
# systemctl start vsftpd
# systemctl enable vsftpd
3、 接下來,為了允許從外部系統訪問 FTP 服務,我們需要打開 FTP 守護進程監聽的 21 埠:
# firewall-cmd --zone=public --permanent --add-port=21/tcp
# firewall-cmd --zone=public --permanent --add-service=ftp
還可以使用selinux進行。。
⑷ centos 6.5 怎麼使用ftp 伺服器
實施步驟:
1:安裝vsftp程序
[root@server Packages]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.i686.rpm
2:啟動服務並設為開機啟動
[root@server ~]# service vsftpd start
[root@server ~]# chkconfig vsftpd on
3:備份配置文件
[root@server ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
4:編輯配置文件實現需求
[root@server ~]# mkdir /data/ftproot
[root@server ~]# vim /etc/vsftpd/vsftpd.conf
...
12 anonymous_enable=NO 禁止匿名訪問
...
120 listen_port=2121 改ftp埠
121 chroot_local_user=yes 禁錮登錄目錄
122 local_root=/data/ftproot 改登錄目錄為/data/ftproot
123 userlist_deny=NO 白名單生效
124 max_clients=20 最大並發客戶端
125 max_per_ip=2 每ip最大並發
126 local_max_rate=100000 限制下載速度
[root@server ~]# service vsftpd restart 重啟服務
5:編輯白名單實現賬戶訪問控制
[root@server ~]# tail -2 /etc/vsftpd/user_list
up
down
6:在伺服器端給up用戶添加本地寫許可權
[root@server ~]# setfacl -m u:up:rwx /data/ftproot
7:客戶端測試
[root@client ~]# ftp 192.168.1.254 2121
Name (192.168.1.254:root): up 以up用戶登錄測試
230 Login successful
ftp> put install.log
local: install.log remote: install.log
227 Entering Passive Mode (192,168,1,254,247,195).
150 Ok to send data.
226 Transfer complete.
38109 bytes sent in 0.0426 secs (894.56 Kbytes/sec)
ftp> get install.log
local: install.log remote: install.log
227 Entering Passive Mode (192,168,1,254,20,170).
150 Opening BINARY mode data connection for install.log (38109 bytes).
226 Transfer complete.
38109 bytes received in 0.00206 secs (18463.66 Kbytes/sec)
Name (192.168.1.254:root): down 以down用戶登錄測試
230 Login successful.
ftp> !ls
anaconda-ks.cfg bootback.tar.gz install.log install.log.syslog test test.zip
ftp> put bootback.tar.gz
local: bootback.tar.gz remote: bootback.tar.gz
227 Entering Passive Mode (192,168,1,254,44,97).
553 Could not create file.
ftp> get install.log
local: install.log remote: install.log
227 Entering Passive Mode (192,168,1,254,242,203).
150 Opening BINARY mode data connection for install.log (38109 bytes).
226 Transfer complete.
38109 bytes received in 0.000302 secs (126188.74 Kbytes/sec)
⑸ centos下有什麼FTP軟體可以推薦嗎最好包括安裝的教程
centos裡面自帶就有ftp軟體,軟體名叫vsftp
把光碟塞到系統里
mount /dev/cdrom /mnt
cd /mnt/CentOS
rpm -ivh vsftp*
/etc/init.d/vsftp start
這樣ftp就啟用了.默認ftp根在/var/ftp下,往這里放東西就可以共享出去
⑹ 如何在LINUX上建立虛擬用戶
為vsftpd 建立虛擬用戶
ftp 2009-07-21 16:07:34 閱讀155 評論0 字型大小:大中小 訂閱
Linux的FTP服務支持3種用戶:
1.匿名帳戶
2.本地帳戶
3.虛擬用戶
為什麼要使用虛擬用戶:
匿名帳戶可以很好的保證FTP伺服器的安全性,但是,對匿名用戶的許可權管理不夠靈活.如果想對訪問FTP的帳戶給予更多的許可權,就可以用本地帳戶來實現. 但是,本地帳戶默認情況下是可以登陸Linux系統的,這樣對Linux系統來說是一個安全隱患.那麼怎麼能在靈活的賦予FTP用戶許可權的前提下,保證 FTP伺服器乃至整個Linux系統的安全呢?使用虛擬用戶就是一種解決辦法.
下面,我們就一起來學習,該怎樣在Linux下配置FTP伺服器的虛擬用戶.
開始配置前,讓我們先大概了解下FTP虛擬用戶的工作原理:
虛擬用戶,顧名思義,並不是一個合法的Linux系統帳戶,但是他可以用來登陸該系統上運行的FTP伺服器.
當用戶在連接上FTP伺服器後,會被要求輸入用戶名和密碼.FTP伺服器在拿到這個用戶名和密碼後,會調用相應的PAM認證模塊對,和系統中的FTP認證文件進行相比較.如果該用戶名和密碼與FTP認證文件中的某條記錄相符,就通過認證,然後該帳戶就被映射成一個Linux下的本地帳戶,然後根據使用該本地帳戶對FTP資源進行訪問.否則則斷開該連接請求.
了解了FTP虛擬用戶的工作原理後,我們就可以開始配置FTP虛擬用戶了.
整個過程可以分這幾個步驟:
1.准備一個虛擬用戶的口令庫文件.該文件中保存的用戶名和密碼是用戶連接FTP伺服器時,需要輸入的用戶名和密碼.文件可以自己創建,位置無關緊要,文件格式為:奇數行為用戶名,偶數行為密碼.
例如:touch login.txt //創建一個名為login.txt的虛擬用戶口令庫文件
vi login.txt //編輯該口令庫文件
mike //虛擬用戶mike
123 //虛擬用戶mike的密碼
john //虛擬用戶john
321 //虛擬用戶john的密碼
保存退出.
2.用剛才建立的虛擬用戶口令庫文件生成FTP伺服器的認證文件.該認證文件是一個被加密後的密文.PAM在調用相應的認證模塊後,會對從FTP伺服器發來的用戶名和密碼進行加密,然後在跟該文件進行對比,發現相符條目後,登陸用戶才會被允許登陸.
db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db
//在運行該命令前,別忘記安裝db4-utils軟體包,該包包含有db_load命令等.關於該命令的使用不在本文討論范圍內.其中-f參數後跟的為剛才創建的虛擬用戶口令庫文件.最後的路徑為生成的FTP認證文件的存放位置.
為了進一步保證安全,可以將該FTP認證文件的許可權設置為600.
3.建立虛擬用戶所需要的PAM配置文件.由於FTP伺服器在接受到用戶的用戶名和口令後會調用PAM認證,所以我們還要創建虛擬用戶的PAM配置文件.
我們將該文件保存在/etc/pam.d目錄下,文件名暫時取為:vsftpd.這里要注意一點就是,該文件名要與FTP服務主配置文件(/etc/vsftpd/vsftpd.conf)中的pam_service_name=vsftpd選項的選項值相同.
創建好該文件後,將下面的內容加入到該文件中:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
改好後,保存退出(注意,/etc/pam.d/vsftpd 這個文件只能有上面兩行代碼有效,其他內容請用#號注釋掉).注意3個紅色文件的文件名.該3個文件為1個文件,只不過在使用中寫法不同.
4.由於用戶在通過PAM的認證後要被映射成一個本地用戶,所以我們還要建立一個本地用戶供虛擬用戶使用.
我們只需要對該本地用戶賦予FTP主目錄的適當訪問許可權就行.即使FTP伺服器遭到攻擊,這個本地用戶也沒有訪問其他目錄的許可權,相對比較安全一些.
useradd -d /home/ftpsite virtual //用戶名為virtual,主目錄為FTP的根
chmod 700 /home/ftpsite //將其許可權設置為700,可以根據實際情形進行修改
**更正(ftp目錄歸屬與被用於ftp的虛擬用戶的情況下)**
000(---------) 可切僅可登陸
500(r-x------) 可見文件列表,可下載,不可上傳與ftp上不同名的文件,不可刪除、改名、新建文件夾
700(rwx------) 可上傳下載文件,可修改文件名,可刪除文件,可建立文件夾,可移動文件(可做全部操作)(vsftpd 配置許可的情況下)
5.在FTP的主配置文件中,啟用FTP虛擬用戶.增加如下選項即可:
guest_enable=YES
guest_username=virtual //將虛擬用戶映射成本地的哪個用戶.這里用的是virtual,剛才建
立的那個用戶.
pam_service_name=/etc/vsftpd/vsftpd //切記要修改該項的值
6.配置到這里就完成了,別忘記重啟FTP服務進行測試.
7.為不同的虛擬用戶分配許可權
默認情況下,虛擬用戶擁有相同的許可權,就是virtual的許可權,我們可以根據實際需求對不同的虛擬用戶分配許可權.
首先在FTP的主配置文件中加一個選項:
user_config_dir=/etc/vsftpd_user_conf //文件名和路徑都可以自己定義
然後創建該目錄.
mkdir /etc/vsftpd_user_conf
下面就可以在該目錄下編輯不同虛擬用戶的許可權配置文件了,比如要對mike編輯其許可權.
touch mike //建立mike的許可權文件.文件名要與虛擬用戶名相同
可以根據實際需求為該文件添加下面的選項和值:
anon_world_readable_only=NO //表示用戶可以瀏覽FTP目錄和下載文件
anon_upload_enable=YES //表示用戶可以上傳文件
anon_mkdir_write_enable=YES //表示用戶有創建和刪除目錄的許可權
anon_other_write_enable=YES //表示用戶具有文件改名和刪除文件的許可權
另外:修改 /etc/selinux 文件夾下的 config 文件,SELINUX=enforcing 修改為 SELINUX=disabled
到這里,虛擬用戶就算完成配置完成了.
不過,有一個問題,好象在配置完虛擬用戶後,不關FTP主配置文件里怎樣配置,匿名用戶和本地用戶都不能登陸FTP伺服器了.該怎樣解決這個問題呢?
如果不能上傳文件,如果其他配置都和上面一樣,而且ftp主目錄的許可權設置為777都不能上傳的話,則可能是防火牆的問題:
========= 以下轉自:(http://www.hebgh.org/bbs/Topic.aspx?BoardID=18&TopicID=321) =========
Vsftpd匿名用戶無法上傳的解決
在CentOS下,通過#yum -y install vsftpd安裝好vsftpd並通過編輯/etc/vsftpd/vsftpd.conf進行配置
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
在/var/ftp/下建立upload目錄,設置/var/ftp/upload目錄的屬性為777,將其屬主改為ftp用戶
chmod -R 777 /var/ftp/upload
chown ftp:ftp /var/ftp/upload
重啟vsftpd。
至此,按理說vsftpd的匿名用戶在ftp的upload目錄下應具有下載、上傳、建目錄、刪除的許可權,但在上傳時,卻出現了錯誤
200 Switching to Binary mode.
200 PORT command successful.Consider using PASV.
553 Could not create file.
試了好多天,一直在配置文件上和目錄許可權上找原因,可都沒有解決問題。
今天,看到一篇文章,說出現Consider using PASV是防火牆的原因。
通過setup打開防火牆配置項,看到有SELinux項,有強制、允許、禁用三項,選禁用後,vsftpd的匿名用戶就可以進行上傳,建目錄等操作了。
或者運行命令
#setsebool -P ftpd_disable_trans 1
然後重啟vsftpd服務,也可解決這個問題。
解決了上傳的問題後,又有了新的問題,就是匿名用戶上傳的文件無法下載。經查上傳的文件的屬性為-rw-------。
先是在配置文件中,修改local_umask=022項,沒有解決問題,增加如下項
anon_world_readable_only=NO
則能下載,具體原因不詳。
後來增加anon_umask-022項,則上傳的文件屬性為-rw-r--r--,匿名用戶可以正常下載。
vsftpd用戶目錄問題
伺服器技術 2009-10-12 17:13:03 閱讀216 評論0 字型大小:大中小 訂閱
我這里很簡單,也就是設定最多六七個用戶,每個用戶對應不同的目錄,然後這些目錄會用在web上。
我看了這里的vsftp的配置,我這樣的目的好像用虛擬用戶是最好了。但是我不大清楚,這個虛擬用戶,是不是說我如果有10個ftp帳號,就要有10個虛擬用戶?然後給每個虛擬用戶指定目錄?如果是這樣的話,那我就要
useradd10個用戶咯?
這個ftp用戶的主目錄是怎麼定的呢?是在useadd的時候指定的目錄么?
請知道的朋友指教一下...感謝...
________________________________________
wolfg 回復於:2005-09-15 14:48:07
引用:原帖由 "baalchina" 發表:
我看了這里的vsftp的配置,我這樣的目的好像用虛擬用戶是最好了。但是我不大清楚,這個虛擬用戶,是不是說我如果有10個ftp帳號,就要有10個虛擬用戶?然後給每個虛擬用戶指定目錄?如果是這樣的話,那我就要
useradd10個用戶咯?
這個ftp用戶的主目錄是怎麼定的呢?是在useadd的時候指定的目錄么?
1. 如果有10個ftp帳號,就要有10個虛擬用戶?
正確
2. 給每個虛擬用戶指定目錄?
對
3. 如果是這樣的話,那我就要useradd10個用戶咯?
不需要。所有的虛擬用戶都映射到guest_username指定的系統用戶上。所以,只需useradd一次,即添加一個用戶用作guest_user
配置文件中的相關選項
guest_enable=YES
guest_username=yourguestuser
4. 這個ftp用戶的主目錄是怎麼定的呢?是在useadd的時候指定的目錄么?
默認情況下,所有虛擬用戶的主目錄都是guest用戶的主目錄。但可以設置每個虛擬用戶一個目錄:
user_config_dir=/etc/vsftpd_user_config
/etc/vsftpd_user_config目錄是分別存放每個虛擬用戶特殊配置文件的地方,每個用戶一個配置文件,配置文件的名字與虛擬用戶名相同
配置文件中的選項的值將會覆蓋總的配置文件vsftpd.conf中的值
為每個用戶指定用戶主目錄
local_root=/home/virtual/userdir
也可在vsftpd.conf中設置
user_sub_token=$USER
那麼每個虛擬用戶的配置文件中設置local_root
local_root=/home/virtual/$USER
$USER就是虛擬用戶的用戶名,即每個虛擬用戶的主目錄是/home/virtual下的與自己用戶名同名的目錄
⑺ linux系統下centos6.5怎麼安裝ftp伺服器
配置好yum源,後如下安裝
[root@localhost mnt]# yum list vsftpd
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Available Packages
vsftpd.x86_64 2.2.2-11.el6_4.1
[root@localhost mnt]# yum install vsftpd.x86_64
……
編輯配置文件vsftpd.conf
[root@localhost mnt]# cd /etc/vsftpd/
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# vim vsftpd.conf
做如下配置:
「#anonymous_enable=YES」 改成 「anonymous_enable=NO」
文件末尾新增:userlist_deny=NO
說明:僅允許userlist的用戶訪問ftp伺服器
創建ftp用戶
[root@localhost vsftpd]# useradd testacc
[root@localhost vsftpd]# passwd testacc
Changing password for user testacc.
New password:
BAD PASSWORD: it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost vsftpd]# echo testacc >> /etc/vsftpd/user_list
說明:也可以通過編輯配置文件user_list,在文件末尾新增添加的用戶
重啟ftp伺服器
[root@localhost vsftpd]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: userlist_deny [FAILED]
出錯了,原因:vim /etc/vsftpd.conf 時:每行的值都不要有空格,否則啟動時會出現錯誤,可能是添加userlist_deny=NO時,NO後面多了空格,重新編輯,再試,OK。...
FlashFXP工具連接FTP伺服器:
結果報錯:500 OOPS:cannot change directory:/home/testacc
解決方法:
1、編輯/etc/vsftpd.conf,找到如下內容,做如下修改:
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
修改為如下:
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
新建/etc/vsftpd/chroot_list文件
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# touch chroot_list
[root@localhost vsftpd]# echo testacc >> chroot_list #寫入添加的用戶
2.
查看SELinux 的狀態
[root@localhost vsftpd]# getsebool ftpd_disable_trans
Error getting active value for ftpd_disable_trans
[root@localhost vsftpd]# sestatus -b | grep ftp
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
ftp_home_dir off
ftpd_connect_db off
ftpd_use_fusefs off
ftpd_use_passive_mode off
httpd_enable_ftp_server off
tftp_anon_write off
tftp_use_cifs off
tftp_use_nfs off
結果如上, ftp_home_dir off,即SE關閉了ftp主目錄,如下,將其設置為on
[root@localhost vsftpd]# setsebool -P ftp_home_dir on
說明:-P表示永久設置,不用每次開機後都重新設置。
3.重啟ftp伺服器
[root@localhost vsftpd]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
⑻ centos5.5系統怎麼安裝ftp服務,在虛擬機中
1. 使用setup菜單完成TCP/IP網路配置;
(1)在命令行運行setup,選擇「Network Configuration」
(2)選擇「eth0(eth0)……」
(3)取消「Use DHCP」
(4)配置IP地址和子網掩碼為192.168.202.5/255.255.255.0,網關為192.168.202.1
(5)一層層退出
(6)運行ifdown eth0禁用乙太網卡
(7)運行ifup eth0啟用乙太網卡並重新讀取配置。
(8)使用ifconfig檢查eth0網卡的IP地址配置。
2. vsftpd伺服器的基本配置
(1)rpm -q vsftpd 察看vsftpd軟體包是否安裝
(2)service vsftpd start 啟動vsftpd伺服器
(3)chkconfig vsftpd on 將vsftpd服務設置為自動啟動
(4)從XP客戶端訪問「ftp://192.168.202.5」
(5)察看vsftpd伺服器的配置文件的預設配置:vi /etc/vsftpd/vsftpd.conf
1)anonymous_enable=YES 允許匿名用戶登錄
2)local_enable=YES 允許本地用戶登錄
3)write_enable=YES 允許寫入(上傳文件、創建目錄)(包含所有用戶)
4)#anon_upload_enable=YES 允許匿名用戶上傳文件,但已被注釋掉
5)#anon_mkdir_enable=YES 允許匿名用戶創建目錄,但已被注釋掉
3. 配置允許匿名用戶上傳的FTP伺服器
(1)vi /etc/vsftpd/vsftpd.conf
(2)去掉上面(4)(5)兩行的注釋
(3)service vsftpd restart
(4)從XP客戶端重新訪問「ftp://192.168.202.5」,上傳一個文件,是否成功?
(5)因為匿名用戶是以ftp帳號訪問FTP伺服器的,主目錄為/var/ftp。(可察看/etc/passwd,找ftp那一行)而「/var/ftp」目錄所屬用戶為root,目錄許可權為drwxr-xr-x,即ftp作為「其他用戶」,沒有寫入許可權,所以不能在「/var/ftp」目錄中創建新文件和新建目錄。
兩種辦法解決這個問題:
4. 辦法1:創建一個屬於ftp用戶的目錄
(1)cd /var/ftp
(2)mkdir up1 創建一個目錄
(3)chown ftp:ftp up1 修改目錄的所廳世屬用戶
(4)ll 查看目錄許可權
5. 辦法2:創建一個屬於root用戶的目錄,但修改目錄許可權為允許其他用戶春棚修改目錄內容
(1)cd /var/ftp
(2)mkdir up2 創建一個目錄
(3)chmod 777 up2 修改目錄的許可權,使「其他用戶」可以修改
(4)ll 查看目錄許可權
6. 繼續配置允許匿名用戶上傳的FTP服務扮森肢器
(1)刷新XP客戶端的ftp://192.168.202.5,進入up1或up2目錄,上傳一個文件,能否成功?然後再下載剛上傳的文件,能否成功?
(2)ll /var/ftp/up1或ll /var/ftp/up2,看剛上傳文件的許可權為-rw-------,所屬用戶為ftp
(3)cd /var/ftp/up1或cd /var/ftp/up,chmod 644 上傳的文件名
(4)再次下載文件,就可以了,這是為什麼?
(5)vi /etc/vsftpd/vsftpd.conf,在local_umask=022下面添加:
anon_umask=022,將匿名用戶創建新文件的umask設置為022。
(6)service vsftpd restart
(7)從XP客戶端重新訪問「ftp://192.168.202.5」,這時,上傳、下載都能正常工作了。