ubuntu 下用vsftpd搭建ftp服务器,并创建虚拟用户
2011-01-08 16:49
826 查看
命令:
查看网络连接状态(可以显示vsftp是否开启):sudo netstat -tulnp
停止vsftpd服务:sudo service vsftpd stop
开始vsftpd服务: sudo service vsftpd start
今天遇到一个问题,很长时间才发现原因,竟然是文件名多了个空格,在命令行下用tab补全才发现。唉。特此写下,留作警戒。
注意所有的配置文件中不要有空行或空格,否则会出错!导致 拒绝连接,其实就是服务未启动,使用 sudo /usr/sbin/vsftpd 会显示错误。
如果只能下载不能上传,请检查各个目录的权限。
首先在/home/vsftpd 目录下建立了以下2个子目录,注意更改文件权限
(sudo chmod 777 basic)
basic
super
我们将要建3个虚拟用户,密码与用户名相同
basic
super
使得
用户basic 的主目录为 basic ,在该目录下只有只读权限
用户super的主目录为 super,在该目录下只有读写权限
1.安装vsftp和db4.8
sudo apt-get install vsftpd
sudo apt-get install db4.8-util
2.创建loguser.txt(sudo touch /home/loguser.txt)内容如下(奇数行为用户名,偶数行为密码):
basic
basic
super
super
3.生成用户名数据库文件:
sudo touch /etc/vsftpd_login.db
配置PAM文件
编辑文件/etc/pam.d/vsftpd.vu 将以下内容复制到原文件前面两行:
sudo gedit /etc/pam.d/vsftpd.vu
我们上一步建立的数据库 vsftpd_login 在此处被使用(注意最后没有.db)
我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的,稍后你将发现。
5.
为虚拟用户创建本地系统用户
新建一个系统用户vsftpd,用户家目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)
sudo useradd vsftpd -d /home/vsftpd -s /bin/false
sudo mkdir /home/vsftpd
sudo chown vsftpd:vsftpd /home/vsftpd
6. 编辑 /etc/vsftpd.conf 文件
sudo gedit /etc/vsftpd.conf
复制以下内容:
listen=YES
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP service.
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd_user_conf
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd.vu
rsa_cert_file=/etc/ssl/private/vsftpd.pem
local_umask=022
anon_root=/home/ftp
local_root=/home/ftp
anon_max_rate=0
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
write_enable=YES
force_dot_files=NO
tcp_wrappers=YES
7.更改两个用户名的权限:
basic文件中的内容如下
local_root=/home/vsftpd/basic
super文件内容如下:
查看网络连接状态(可以显示vsftp是否开启):sudo netstat -tulnp
停止vsftpd服务:sudo service vsftpd stop
开始vsftpd服务: sudo service vsftpd start
今天遇到一个问题,很长时间才发现原因,竟然是文件名多了个空格,在命令行下用tab补全才发现。唉。特此写下,留作警戒。
注意所有的配置文件中不要有空行或空格,否则会出错!导致 拒绝连接,其实就是服务未启动,使用 sudo /usr/sbin/vsftpd 会显示错误。
如果只能下载不能上传,请检查各个目录的权限。
首先在/home/vsftpd 目录下建立了以下2个子目录,注意更改文件权限
(sudo chmod 777 basic)
basic
super
我们将要建3个虚拟用户,密码与用户名相同
basic
super
使得
用户basic 的主目录为 basic ,在该目录下只有只读权限
用户super的主目录为 super,在该目录下只有读写权限
1.安装vsftp和db4.8
sudo apt-get install vsftpd
sudo apt-get install db4.8-util
2.创建loguser.txt(sudo touch /home/loguser.txt)内容如下(奇数行为用户名,偶数行为密码):
basic
basic
super
super
3.生成用户名数据库文件:
sudo touch /etc/vsftpd_login.db
sudo chmod 600 /etc/vsftpd_login.db sudo db4.8_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db 4.
配置PAM文件
编辑文件/etc/pam.d/vsftpd.vu 将以下内容复制到原文件前面两行:sudo gedit /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
我们上一步建立的数据库 vsftpd_login 在此处被使用(注意最后没有.db)
我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的,稍后你将发现。
5.
为虚拟用户创建本地系统用户
新建一个系统用户vsftpd,用户家目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)sudo useradd vsftpd -d /home/vsftpd -s /bin/false
sudo mkdir /home/vsftpd
sudo chown vsftpd:vsftpd /home/vsftpd
6. 编辑 /etc/vsftpd.conf 文件
sudo gedit /etc/vsftpd.conf
复制以下内容:
listen=YES
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP service.
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd_user_conf
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd.vu
rsa_cert_file=/etc/ssl/private/vsftpd.pem
local_umask=022
anon_root=/home/ftp
local_root=/home/ftp
anon_max_rate=0
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
write_enable=YES
force_dot_files=NO
tcp_wrappers=YES
7.更改两个用户名的权限:
sudo mkdir /etc/vsftpd_user_conf cd /etc/vsftpd_user_conf sudo touch basic super
basic文件中的内容如下
local_root=/home/vsftpd/basic
super文件内容如下:
write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/home/vsftpd/super
7. 重启vsftpd更改配置。
相关文章推荐
- ubuntu 14.04 下FTP服务器的搭建--锁定用户目录,解决vsftpd: refusing to run with writable root inside chroot()
- Ubuntu下同时搭建支持匿名、本地、虚拟用户的ftp服务器
- FTP服务器的搭建及创建虚拟用户进行认证访问
- FTP服务器搭建--虚拟多用户(vsftpd)
- Ubuntu Server搭建FTP服务器(3) --虚拟用户FTP服务器架设
- 利用Vsftpd 搭建虚拟用户FTP服务器
- 利用Vsftpd 搭建虚拟用户FTP服务器
- ubuntu 14.04 下FTP服务器的搭建--锁定用户目录,解决vsftpd: refusing to run with writable root inside chroot()
- ubuntu14.04 搭建FTP服务器 -- vsftpd的安装和配置
- Ubuntu搭建FTP(vsftpd)文件服务器
- ubuntu下搭建ftp服务器vsftpd,cuteFTP登录该服务器
- FTP服务器的安装、配置、虚拟用户的创建
- Vsftpd FTP服务器-虚拟用户(mysql)和本地用户同时验证
- linux ftp 服务器搭建教程(虚拟用户)
- ubuntu vsftpd虚拟用户配置/ubuntu12.04上搭建vsftpd服务示例linux
- 【APP】centos 5.x下搭建基于虚拟用户的vsftpd服务器实战
- linux 搭建ftp服务器虚拟用户
- 在Ubuntu下使用vsftpd搭建FTP服务器
- ubuntu ftp 服务器搭建及vsftpd.conf配置实例详解
- Ubuntu 下ftp服务器建立虚拟用户