安装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
重启服务器。