ubuntu 10.10 安装vsftpd

首先可以查看系统是否有ftp服务

ps -e | grep vsftpd

一。 安装vsftp和db4
sudo apt-get install vsftpd
//sudo apt-get install db4.6-util(这个可以不装)
二。在根目录下新建一个文件夹并修改权限,以后我们都将文件传到这个文件夹中:
mkdir /linux (新建/forlinx作为我们的工作目录)
chmod 777 /linux

[至下一个括号为多用户配置,单用户不需要:

新建名为logins.txt的用户口令文件,
sudo gedit /etc/vsftpd/logins.txt
奇数行为用户名。偶数行为密码,如下用户User1的密码为123456,User2的密码为12345
User1
123456
User2
12345
admin
admin

三。生成vsftpd的认证文件

使用db_load命令生成认证文件:

db4.6_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
将vsftpd_login.db的权限设为只对root可读写,即600
chmod 600 /etc/vsftpd/vsftpd_login.db
四。建立虚拟用户所需的PAM配置文件

在/etc/pam.d目录中建立vsftpd.vu内容如下
sudo gedit /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

五。建立虚拟用户所需的系统用户和主目录,需要提前建好文件夹
sudo useradd jtmvi -d /www -s /bin/false
sudo chown jtmvi.jtmvi /www
sudo chown jtmvi.jtmvi /www/User1
sudo chown jtmvi.jtmvi /www/User2
sudo chmod 700 /www

]

六。设置vsftpd.conf配置文件:(记得先备份)
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_old #备份
sudo gedit /etc/vsftpd.conf

#是否允许匿名登录FTP。默认禁止。
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
# 是否允许本地用户登录。默认允许。
local_enable=YES
# 是否允许写操作(是否允许全局上传)。默认禁止。
write_enable=YES
# 是否允许匿名用户上传文件。只有在 anonymous_enable 设置成YES才能生效。
#anon_upload_enable=YES
# 切换目录时,显示目录下.message的内容。
dirmessage_enable=YES
# 如果设置成YES,vsftpd将列目录清单时使用你的本地时区。默认是GMT(格林威冶时间).
use_localtime=YES
# 是否激活上传/下载日志。
xferlog_enable=YES
# 控制端口类型数据连接是否使用服务器上的20号端口(ftp-data)。
connect_from_port_20=YES
# 如果设置为YES,本地用户将被chroot()限定在其主目录下(默认)。警告:这个选项牵连到安全性,尤其在用户拥有上传权限或者使用 shell

#权限的情况下。只有在你知道自己在做什么时才启用它。要知道这些安全相关性不是vsftpd所特有的,它们适用于所有提供chroot()限定

#本地用户机制的FTP守护进程。
#chroot_local_user=YES
# 如果激活(该选项),你应该提供一个在登录时被chroot()限定在其主目录下的本地用户列表。如果chroot_local_user选项设置为 YES,则#(该选项)意思稍微不同,在这种情况下,这个列表则变成了不受chroot()限制的用户列表。默认情况下,包含这个用户列表的文件

#是 /etc/vsftpd.chroot_list,但是你可以通过chroot_list_file选项来更改它。
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

# 该选项应该是一个空目录名。而且,ftp用户对该目录没有写权限。偶尔在vsftpd不需要访问文件系统时,该目录被用作一个安全的chroot() #jail(监狱)。
secure_chroot_dir=/var/run/vsftpd/empty

# 该字符串是vsftpd将要使用的PAM服务名。
pam_service_name=vsftpd

快速配置:
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=jtmvi
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES


七 。 对不同的虚拟用户设置不同权限
sudo mkdir /etc/vsftpd_user_conf
gedit /etc/vsftpd_user_conf/User1

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/www/User1


gedit /etc/vsftpd_user_conf/User2

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/www/User2

gedit /etc/vsftpd_user_conf/admin

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/www

八。重启vsftpd
/etc/init.d/vsftpd restart

OK成功。

 

常见FTP命令及其功能 
 

 

 

 

 

FTP 命令 
 

功能 
 

FTP 命令 
 

功能 
 

ls

显示服务器上的目录 
 

ls [remote-dir][local-file] 
 

显示远程目录remote-dir,并存入本地文件local-file 
 

get remote-file [local-file]

从服务器下载指定文件到客户端 
 

mget remote-files 
 

