|
学习笔记
配置FTP服务器
实验环境:
操作系统:RHEL 5
网段:192.168.0.0/255.255.255.0
目标:
通过vsftpd配置ftp服务
允许匿名用户上传文件
创建ftp帐户cst05001-cst05059帐户,禁止从本地登录,允许上传文件。
上传文件同一归属于ftp组。并且禁止这些帐号访问/var/ftp的上一级目录。
禁止本地用户alin登录ftp
实验步骤:
安装vsftpd包
编辑配置文件/etc/vsftpd/vsftpd.conf
anonymous_enable=YES开启匿名用户登录
local_enable=YES开启本地用户登录
write_enable=YES开启写权限以便上传
local_umask=022设置上传后文件为user=rwx, group=, other=
这样,用户上传文件后,是不能删除和修改了。因为用户属于group组。
解决方法是,设置local_umask=002。
最终文件权限是777-文件夹掩碼-local_umask掩碼
anon_upload_enable=YES开启匿名用户上传权限
统一匿名上传用户上传的文件的属性
chown_uploads=YES
chown_username=ftp
设定chroot配置,禁止特定用户访问上一级目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
userlist_enable=YES这个选项如果是YES,那/etc/vsftpd/user_list中的用户将被禁止访问ftp。如果是NO,则只有user_list里面的用户才能访问ftp
保存。
启动vsftpd。
在客户机登录匿名登录ftp,登录成功。
上传文件。结果是失败。
配置文件错了吗?
不是的。是权限问题。
ls -l /var/ftp
看一下就知道了。
chown root.ftp /var/ftp/pub
chmod 775 /var/ftp/pub
重启vsftpd
用客户端上传。OK。
现在要添加cst05001-cst05059这些帐户。
写脚本:
#!/bin/sh
for username in cst050{0..5}{0..9}; do
useradd $username --home=/var/ftp --shell=/sbin/nologin --group=ftp
echo 123456 | passwd --stdin $username
echo $username >> /etc/vsftpd/chroot_list
done
保存
chmod +x 一下
运行。
在客户端用cst05001登录,成功。上传文件,成功。
禁止alin访问ftp
echo alin >> /etc/vsftpd/user_list
修改时间:10/24/2007 |
|