ftp安裝和虛擬用戶創建(終於搞清楚了)
之前領導叫我在Linux下搭建一個FTP服務器,搞一個公司內部人員文件結構,並對相應人員設置相應的訪問權限,之前網上有很多安裝方法,但是都是很傻瓜式地安裝,用戶簡單地創建,而我當時也是用的最笨的方法創建了很多的本地用戶,並對本地用戶實現了領導布置的要求,但添加用戶,並對用戶地管理起來很麻煩,特別是添加新用戶的時候,最終沒有能夠搞定簡單實用的這個問題。知道這個問題出現在創建的是本地用戶,而非虛擬用戶,當時用的Ubuntu12.04的好像沒有db_load 安裝的時候,又沒有對應的數據源,當時,就沒有繼續做下去了(當時就是問題解決了,但是不實用,所以沒有用起來,也不想搞了,暫放一邊了)。今天重新整理自己的知識時,又將該問題翻了出來,準備實踐一遍。接下來就是給大家在網上找了一篇還行的文章,分享一下:
安裝
1.安裝
sudo apt-get install vsftpd
2 查看安裝結果
安裝完畢,檢查vsftpd進程是否已啟動,可以查看進程或者查看監聽端口
-
ps -eaf|grep vsftpd
-
tony@T:~$ ps -eaf | grep vsftpd
-
root 2244 1 0 21:08 ? 00:00:00 /usr/sbin/vsftpd
-
tony 2408 2104 0 21:11 pts/0 00:00:00 grep --color=auto vsftpd
-
netstat -tnl | grep :21
-
tony@T:~$ netstat -tnl | grep :21
-
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
-
端口21正在被監聽
3. 嘗試匿名用戶登錄
安裝完後不用做任何配置既可用匿名方式進行訪問,默認的ftp文件夾為/srv/ftp。
登錄可以在瀏覽器中,文件夾輸入框中以及類型windows/Linux終端中進行測試。
建議使用windows/Linux終端測試,失敗了會有錯誤輸出,可以根據錯誤進行調試。
更改配置文件vsftpd.conf
anonymous_enable=YES
匿名登錄,用戶名稱ftp,密碼不輸入,直接回車
-
C:\Users\Tony>ftp 192.168.1.108
-
連接到 192.168.1.108。
-
220 (vsFTPd 2.2.2)
-
用戶(192.168.1.108:(none)): ftp
-
331 Please specify the password.
-
密碼:
-
230 Login successful.
登錄到的目錄就是/srv/ftp目錄,在裏面的文件就能夠查看到
4. 使用ubuntu的賬戶登錄
此時就訪問ftp賬戶,默認是linux的賬戶,使用cmd中登錄。
需要註意的是,ftp服務器端文件路徑是用戶的家目錄
-
C:\Users\Tony>ftp 192.168.1.108
-
連接到 192.168.1.108。
-
220 (vsFTPd 2.2.2)
-
用戶(192.168.1.108:(none)): tony
-
331 Please specify the password.
-
密碼:
-
230 Login successful.
5. 在ubuntu中,vsftpd的主要配置文件分布如下:
6. vsftpd的開始、關閉和重啟
-
sudo
-
sudo
-
sudo
創建虛擬賬戶
1.安裝生成虛擬帳號數據庫工具db
sudo apt-get install db4.8-util
2. 更改vsftp.conf的配置
修改配置之前,先備份當前配置
sudo cp /etc/vsftp.conf /etc/vsftp.conf.old
配置的服務器中 vsftpd.conf的參數使用如下:
-
listen=YES
-
-
anonymous_enable=NO //允許匿名用戶訪問,若禁止使用NO
-
local_enable=YES //允許本地用戶訪問,若禁止則使用NO
-
write_enable=YES //表示是否允許本地用戶有上傳權限的,YES表示可以,NO表示禁止,也取決於客戶端連接時使用的客戶端工具
-
-
-
-
dirmessage_enable=YES //用戶切換進入目錄時顯示.message(如果存在)文件的內容
-
message_file=Welcome
-
xferlog_enable=YES //是否開啟傳輸日誌的
-
connect_from_port_20=YES ////連接控制端口為20
-
chown_uploads=YES
-
chown_username=ftp
-
chroot_local_user=YES //所有的本地用戶都被鎖定在家目錄下
-
chroot_list_enable=YES
-
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
-
xferlog_file=/var/log/vsftpd.log
-
xferlog_std_format=YES
-
idle_session_timeout=600
-
data_connection_timeout=120 //#數據連接的超時時間
-
-
-
ascii_upload_enable=YES
-
ascii_download_enable=YES
-
ftpd_banner=Welcome to blah FTP service. //login歡迎信息
-
-
max_clients=10
-
max_per_ip=5
-
local_max_rate=256000
-
-
idle_session_timeout=3000
-
guest_enable=YES
-
guest_username=ftp
-
user_config_dir=/etc/vsftpd/vsftpd_user_conf
-
pam_service_name=vsftpd.vu
3. 建立各賬戶的home目錄
在/home目錄建立ftp的賬戶ftpdir目錄
-
cd /home/ftp/
-
sudo mkdir ftpdir
然後在ftpdir目錄下創建admin, tony目錄
-
cd ftpdir
-
sudo mkdir admin tony
4.為虛擬用戶創建本地系統用戶
虛擬用戶家目錄為/home/ftpdir, 用戶登錄終端設為/bin/false(即使之不能登錄系統)
-
sudo useradd ftp -d /home/ftpdir -s /bin/false
-
sudo chown -R ftp:ftp /home/ftpdir
5. 創建虛擬用戶數據庫
新建loguser.txt文件,
sudo vi /home/loguser.txt
裏面輸入虛擬用戶名和密碼,格式如下
-
admin
-
admin
-
tony
-
tony
註意不要多空格和空行,其中奇數行為用戶名,偶數行為密碼。
最後一行需要回車(否則建立數據庫文件時無法識別最後一行,導致報奇數行錯誤)。
-
新建一個文件夾
-
sudo mkdir
-
然後執行
-
sudo db4.8_load -T -t hash -f
-
最後設置一下數據庫文件的訪問權限
-
sudo chmod 600
6. 配置PAM文件
-
新建/etc/pam.d/vsftpd.vu,並編輯,
-
sudo touch /etc/pam.d/vsftpd.vu
-
sudo vi /etc/pam.d/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
7.新建etc/vsftpd /vsftpd_user_conf文件夾
-
sudo mkdir
-
現在,我們要把各個用戶的配置文件放到目錄
-
cd
-
sudo touch admin tony
8. 配置admin虛擬用戶
權限:上傳,下載刪除,重命名.
-
sudo vi /etc/vsftpd/vsftpd_user_conf/admin
-
裏面添加
-
write_enable=YES
-
anon_world_readable_only=NO
-
anon_upload_enable=YES
-
anon_mkdir_write_enable=YES
-
anon_other_write_enable=YES
-
local_root=/home/ftpdir
9. 配置tony虛擬用戶
權限:上傳,下載
-
sudo vi /etc/vsftpd/vsftpd_user_conf/tony
-
裏面添加
-
write_enable=YES
-
anon_world_readable_only=NO
-
anon_upload_enable=YES
-
anon_mkdir_write_enable=NO
-
anon_other_write_enable=NO
-
local_root=/home/ftpdir/tony
10. 新建/etc/vsftpd/vsftpd.chroot_list
-
sudo touch
-
sudo vi
-
裏面添加
-
admin
在按照以上的過程去安裝,有可能Linux的數據源裏面根本就找不到對應的安裝包,可以通過手動安裝的方法;網上找了篇db4的安裝問題,分享一下:
1、下載安裝文件:
下載地址直達:http://cz.archive.ubuntu.com/ubuntu/pool/universe/d/db4.8/
2、dpkg - i db4.8-util_4.8.30-11ubuntu1_amd64.deb
即可
命令使用:這裏針對Vsftpd虛擬用戶的創建
sudo db4.8_load -T -t hash -f /home/user.txt /etc/vsftpd_login.db
當然也有命令安裝db的方法:
已解決了 sudo apt-get install db-util
在這又不得不來句粗口,尼瑪,之前找了那麽久的解決辦法,原來是沒有找對方法,網上一大堆也是無用的,有些方法更本用不了,回頭想想當你的知識積累起來了之後,你就會忽然想起來這問題的解決方法,自己都會被自己驚呆,當年這麽簡單的問題居然都不會,當年真是傻呆笨啊!
總結:知識積累是多麽地重要啊!
ftp安裝和虛擬用戶創建(終於搞清楚了)