下载多个远程文件(mget命令允许用通配符下载多个文件
 

put local-file [remote-file]

从客户端上传指定文件到服务器 
 

mput local-file 
 

将多个文件上传至远程主机(mput命令允许用通配符上传多个文件
 

open

连接FTP服务器 
 

mdelete [remote-file] 
 

删除远程主机文件 
 

close

中断与远程服务器的ftp会话(与open对应) 
 

mkdir dir-name 
 

在远程主机中创建目录 
 

open host[port]

建立指定的ftp服务器连接,可指定连接端口 
 

newer file-name 
 

如果远程主机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件 
 

cd directory

改变服务器的工作目录 
 

rename [from][to] 
 

更改远程主机的文件名 
 

lcd directory

在客户端上(本地)改变工作目录 
 

pwd 
 

显示远程主机的当前工作目录
 

bye

退出FTP命令状态 
 

quit 
 

bye,退出ftp会话 
 

ascii

设置文件传输方式为ASCII模式 
 

reget remote-file [local-file] 
 

类似于get,但若local-file存在,则从上次传输中断处续传
 

binary

设置文件传输方式为二进制模式 
 

rhelp [cmd-name] 
 

请求获得远程主机的帮助 
 

![cmd [args]]

在本地主机中交互shell后退回到ftp环境,如:!ls *.zip 
 

rstatus [file-name] 
 

若未指定文件名,则显示远程主机的状态,否则显示文件状态 
 

accout [password]

提供登录远程系统成功后访问系统资源所需的密码 
 

hash 
 

每传输1024字节,显示一个hash符号(# 
 

append local-file [remote-file]

将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名 
 

restart marker 
 

从指定的标志marker处,重新开始getput,如restart 130 
 

bye

退出ftp会话过程 
 

rmdir dir-name 
 

删除远程主机目录 
 

case

在使用mget命令时,将远程主机文件名中的大写转为小写字母 
 

size file-name 
 

显示远程主机文件大小,如:
size idle 7200 
 

cd remote-dir

进入远程主机目录 
 

status 
 

显示当前ftp状态 
 

cdup

进入远程主机目录的父目录
 

system 
 

显示远程主机的操作系统 
 

delete remote-file

删除远程主机文件 
 

user user-name [password][account] 
 

向远程主机表明自己的身份,需要密码时,必须输入密码,如:user anonymous my@email
 

dir [remote-dir][local-file]

显示远程主机目录,并将结果存入本地文件 
 

help [cmd] 
 

显示ftp内部命令cmd的帮助信息,如help get 

FTP 命令 
 

 
 

FTP 命令 
 

功能 
 

ls

显示服务器上的目录 
 

ls [remote-dir][local-file] 
 

显示远程目录remote-dir,并存入本地文件local-file 
 

get remote-file [local-file]

从服务器下载指定文件到客户端 
 

mget remote-files 
 

下载多个远程文件(mget命令允许用通配符下载多个文件
 

put local-file [remote-file]

从客户端上传指定文件到服务器 
 

mput local-file 
 

将多个文件上传至远程主机(mput命令允许用通配符上传多个文件
 

open

连接FTP服务器 
 

mdelete [remote-file] 
 

删除远程主机文件 
 

close

中断与远程服务器的ftp会话(与open对应) 
 

mkdir dir-name 
 

在远程主机中创建目录 
 

open host[port]

建立指定的ftp服务器连接,可指定连接端口 
 

newer file-name 
 

如果远程主机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件 
 

cd directory

改变服务器的工作目录 
 

rename [from][to] 
 

更改远程主机的文件名 
 

lcd directory

在客户端上(本地)改变工作目录 
 

pwd 
 

显示远程主机的当前工作目录
 

bye

退出FTP命令状态 
 

quit 
 

bye,退出ftp会话 
 

ascii

设置文件传输方式为ASCII模式 
 

reget remote-file [local-file] 
 

类似于get,但若local-file存在,则从上次传输中断处续传
 

binary

设置文件传输方式为二进制模式 
 

rhelp [cmd-name] 
 

请求获得远程主机的帮助 
 

![cmd [args]]

在本地主机中交互shell后退回到ftp环境,如:!ls *.zip 
 

rstatus [file-name] 
 

若未指定文件名,则显示远程主机的状态,否则显示文件状态 
 

accout [password]

提供登录远程系统成功后访问系统资源所需的密码 
 

hash 
 

每传输1024字节,显示一个hash符号(# 
 

append local-file [remote-file]

将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名 
 

restart marker 
 

从指定的标志marker处,重新开始getput,如restart 130 
 

bye

退出ftp会话过程 
 

rmdir dir-name 
 

删除远程主机目录 
 

case

在使用mget命令时,将远程主机文件名中的大写转为小写字母 
 

size file-name 
 

显示远程主机文件大小,如:
size idle 7200 
 

cd remote-dir

进入远程主机目录 
 

status 
 

显示当前ftp状态 
 

cdup

进入远程主机目录的父目录
 

system 
 

显示远程主机的操作系统 
 

delete remote-file

删除远程主机文件 
 

user user-name [password][account] 
 

向远程主机表明自己的身份,需要密码时,必须输入密码,如:user anonymous my@email
 

dir [remote-dir][local-file]

显示远程主机目录,并将结果存入本地文件 
 

help [cmd] 
 

显示ftp内部命令cmd的帮助信息,如help get 
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值