Ubuntu上安装ftp服务器
来源:互联网 发布:union软件 编辑:程序博客网 时间:2024/05/22 04:38
5 Ubuntu上安装ftp服务器
5.1 安装vsftpd
$ sudo apt-get install vsftpd
5.2 配置vsftpd
修改vsftpd的配置文件
$ sudo gedit /etc/vsftpd.conf
添加或打开的功能:
listen=YES # 服务器监听
anonymous_enable=YES # 匿名访问允许
local_enable=YES # 本地主机访问允许
write_enable=YES # 写允许
anon_upload_enable=YES # 匿名上传允许,默认是NO
anon_mkdir_write_enable=YES # 匿名创建文件夹允许
dirmessage_enable=YES # 进入文件夹允许
xferlog_enable=YES # ftp 日志记录允许
connect_from_port_20=YES # 允许使用20号端口作为数据传送的端口
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
5.3 设置ftp相关目录
安装完毕后,/srv下会增加一个ftp目录,同时系统会增加一个名为ftp的用户组。
查看命令:
$ sudo cat /etc/shadow | grep ftp
ftp:*:16371:0:99999:7:::
创建目录:
$ sudo mkdir /srv/ftp/download/srv/ftp/upload
$ sudo chmod 755 /srv/ftp/download
$sudo chmod 777 /home/ftp/upload
$ ls /srv/ftp/ -lh
drwxr-xr-x 2 root root 4.0K 7月 1 2016 download
drwxrwxrwx 2 root root 4.0K 6月 23 2016 upload
可对应属性查看读写权限。
5.4 启动vsftpd
$sudo service vsftpd start
查看启动情况:
$ ps -e | grepvsftpd
1080 ? 00:00:00 vsftpd
说明服务器端vsftp的最基本配置已完成,vsftpd已开启。
5.5 添加虚拟用户及目录指定
虚拟用户的配置:
$ gedit ftptests.list
test1
test1pwd
test2
test2pwd
生成vsftpd的认证文件:
$ sudo db_load -T -t hash -f ftptests.list /etc/vsftpd/vsftpd_login.db
$ sudo chmod 600 /etc/vsftpd/vsftpd_login.db
建立虚拟用户的PAM配置文件:
$ sudo gedit /etc/pam.d/vsftpd (加入下面的内容,其他全部注释)
auth required pam_testdb.so db=/etc/vsftpd/vsftpd_login
account required pam_testdb.so db=/etc/vsftpd/vsftpd_login
建立虚拟用户访问的目录并设置权限
$ sudo useradd -d /home/ftp -s /sbin/nologin virtual
$ sudo chmod 777 /home/ftp/
在vsftpd.conf中添加如下参数配置项:
guest_enable=YES
guest_testname=virtual
对不同用户设置不同权限
$ sudo mkdir /etc/vsftpd/vsftpd_user_conf
$ sudo gedit /etc/vsftpd/vsftpd_user_conf/test1 (建立单独的配置文件,文件名就是用户名)
local_root=/home/ftp/test1 #这里虚拟用户目录根据实际情况修改
write_enable=YES
virtual_use_local_privs=YES #虚拟用户具有写权限
在vsftpd.conf中添加如下参数配置:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
禁锢FTP用户在宿主目录
将需要禁锢的用户命写入"vsftpd.chroot_list"文件
$ sudo gedit /etc/vsftpd.chroot_list
test1
test2
在vsftpd.conf添加如下参数配置:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
用户的根目录不能有写权限。可以通过在下面建子目录的方式来实现上传。
cmds_allowed=ABOR,CWD,DELE,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,\
RMD,RNFR,RNTO,SIZE,STOR,TYPE,TEST,ACCT,APPE,CDUP,HELP,MODE,\
NOOP,REIN,STAT,STOU,STRU,SYST
cmds_denied=ABOR,CWD,DELE,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,\
RMD,RNFR,RNTO,SIZE,STOR,TYPE,TEST,ACCT,APPE,CDUP,HELP,MODE,\
NOOP,REIN,STAT,STOU,STRU,SYST
不允许覆盖的方法:
在vsftpd.conf中增加
file_open_mode=0444
重新启动vsftpd:
$ sudo service vsftpd restart
5.1 安装vsftpd
$ sudo apt-get install vsftpd
5.2 配置vsftpd
修改vsftpd的配置文件
$ sudo gedit /etc/vsftpd.conf
添加或打开的功能:
listen=YES # 服务器监听
anonymous_enable=YES # 匿名访问允许
local_enable=YES # 本地主机访问允许
write_enable=YES # 写允许
anon_upload_enable=YES # 匿名上传允许,默认是NO
anon_mkdir_write_enable=YES # 匿名创建文件夹允许
dirmessage_enable=YES # 进入文件夹允许
xferlog_enable=YES # ftp 日志记录允许
connect_from_port_20=YES # 允许使用20号端口作为数据传送的端口
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
5.3 设置ftp相关目录
安装完毕后,/srv下会增加一个ftp目录,同时系统会增加一个名为ftp的用户组。
查看命令:
$ sudo cat /etc/shadow | grep ftp
ftp:*:16371:0:99999:7:::
创建目录:
$ sudo mkdir /srv/ftp/download/srv/ftp/upload
$ sudo chmod 755 /srv/ftp/download
$sudo chmod 777 /home/ftp/upload
$ ls /srv/ftp/ -lh
drwxr-xr-x 2 root root 4.0K 7月 1 2016 download
drwxrwxrwx 2 root root 4.0K 6月 23 2016 upload
可对应属性查看读写权限。
5.4 启动vsftpd
$sudo service vsftpd start
查看启动情况:
$ ps -e | grepvsftpd
1080 ? 00:00:00 vsftpd
说明服务器端vsftp的最基本配置已完成,vsftpd已开启。
5.5 添加虚拟用户及目录指定
虚拟用户的配置:
$ gedit ftptests.list
test1
test1pwd
test2
test2pwd
生成vsftpd的认证文件:
$ sudo db_load -T -t hash -f ftptests.list /etc/vsftpd/vsftpd_login.db
$ sudo chmod 600 /etc/vsftpd/vsftpd_login.db
建立虚拟用户的PAM配置文件:
$ sudo gedit /etc/pam.d/vsftpd (加入下面的内容,其他全部注释)
auth required pam_testdb.so db=/etc/vsftpd/vsftpd_login
account required pam_testdb.so db=/etc/vsftpd/vsftpd_login
建立虚拟用户访问的目录并设置权限
$ sudo useradd -d /home/ftp -s /sbin/nologin virtual
$ sudo chmod 777 /home/ftp/
在vsftpd.conf中添加如下参数配置项:
guest_enable=YES
guest_testname=virtual
对不同用户设置不同权限
$ sudo mkdir /etc/vsftpd/vsftpd_user_conf
$ sudo gedit /etc/vsftpd/vsftpd_user_conf/test1 (建立单独的配置文件,文件名就是用户名)
local_root=/home/ftp/test1 #这里虚拟用户目录根据实际情况修改
write_enable=YES
virtual_use_local_privs=YES #虚拟用户具有写权限
在vsftpd.conf中添加如下参数配置:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
禁锢FTP用户在宿主目录
将需要禁锢的用户命写入"vsftpd.chroot_list"文件
$ sudo gedit /etc/vsftpd.chroot_list
test1
test2
在vsftpd.conf添加如下参数配置:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
用户的根目录不能有写权限。可以通过在下面建子目录的方式来实现上传。
cmds_allowed=ABOR,CWD,DELE,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,\
RMD,RNFR,RNTO,SIZE,STOR,TYPE,TEST,ACCT,APPE,CDUP,HELP,MODE,\
NOOP,REIN,STAT,STOU,STRU,SYST
cmds_denied=ABOR,CWD,DELE,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,\
RMD,RNFR,RNTO,SIZE,STOR,TYPE,TEST,ACCT,APPE,CDUP,HELP,MODE,\
NOOP,REIN,STAT,STOU,STRU,SYST
不允许覆盖的方法:
在vsftpd.conf中增加
file_open_mode=0444
重新启动vsftpd:
$ sudo service vsftpd restart
0 0
- Ubuntu上安装ftp服务器
- Ubuntu 上安装ftp服务器 vsftpd
- Ubuntu安装FTP服务器
- Ubuntu FTP 服务器安装
- ubuntu安装ftp服务器
- ubuntu安装ftp服务器
- ubuntu安装ftp服务器
- ubuntu安装ftp服务器
- ubuntu安装ftp服务器
- ubuntu安装ftp服务器
- ubuntu安装ftp服务器
- ubuntu 安装ftp服务器
- Ubuntu安装ftp服务器
- ubuntu安装ftp服务器
- ubuntu安装ftp服务器
- ubuntu安装ftp服务器
- ubuntu FTP服务器安装
- ubuntu上安装ftp
- 每天一个Linux命令(1):ls命令
- pgdat_balanced
- 最后一个字符(dict的使用)
- 难忘的一节课500字
- SAX编程解析xml文件
- Ubuntu上安装ftp服务器
- Google Chrome游览器导出文件弹出空白页并显示页面下面
- 基于Quartz.Net框架封装任务调度类
- sys.stdin读取数据
- kswapd_shrink_zone
- 跟我学OpenResty(Nginx+Lua)开发目录贴
- leecode 解题总结:72. Edit Distance
- Madifest文件详解
- SmileHelp