ftp

ftp

vsftp虚拟用户建立 | (干货笔记)

智慧运维 空心菜 发表了文章 0 个评论 1728 次浏览 2015-11-26 00:33 来自相关话题

1.安装vsftpd服务,和测试命令ftp # yum -y install vsftpd # yum -y install ftp 2.建立虚拟用户的用户名/密码数据库 ...查看全部


1.安装vsftpd服务,和测试命令ftp


# yum -y install vsftpd
# yum -y install ftp


2.建立虚拟用户的用户名/密码数据库


vsftpd服务的虚拟用户数据库使用的是Berkeley DB格式的数据文件。建立数据库文件要用到db_load命令工具,所以要安装db4软件包
# yum -y install db4*
(一)建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行对应为上一行用户名密码。
# vi /etc/vsftpd/vusers.list
mike
123.com
john
123.com
kankan
kankan[i]app.com[/i]
(二)用db_load工具将列表文件转化为DB数据库文件。
# cd /etc/vsftpd/
# db_load -T -t hash -f vusers.list vusers.db
# chmod 600 /etc/vsftpd/vuser.* //降低文件权限以提高安全性


3.建立FTP访问根目录以及虚拟用户对应的系统账号


# useradd -d /data/pub -s /sbin/nologin  ftpuser
# useradd -d /home/ytb/www/cms.yuntongbu/ -s /sbin/nologin kankanftpuser
# chmod 777 /data/pub
创建测试文件
#ls -lh /boot > /data/pub/vutest.file


4.建立PAM认证文件


#vi /etc/pam.d/vsftpd  添加如下内容
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers


5.修改vsftpd的主配置文件,添加对虚拟用户的支持。


# vi /etc/vsftpd/vsftpd.conf   #内容如下
anonymous_enable=NO
local_enable=YES
anon_umask=022
write_enable=YES
guest_enable=YES
guest_username=ftpuser
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES


6.为不同的虚拟用户配置独立的配置文件


# vi /etc/vsftpd/vsftpd.conf   #在末尾添加如下一行
user_config_dir=/etc/vsftpd/vusers_dir


7.为mike和john建立独立配置目录及文件


# mkdir -p  /etc/vsftpd/vusers_dir
# cd /etc/vsftpd/vusers_dir
# vi john [size=16]#添加如下内容[/size]
anon_upload_enable=YES
anon_mkdir_write_enable=YES
#touch mike 建立空文件,默认配置文件中的权限


8.启动vsftpd服务


# service vsftpd start


权限说明:
权限:john可以登录到ftp服务器,可以浏览,下载,也可以上传文件
mike可以登录到ftp服务器,可以浏览,下载,但是不可以上传
本地测试:
(一)john的测试
[root@YTB-APP-1 ~]# ls
anaconda-ks.cfg bin importipas.sh install.log install.log.syslog my.cnf.bak
[root@YTB-APP-1 ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:ytb): john
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 (127,0,0,1,82,29).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 574 Jul 01 14:50 vutest.file
226 Directory send OK.
ftp> get vutest.file
local: vutest.file remote: vutest.file
227 Entering Passive Mode (127,0,0,1,103,164).
150 Opening BINARY mode data connection for vutest.file (574 bytes).
226 Transfer complete.
574 bytes received in 3.4e-05 secs (16882.35 Kbytes/sec)
ftp> put install.log
local: install.log remote: install.log
227 Entering Passive Mode (127,0,0,1,115,162).
150 Ok to send data.
226 Transfer complete.
29388 bytes sent in 0.024 secs (1222.97 Kbytes/sec)
ftp> quit
221 Goodbye.
[root@YTB-APP-1 ~]# ls
anaconda-ks.cfg bin importipas.sh install.log install.log.syslog my.cnf.bak vutest.file
[root@YTB-APP-1 ~]# ls /data/pub/
install.log vutest.file
[root@YTB-APP-1 ~]#
(二)mike的测试
[root@YTB-APP-1 ~]# ls
anaconda-ks.cfg bin importipas.sh install.log install.log.syslog my.cnf.bak vutest.file
[root@YTB-APP-1 ~]# rm -rf vutest.file
[root@YTB-APP-1 ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:ytb): mike
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 (127,0,0,1,223,141).
150 Here comes the directory listing.
-rw-r--r-- 1 503 503 29388 Jul 03 02:23 install.log
-rw-r--r-- 1 0 0 574 Jul 01 14:50 vutest.file
226 Directory send OK.
ftp> get vutest.file
local: vutest.file remote: vutest.file
227 Entering Passive Mode (127,0,0,1,154,230).
150 Opening BINARY mode data connection for vutest.file (574 bytes).
226 Transfer complete.
574 bytes received in 3.8e-05 secs (15105.26 Kbytes/sec)
ftp> put install.log.syslog
local: install.log.syslog remote: install.log.syslog
227 Entering Passive Mode (127,0,0,1,227,247).
550 Permission denied.
ftp> quit
221 Goodbye.
[root@YTB-APP-1 ~]# ls
anaconda-ks.cfg bin importipas.sh install.log install.log.syslog my.cnf.bak vutest.file
[root@YTB-APP-1 ~]# ls /dat/pub/
ls: cannot access /dat/pub/: No such file or directory
[root@YTB-APP-1 ~]# ls /data/pub/
install.log vutest.file
[root@YTB-APP-1 ~]#
好久之前的笔记,分享出来,方便后来者!

