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.conf1、匿名访问
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_listroot
bb:wq
# cd /etc/vsftpd
# mkdir vsftpd_user_config # useradd ming # passwd 123 # touch ming # vi minglocal_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 当有服务器有多块网卡时,可选择侦听哪个