FTP
服务器:
光盘(挂载) - 装vsftpd-2.0.5-16.e15_4.1.i386.rpm
# mount /dev/cdrom /media/cdrom
# cd /media/cdrom/Server
# rpm -ivh vsftpd + Tab 键
# rpm -qc vsftpd
# cd /etc/vsftpd
# ls
# cp vsftpd.conf vsftpd.conf.bak
# grep - v "^#" /etc/vsftpd/vsftpd.conf.bak | grep - v "^;" | grep - v "^$" >
/etc/vsftpd/vsftpd.conf
# vi /etc/vsftpd/vsftpd.conf
1、匿名访问
anonymous_enable=yes
anon_umask=022
anon_upload_enable=yes
anon_mkdir_write_enable=yes
2、用户访问
anonymous_enable=no
local_enable=yes
local_umask=022
chroot_local_user=yes
max_clients=20
max_per_ip=2
local_max_rate=102400
pasv_enable=yes
pasv_min_port=24500
pasv_max_port=24600
userlist_enable=yes
userlist_deny=no
local_root=/var/ftp (用户登录后的根目录禁锢为/var/ftproot)
chroot_list_enable=yes
chroot_local_user=yes
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
# chmod a+w /var/ftp
# cd /etc/vsftpd
# touch vsftpd.chroot_list
# vi /etc/vsftpd/vsftpd.chroot_list
root
bb
:wq
# cd /etc/vsftpd
# mkdir vsftpd_user_config
# useradd ming
# passwd 123
# touch ming
# vi ming
local_root=/usr/local/apache/htdocs/benetcom
local_umask=022
local_max_rate=50000
write_enable=yes
:wq
# chown ming:ming /usr/local/apache/htdocs/benetcom
# service vsftpd start/restart
# service iptables stop
客户端:
1、匿名访问:ftp 192.168.1.2 - 用户名:ftp 密码:ftp
2、用户访问:ftp 192.168.1.2 - 用户名 密码
注:阻止用户切换目录(只能在其指定目录下)
chroot_list_enable=yes
chroot_local_user=yes
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
给指定用户切换目录的权限(该文件外的用户无此权限)
# vi /etc/vsftpd/vsftpd.chroot_list
root
bb
anon_upload_enable=yes/no //是否允许匿名用户上传
anon_mkdir_write_enable=yes/no //是否允许匿名用户建立文件夹
anon_other_write_enable=yes/no //是否允许匿名用户可以使用除了建立文件夹和上传文件以外其他的
ftp写操作命令.例如:delete、rename等等
anon_world_readable_only=yes/no //匿名用户是否允许下载所有用户都可以访问的文件
用户上传时不仅要给用户可以上传的权限,还要设置其上传到的目录所有用户有写的权限
# chmod a+w 上传的目录
write_enable=yes/no //是否允许全局可写
download_enable=yes/no //是否允许所有用户可以下载
dirlist_enable=yes/no //是否允许所有用户可以浏览(列出文件列表)
ftpd_banner=欢迎语字符串
banner_file=文件
dirmessage_enable=yes/no
message_file=文件
参数ftpd_banner设置的欢迎语字符串将在登录时看到,如果想做出多行欢迎语,就要把内容单独存为
banner_file参数指定的文件,应用中这两个参数二选一即可.dirmessage_enable和message_file参数是进入某
个目录后显示的欢迎信息,用法与前两个参数一样.
chmod_enable=yes/no //是否允许本地用户改变ftp服务器上档案的权限
user_config_dir=/etc/vsftpd/vsftpd_user_config //用户单独配置文件所在目录
新建一个普通用户huabo,再新建一个目录/etc/vsftpd/vsftpd_user_config,其下建一个文件huabo,里面加入下
面几行:
local_root=/var/www/html
local_umask=022
local_max_rate=50000
write_enable=yes
把/var/www/html的所有者改为huabo:
chown huabo:huabo /var/www/html
userlist_enable=yes
userlist_deny=yes
userlist_file=/etc/vsftpd/vsftpd.userlist
然后再新建一个文件/etc/vsftpd/vsftpd.userlist,在里面加入用户名
基于IP的虚拟ftp站点
这一小节我们来讨论在同一服务器上建立多个ftp站点,每个站点相互独立,拥有独立的配置文件.当然
服务器必须有两个以上的IP地址.在standalone模式下,我们可以考虑启动多个ftp服务进程;在xinetd模式下,可
以让守护进程来管理.下面我们分别讨论这两种情况.为简单起见,我们在服务器上建立两个匿名虚拟站点.下面
是这两个站点的信息:
站点1:
ip地址:192.168.100.100
主配置文件:/etc/vsftpd/vsftpd.conf
匿名用户映射的本地用户名:ftp
匿名用户主目录:/var/ftp/
站点2:
ip地址:192.168.200.1
主配置文件:/etc/vsftpd/vsftpd2.conf
匿名用户映射的本地用户名:ftp2
匿名用户主目录:/var/ftp2/
# vi /etc/hosts.allow
vsftpd:192.168.1.0/255.255.255.0 //允许192.168.1.0/24网段可以访问
ftp
# vi /etc/hosts.deny
vsftpd:ALL //拒绝其它所有主机访问ftp
anon_root=/var/pub 设置匿名用户的登录目录
no_anon_password=YES|NO 控制匿名用户登入时是否需要密码
anon_world_readable_only=YES|NO 控制是否只允许匿名用户下载可阅读文档。
anon_upload_enable=YES|NO 控制是否允许匿名用户上传文件
anon_mkdir_write_enable=YES|NO 控制是否允许匿名用户创建新目录
chown_uploads=YES|NO 是否修改匿名用户所上传文件的所有权。YES,匿名用户所上传的文件的所有权将
改为另外一个不同的用户所有,用户由chown_username参数指定
xferlog_enable=YES 是否记录ftp传输过程
xferlog_file=/var/log/vsftpd.log 传输日志的路径和名字默认是/var/log/vsftpd.log
listen_address=IP 当有服务器有多块网卡时,可选择侦听哪个