1. 程式人生 > >安裝vsftp,虛擬用戶訪問

安裝vsftp,虛擬用戶訪問

close ftpd tor ces bye 工作模式 匿名用戶 des 文件

安裝vsftp虛擬用戶訪問

安裝主機:192.168.0.25

一、安裝ftp

1.查看是否安裝了vsftp

rpm -qa | grep vsftpd

2.未安裝vsftp,則執行下列命令安裝

yum -y install vsftpd

二、修改vsftpd.conf配置文件

vi /etc/vsftpd/vsftpd.conf 修改下面配置

anonymous_enable=NO (不允許匿名用戶登陸)
local_enable=YES (允許本地用戶登錄)
write_able=YES (允許讀寫操作)
xferlog_enable=YES (啟動上傳/下載功能)
ascii_upload_enable=YES (啟用ascii模式上傳數據)
ascii_download_enable=YES(啟用ascii模式下載數據)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/logins.txt(這三行允許logins.txt用戶可以切換到別的目錄)
guest_enable=YES(啟用虛擬用戶)
guest_username=manager(將虛擬用戶映射為本地manager用戶)
virtual_use_local_privs=YES (虛擬用戶與本地用戶權限相同)
pasv_promiscuous=YES
pasv_enable=YES   (開啟PASV工作模式)
pam_service_name=vsftpd.vu(指定PAM配置文件) 
user_config_dir=/etc/vsftpd/user_conf  (指定用戶配置文件所在的目錄)
userlist_enable=YES
tcp_wrappers=YES   (控制主機和用戶訪問)

三、配置vsftpd.vu文件

在/etc/pam.d/中修改文件vsftpd.vu,如果沒有此文件,則touch vsftpd.vu創建
增加下列內容:
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login

四、建立vsftp用戶

新建touch /etc/vsftpd/ logins.txt文件,添加用戶(根據需要新建不同用戶)。
按照一行用戶名一行密碼排列

esop
esop

五、建立訪問數據文件

建立訪問者數據文件(如果沒有可以安裝:yum install db4-utils)

touch vsftpd_login
touch vsftpd_login.db

db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db

六、建立本地虛擬用戶目錄

/data/manager/inputFile

七、為vsftp用戶配置文件目錄和權限

mkdir /etc/vsftpd/user_conf

1、 新建訪問vsftp用戶,

在/etc/vsftpd/user_conf目錄中創建以用戶名命名的配置文件esop
touch esop,增加以下配置

local_root=/data/manager/inputFile
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
anon_umask=022

2、配置不允許訪問的用戶,如果沒有ftpusers 和user_list文件則新建,

touch /etc/vsftpd/ftpusers
touch /etc/vsftpd/ user_list

把不允許訪問的用戶寫入這兩個文件裏,一行一個用戶
[root@zqyz91 vsftpd]# vim ftpusers

#Users that are not allowed to login via ftp

root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

八、vsftp操作

啟動vsftp服務:
service vsftpd restart

停止vsftp服務:
service vsftpd stop

重啟vsftp服務:
service vsftpd restart

設置開機自啟動
chkconfig vsftpd on

九、登錄測試

ftp 192.168.0.25
輸入賬號:esop
密碼:esop

若提示沒有此命令,則安裝ftp
yum provides ftp
yum -y install ftp

十、ftp常用命令

常用命令

ftp> help

Commands may be abbreviated.  Commands are:
!       debug       mdir        sendport    site
$       dir     mget        put     size
account     disconnect  mkdir       pwd     status
append      exit        mls     quit        struct
ascii       form        mode        quote       system
bell        get     modtime     recv        sunique
binary      glob        mput        reget       tenex
bye     hash        newer       rstatus     tick
case        help        nmap        rhelp       trace
cd      idle        nlist       rename      type
cdup        image       ntrans      reset       user
chmod       lcd     open        restart     umask
close       ls      prompt      rmdir       verbose
cr      macdef      passive     runique     ?
delete      mdelete     proxy       send

1.查看當前目錄中文件:

[root@zqyz91 vsftpd]# ftp 192.168.0.25
Connected to 192.168.0.25 (192.168.0.25).
220 (vsFTPd 3.0.2)
Name (192.168.0.25:root): esop
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

ftp> ls
227 Entering Passive Mode (192,168,0,25,202,86).
150 Here comes the directory listing.
-rw-r--r-- 1 1001 1002 0 Oct 30 06:57 a.bak
drwxr-x--- 2 1001 1002 4096 Oct 30 07:45 esop
226 Directory send OK.

2.上傳文件:

put 文件名
ftp> put text
local: text remote: text
227 Entering Passive Mode (192,168,0,25,32,6).
150 Ok to send data.
226 Transfer complete.
126527 bytes sent in 0.0134 secs (9438.09 Kbytes/sec)

3.下載文件:

get 文件名
ftp> get a.bak
local: a.bak remote: a.bak
227 Entering Passive Mode (192,168,0,25,123,43).
150 Opening BINARY mode data connection for a.bak (0 bytes).
226 Transfer complete.
ftp> quit
221 Goodbye.

問題: 500 OOPS: cannot change directory:/home/master

[root@localhost ~]# cat /etc/selinux/config
SELINUX=enforcing
selinxu=enforcing 改成 selinux=disabled
重啟服務器。

安裝vsftp,虛擬用戶訪問