ftp部署和优化
vsftp部署和優(yōu)化
安裝
yum install -y vsftpd
yum install -y ftp
啟動
/etc/init.d/vsftpd start
假如啟動失敗,因為21端口被占用了
killall pure-ftpd
在另外虛擬機中登錄
lftp [username]@IP
如:lftp ruirui@192.168.23.135
保證安全做限制
vim /etc/vsftpd/vsftpd.conf
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES ?打開這個
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/init.d/vsftpd restart
還有 2 個文件等待編輯
[root@ruirui ~]# /etc/init.d/vsftpd restart
關閉 vsftpd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[確定]
為 vsftpd 啟動 vsftpd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[確定]
登錄
lftp ruirui@192.168.23.135
限制只能在當前目錄操作,不能進入別的目錄
創(chuàng)建虛擬的用戶,映射虛擬用戶,限制,保證安全
創(chuàng)建一個用戶useradd virftp -s /sbin/nologin
創(chuàng)建一個密碼文件 vim /etc/vsftpd/vsftpd_login ? 寫入
user1 ? ? 用戶名
123456 ?密碼
保存
chmod 600 /etc/vsftpd/vsftpd_login
將/etc/vsftpd/vsftpd_login升級為一個2進制額庫文件
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
/etc/vsftpd/vsftpd_login.db:生成后的文件名
創(chuàng)建虛擬賬號
mkdir /etc/vsftpd/vsftpd_user_conf ? 虛擬用戶配置文件放置目錄
cd /etc/vsftpd/vsftpd_user_conf
touch user1
vim user1
寫入
local_root=/home/virftp/user1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
保存
mkdir /home/virftp/user
chown -R virftp:virftp /home/virftp/user
認證
vim /etc/pam.d/vsftpd ? ? ? ? ? ?32位
#%PAM-1.0
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
session ? ?optional ? ? pam_keyinit.so ? ?force revoke
auth ? ? ? required ? ? pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth ? ? ? required ? ? pam_shells.so
auth ? ? ? include ? ? ?password-auth
account ? ?include ? ? ?password-auth
session ? ?required ? ? pam_loginuid.so
session ? ?include ? ? ?password-auth
vim /etc/pam.d/vsftpd ? ? ? ? ? 64位
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
session ? ?optional ? ? pam_keyinit.so ? ?force revoke
auth ? ? ? required ? ? pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth ? ? ? required ? ? pam_shells.so
auth ? ? ? include ? ? ?password-auth
account ? ?include ? ? ?password-auth
session ? ?required ? ? pam_loginuid.so
session ? ?include ? ? ?password-auth
保存
vim /etc/vsftpd/vsftpd.conf
修改
anonymous_enable=NO
local_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
在最下面加上
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
保存
/etc/init.d/vsftpd restart
測試
lftp user1@192.168.23.135
口令:
?pureftp部署和優(yōu)化-
ftp ?== file transfer protocol 文件傳輸協(xié)議
一。pure-ftpd
www.pureftpd.org ?官網(wǎng)
1. 下載軟件
pure-ftpd 官網(wǎng)是?http://www.pureftpd.org/project/pure-ftpd?當前最新版本為1.0.42, 但阿銘不建議使用最新版本,最新版有可能有一些小bug.
[root@localhost ~]# cd /usr/local/src/ [root@localhost src]# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2
2. 安裝pure-ftpd
[root@localhost src]# tar jxf pure-ftpd-1.0.42.tar.bz2 [root@localhost src]# cd pure-ftpd-1.0.42 [root@localhost pure-ftpd-1.0.42]# ./configure \ --prefix=/usr/local/pureftpd \ --without-inetd \ --with-altlog \ --with-puredb \ --with-throttling \ --with-peruserlimits ?\ --with-tls [root@localhost pure-ftpd-1.0.42]# make && make install
配置pure-ftpd
1. 修改配置文件
pure-ftpd 編譯安裝很快就完成了,而且極少有出現(xiàn)錯誤的時候,下面就該配置它了:
[root@localhost pure-ftpd-1.0.42]# cd configuration-file [root@localhost pure-ftpd-1.0.42]# mkdir -p /usr/local/pureftpd/etc/ [root@localhost configuration-file]# cp pure-ftpd.conf ? ?/usr/local/pureftpd/etc/pure-ftpd.conf [root@localhost configuration-file]# cp pure-config.pl ? ?/usr/local/pureftpd/sbin/pure-config.pl [root@localhost configuration-file]# chmod 755 ? ?/usr/local/pureftpd/sbin/pure-config.pl
在啟動pure-ftpd之前需要先修改配置文件,配置文件為/usr/local/pureftpd/etc/pure-ftpd.conf, 你可以打開看一下,里面內容很多,如果英文好,可以好好研究一番,下面是阿銘的配置文件,如果你嫌麻煩,直接拷貝過去即可:
ChrootEveryone ? ? ? ? ? ? ?yes BrokenClientsCompatibility ?no MaxClientsNumber ? ? ? ? ? ?50 Daemonize ? ? ? ? ? ? ? ? ? yes MaxClientsPerIP ? ? ? ? ? ? 8 VerboseLog ? ? ? ? ? ? ? ? ?no DisplayDotFiles ? ? ? ? ? ? yes AnonymousOnly ? ? ? ? ? ? ? no NoAnonymous ? ? ? ? ? ? ? ? no SyslogFacility ? ? ? ? ? ? ?ftp DontResolve ? ? ? ? ? ? ? ? yes MaxIdleTime ? ? ? ? ? ? ? ? 15 PureDB ? ? ? ? ? ? ? ? ? ? ? ?/usr/local/pureftpd/etc/pureftpd.pdb LimitRecursion ? ? ? ? ? ? ?3136 8 AnonymousCanCreateDirs ? ? ?no MaxLoad ? ? ? ? ? ? ? ? ? ? 4 AntiWarez ? ? ? ? ? ? ? ? ? yes Umask ? ? ? ? ? ? ? ? ? ? ? 133:022 MinUID ? ? ? ? ? ? ? ? ? ? ?100 AllowUserFXP ? ? ? ? ? ? ? ?no AllowAnonymousFXP ? ? ? ? ? no ProhibitDotFilesWrite ? ? ? no ProhibitDotFilesRead ? ? ? ?no AutoRename ? ? ? ? ? ? ? ? ?no AnonymousCantUpload ? ? ? ? no PIDFile ? ? ? ? ? ? ? ? ? ? /usr/local/pureftpd/var/run/pure-ftpd.pid MaxDiskUsage ? ? ? ? ? ? ? 99 CustomerProof ? ? ? ? ? ? ?yes
2. 啟動pure-ftpd
[root@localhost ~]# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
如果是啟動成功,會顯示一行長長的以Running開頭的信息,否則那就是錯誤信息,如果你解決不了,請到阿銘論壇(http://www.aminglinux.com/bbs/forum-40-1.html)獲取幫助吧。
3. 建立賬號
[root@localhost ~]# mkdir /data/www/ [root@localhost ~]# useradd www [root@localhost ~]# chown -R www:www /data/www/ [root@localhost ~]# /usr/local/pureftpd/bin/pure-pw useradd ftp_user1 ?-uwww -d /data/www/ Password: Enter it again:
其中,-u將虛擬用戶ftp_user1與系統(tǒng)用戶www關聯(lián)在一起,也就是說使用ftp_user1賬號登陸ftp后,會以www的身份來讀取文件或下載文件。-d 后邊的目錄為ftp_user1賬戶的家目錄,這樣可以使ftp_user1只能訪問其家目錄/data/www/. 到這里還未完成,還有最關鍵的一步,就是創(chuàng)建用戶信息數(shù)據(jù)庫文件:
[root@localhost ~]# ?/usr/local/pureftpd/bin/pure-pw mkdb
pure-pw還可以列出當前的ftp賬號,當然也可以刪除某個賬號, 我們再創(chuàng)建一個賬號:
[root@localhost ~]# ?/usr/local/pureftpd/bin/pure-pw ?useradd ftp_user2 -uwww -d /tmp [root@localhost ~]# ?/usr/local/pureftpd/bin/pure-pw mkdb
列出當前賬號:
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw list
刪除賬號的命令為:
[root@localhost ~]# ?/usr/local/pureftpd/bin/pure-pw ?userdel ftp_user2
測試pure-ftpd
測試需要使用的工具叫做lftp, 先安裝一下它:
[root@localhost ~]# yum install -y lftp
測試:
[root@localhost ~]# touch /data/www/123.txt [root@localhost ~]# lftp ftp_user1@127.0.0.1 口令: lftp ftp_user1@127.0.0.1:~> ls drwxr-xr-x ? ?2 514 ? ? ? ?www ? ? ? ? ? ? ?4096 Jun 12 11:14 . drwxr-xr-x ? ?2 514 ? ? ? ?www ? ? ? ? ? ? ?4096 Jun 12 11:14 .. -rw-r--r-- ? ?1 514 ? ? ? ?www ? ? ? ? ? ? ? ? 0 Jun 12 11:14 123.txt
登陸后,使用?ls?命令可以列出當前目錄都有什么文件。
阿銘建議你最好再擴展學習一下:?http://www.aminglinux.com/bbs/thread-5445-1-1.html
教程答疑:?請移步這里.
歡迎你加入?阿銘學院?和阿銘一起學習Linux,讓阿銘成為你Linux生涯中永遠的朋友吧!
轉載于:https://blog.51cto.com/632566481/1954385
總結
- 上一篇: 移动端material风格日期时间选择器
- 下一篇: MFC获得主窗体和父窗体指针