vsftp虚拟用户建立 | (干货笔记)

智慧运维 空心菜 发表了文章 0 个评论 1728 次浏览 2015-11-26 00:33 来自相关话题

1.安装vsftpd服务,和测试命令ftp # yum -y install vsftpd # yum -y install ftp 2.建立虚拟用户的用户名/密码数据库 ...查看全部


1.安装vsftpd服务,和测试命令ftp


# yum -y install vsftpd
# yum -y install ftp


2.建立虚拟用户的用户名/密码数据库


vsftpd服务的虚拟用户数据库使用的是Berkeley DB格式的数据文件。建立数据库文件要用到db_load命令工具,所以要安装db4软件包
# yum -y install db4*
(一)建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行对应为上一行用户名密码。
# vi /etc/vsftpd/vusers.list
mike
123.com
john
123.com
kankan
kankan[i]app.com[/i]
(二)用db_load工具将列表文件转化为DB数据库文件。
# cd /etc/vsftpd/
# db_load -T -t hash -f vusers.list vusers.db
# chmod 600 /etc/vsftpd/vuser.* //降低文件权限以提高安全性


3.建立FTP访问根目录以及虚拟用户对应的系统账号


# useradd -d /data/pub -s /sbin/nologin  ftpuser
# useradd -d /home/ytb/www/cms.yuntongbu/ -s /sbin/nologin kankanftpuser
# chmod 777 /data/pub
创建测试文件
#ls -lh /boot > /data/pub/vutest.file


4.建立PAM认证文件


#vi /etc/pam.d/vsftpd  添加如下内容
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers


5.修改vsftpd的主配置文件,添加对虚拟用户的支持。


# vi /etc/vsftpd/vsftpd.conf   #内容如下
anonymous_enable=NO
local_enable=YES
anon_umask=022
write_enable=YES
guest_enable=YES
guest_username=ftpuser
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES


6.为不同的虚拟用户配置独立的配置文件


# vi /etc/vsftpd/vsftpd.conf   #在末尾添加如下一行
user_config_dir=/etc/vsftpd/vusers_dir


7.为mike和john建立独立配置目录及文件


# mkdir -p  /etc/vsftpd/vusers_dir
# cd /etc/vsftpd/vusers_dir
# vi john [size=16]#添加如下内容[/size]
anon_upload_enable=YES
anon_mkdir_write_enable=YES
#touch mike 建立空文件,默认配置文件中的权限


8.启动vsftpd服务


# service vsftpd start


权限说明:
权限:john可以登录到ftp服务器,可以浏览,下载,也可以上传文件
mike可以登录到ftp服务器,可以浏览,下载,但是不可以上传
本地测试:
(一)john的测试
[root@YTB-APP-1 ~]# ls
anaconda-ks.cfg bin importipas.sh install.log install.log.syslog my.cnf.bak
[root@YTB-APP-1 ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:ytb): john
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 (127,0,0,1,82,29).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 574 Jul 01 14:50 vutest.file
226 Directory send OK.
ftp> get vutest.file
local: vutest.file remote: vutest.file
227 Entering Passive Mode (127,0,0,1,103,164).
150 Opening BINARY mode data connection for vutest.file (574 bytes).
226 Transfer complete.
574 bytes received in 3.4e-05 secs (16882.35 Kbytes/sec)
ftp> put install.log
local: install.log remote: install.log
227 Entering Passive Mode (127,0,0,1,115,162).
150 Ok to send data.
226 Transfer complete.
29388 bytes sent in 0.024 secs (1222.97 Kbytes/sec)
ftp> quit
221 Goodbye.
[root@YTB-APP-1 ~]# ls
anaconda-ks.cfg bin importipas.sh install.log install.log.syslog my.cnf.bak vutest.file
[root@YTB-APP-1 ~]# ls /data/pub/
install.log vutest.file
[root@YTB-APP-1 ~]#
(二)mike的测试
[root@YTB-APP-1 ~]# ls
anaconda-ks.cfg bin importipas.sh install.log install.log.syslog my.cnf.bak vutest.file
[root@YTB-APP-1 ~]# rm -rf vutest.file
[root@YTB-APP-1 ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:ytb): mike
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 (127,0,0,1,223,141).
150 Here comes the directory listing.
-rw-r--r-- 1 503 503 29388 Jul 03 02:23 install.log
-rw-r--r-- 1 0 0 574 Jul 01 14:50 vutest.file
226 Directory send OK.
ftp> get vutest.file
local: vutest.file remote: vutest.file
227 Entering Passive Mode (127,0,0,1,154,230).
150 Opening BINARY mode data connection for vutest.file (574 bytes).
226 Transfer complete.
574 bytes received in 3.8e-05 secs (15105.26 Kbytes/sec)
ftp> put install.log.syslog
local: install.log.syslog remote: install.log.syslog
227 Entering Passive Mode (127,0,0,1,227,247).
550 Permission denied.
ftp> quit
221 Goodbye.
[root@YTB-APP-1 ~]# ls
anaconda-ks.cfg bin importipas.sh install.log install.log.syslog my.cnf.bak vutest.file
[root@YTB-APP-1 ~]# ls /dat/pub/
ls: cannot access /dat/pub/: No such file or directory
[root@YTB-APP-1 ~]# ls /data/pub/
install.log vutest.file
[root@YTB-APP-1 ~]#
好久之前的笔记,分享出来,方便后来者!