ftp安装和虚拟用户创建(终于搞清楚了)
安裝
?
一.安裝
sudo apt-get install vsftpd
二.查看安裝結果
安裝完畢,檢查vsftpd進程是否已啟動,可以查看進程或者查看監(jiān)聽端口
1 ps -eaf|grep vsftpd 2 3 tony@T:~$ ps -eaf | grep vsftpd 4 5 root 2244 1 0 21:08 ? 00:00:00 /usr/sbin/vsftpd 6 7 tony 2408 2104 0 21:11 pts/0 00:00:00 grep --color=auto vsftpd 8 9 netstat -tnl | grep :21 10 11 tony@T:~$ netstat -tnl | grep :21 12 13 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 14 15 端口21正在被監(jiān)聽 16 17?
三. 嘗試匿名用戶登錄
安裝完后不用做任何配置既可用匿名方式進行訪問,默認的ftp文件夾為/srv/ftp。
登錄可以在瀏覽器中,文件夾輸入框中以及類型windows/Linux終端中進行測試。
建議使用windows/Linux終端測試,失敗了會有錯誤輸出,可以根據錯誤進行調試。
更改配置文件vsftpd.conf
anonymous_enable=YES?
匿名登錄,用戶名稱ftp,密碼不輸入,直接回車
1 C:\Users\Tony>ftp 192.168.1.108 2 3 連接到 192.168.1.108。 4 5 220 (vsFTPd 2.2.2) 6 7 用戶(192.168.1.108:(none)): ftp 8 9 331 Please specify the password. 10 11 密碼: 12 13 230 Login successful.登錄到的目錄就是/srv/ftp目錄,在里面的文件就能夠查看到
?
四. 使用ubuntu的賬戶登錄
此時就訪問ftp賬戶,默認是linux的賬戶,使用cmd中登錄。
需要注意的是,ftp服務器端文件路徑是用戶的家目錄
1 C:\Users\Tony>ftp 192.168.1.108 2 3 連接到 192.168.1.108。 4 5 220 (vsFTPd 2.2.2) 6 7 用戶(192.168.1.108:(none)): tony 8 9 331 Please specify the password. 10 11 密碼: 12 13 230 Login successful.?
五. 在ubuntu中,vsftpd的主要配置文件分布如下:
?
/etc/vsftpd.conf vsftpd服務器的配置文件/usr/sbin/vsftpd vsftpd服務器的進程文件/etc/pam.d/vsftpd vsftpd服務器的PAM接口配置文件/var/ftp vsftpd服務器匿名用戶的工作目錄?
?
?
六. vsftpd的開始、關閉和重啟
?
sudo /etc/init.d/vsftpd start #開始sudo /etc/init.d/vsftpd stop #關閉sudo /etc/init.d/vsftpd restart #重啟?
?
?
創(chuàng)建虛擬賬戶
一.安裝生成虛擬帳號數據庫工具db
sudo apt-get install db4.8-util?
二. 更改vsftp.conf的配置
修改配置之前,先備份當前配置
sudo cp /etc/vsftp.conf /etc/vsftp.conf.old?
配置的服務器中 vsftpd.conf的參數使用如下:
1 listen=YES 2 3 #listen_ipv6=YES 4 5 anonymous_enable=NO //允許匿名用戶訪問,若禁止使用NO 6 7 local_enable=YES //允許本地用戶訪問,若禁止則使用NO 8 9 write_enable=YES //表示是否允許本地用戶有上傳權限的,YES表示可以,NO表示禁止,也取決于客戶端連接時使用的客戶端工具 10 11 #local_umask=022 //設置本地用戶上傳建立文件時的權限掩碼 12 13 #anon_upload_enable=YES //匿名用戶上傳文件使能 14 15 #anon_mkdir_write_enable=YES //匿名用戶可以創(chuàng)建目錄 16 17 dirmessage_enable=YES //用戶切換進入目錄時顯示.message(如果存在)文件的內容 18 19 message_file=Welcome 20 21 xferlog_enable=YES //是否開啟傳輸日志的 22 23 connect_from_port_20=YES ////連接控制端口為20 24 25 chown_uploads=YES 26 27 chown_username=ftp 28 29 chroot_local_user=YES //所有的本地用戶都被鎖定在家目錄下 30 31 chroot_list_enable=YES 32 33 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list 34 35 xferlog_file=/var/log/vsftpd.log 36 37 xferlog_std_format=YES 38 39 idle_session_timeout=600 40 41 data_connection_timeout=120 //#數據連接的超時時間 42 43 #nopriv_user=ftpsecure 44 45 #async_abor_enable=YES 46 47 ascii_upload_enable=YES 48 49 ascii_download_enable=YES 50 51 ftpd_banner=Welcome to blah FTP service. //login歡迎信息 52 53 #deny_email_enable=YES 54 55 max_clients=10 56 57 max_per_ip=5 58 59 local_max_rate=256000 60 61 #hide_ids=YES 62 63 idle_session_timeout=3000 64 65 guest_enable=YES 66 67 guest_username=ftp 68 69 user_config_dir=/etc/vsftpd/vsftpd_user_conf 70 71 pam_service_name=vsftpd.vu 72 73?
? ?三. 建立各賬戶的home目錄
在/home目錄建立ftp的賬戶ftpdir目錄
1 cd /home/ftp/ 2 3 sudo mkdir ftpdir?
然后在ftpdir目錄下創(chuàng)建admin, tony目錄
cd ftpdir sudo mkdir admin tony?
? 四.為虛擬用戶創(chuàng)建本地系統(tǒng)用戶
虛擬用戶家目錄為/home/ftpdir, 用戶登錄終端設為/bin/false(即使之不能登錄系統(tǒng))
sudo useradd ftp -d /home/ftpdir -s /bin/falsesudo chown -R ftp:ftp /home/ftpdir?
? 五. 創(chuàng)建虛擬用戶數據庫
新建loguser.txt文件,
sudo vi /home/loguser.txt
里面輸入虛擬用戶名和密碼,格式如下
adminadmintonytony?
注意不要多空格和空行,其中奇數行為用戶名,偶數行為密碼。
最后一行需要回車(否則建立數據庫文件時無法識別最后一行,導致報奇數行錯誤)。
新建一個文件夾/etc/vsftpd,放置配置文件sudo mkdir /etc/vsftpd然后執(zhí)行sudo db4.8_load -T -t hash -f /home/loguser.txt /etc/vsftpd/vsftpd_login.db最后設置一下數據庫文件的訪問權限sudo chmod 600 /etc/vsftpd/vsftpd_login.db?
六. 配置PAM文件
?
1 新建/etc/pam.d/vsftpd.vu,并編輯, 2 3 sudo touch /etc/pam.d/vsftpd.vu 4 5 sudo vi /etc/pam.d/vsftpd.vu 6 7 輸入內容如下: 8 9 auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 10 11 account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login? ?七.新建etc/vsftpd /vsftpd_user_conf文件夾
?
sudo mkdir /etc/vsftpd/vsftpd_user_conf現(xiàn)在,我們要把各個用戶的配置文件放到目錄/etc/vsftpd/vsftpd_user_conf中cd /etc/vsftpd/vsftpd_user_confsudo touch admin tony?
?
?
? ?八. 配置admin虛擬用戶
權限:上傳,下載刪除,重命名.
1 sudo vi /etc/vsftpd/vsftpd_user_conf/admin 2 3 里面添加 4 5 write_enable=YES 6 7 anon_world_readable_only=NO 8 9 anon_upload_enable=YES 10 11 anon_mkdir_write_enable=YES 12 13 anon_other_write_enable=YES 14 15 local_root=/home/ftpdir 16 17?
九. 配置tony虛擬用戶
權限:上傳,下載
1 sudo vi /etc/vsftpd/vsftpd_user_conf/tony 2 3 里面添加 4 5 write_enable=YES 6 7 anon_world_readable_only=NO 8 9 anon_upload_enable=YES 10 11 anon_mkdir_write_enable=NO 12 13 anon_other_write_enable=NO 14 15 local_root=/home/ftpdir/tony?
? 十. 新建/etc/vsftpd/vsftpd.chroot_list
?
1 sudo touch /etc/vsftpd/vsftpd.chroot_list 2 3 sudo vi /etc/vsftpd/vsftpd.chroot_list 4 5 里面添加 6 7 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虛擬用戶的創(chuàng)建
sudo db4.8_load -T -t hash -f /home/user.txt /etc/vsftpd_login.db當然也有命令安裝db的方法:
已解決了 sudo apt-get install db-util 在這又不得不來句粗口,尼瑪,之前找了那么久的解決辦法,原來是沒有找對方法,網上一大堆也是無用的,有些方法更本用不了,回頭想想當你的知識積累起來了之后,你就會忽然想起來這問題的解決方法,自己都會被自己驚呆,當年這么簡單的問題居然都不會,當年真是傻呆笨啊! 總結:知識積累是多么地重要啊!?
轉載于:https://www.cnblogs.com/cqlb/p/9540747.html
總結
以上是生活随笔為你收集整理的ftp安装和虚拟用户创建(终于搞清楚了)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker学习系列14 使用hapro
- 下一篇: 安装好的nginx安装新的模块