Redhat Linux下创建ftp服务器

vsftpd的配置方法
vsftpd的主配置文件是在/etc/vsftpd/vsftpd.conf
查看初始内容:vi /etc/vsftpd/vsftpd.conf
anoymous_enable=YES    //表示允许匿名用户登录ftp服务器
对于帐号少,一般不开放匿名用户访问ftp,可以把该选项设置为NO

local_enable=YES   //表示允许本地帐号登录,本地帐号是指匿名帐号以外的用户
包括操作系统帐号和虚拟帐号,但是设置为YES,并不一定本地帐号就一定可以登录,
还取决于pam等设置。

write_enable=YES   //表示服务器接受与写有关的命令,设置为NO以后
客服端不能上传文件

local_umask=022     //表示本地用户创建文件的初始的权限值,
创建的用户有全部的权限,其它的用户有读和执行的权限

chroot_list_enable=YES  //表示某些用户登录后,可以转到其工作目录的上层目录,


chroot_list_file=/etc/vsftpd/chroot_list  
//特定的用户需要放在指定的文件当中,当chroot_list_enbale=NO时,
这些用户登录服务器,他门看到的根目录,是他们的个人目录,不允许切换到其上层目录。
这样是为了安全


listen=YES    //表示vsftp将以独立的方式运行

pam_service_name=vsftp   //指定pam认证的配置文件名
在/ect/pam.d目录中

userlist_enable=YES      //表示拒绝列在文件中的用户登录


vsftpd配置例子
----匿名用户配置
大部分情况下,匿名用户只能下载,不允许上传
若要匿名用户能上传,需要修改配置文件,将
write_enable=YES
annon_upload_enable=YES
再重启vsftpd服务。

如果要匿名用户需要将上传的文件可以删除,需要在配置文件中加上
anon_other_write_enable=YES
这样匿名用户就可以删除上传的文件

如果需要让匿名用户可以创建子目录,需要加入
anon_mkdir_write_enable=YES
这样匿名用户就可以创建子目录

----虚拟用户的配置
vsftp中有三种用户,匿名用户,本地用户,虚拟用户
虚拟用户-任何一个用户
本地用户-也就是操作系统中建立的用户,用户名密码存放在
/etc/passwd这个文件中。
虚拟用户-他们的用户名密码存放在特定的文件中,在vsftpd中有效,
对安全有效,不需要在操作系统中创建用户,权限设置更加方便

如何通过pam配置虚拟用户
首先创建一个ftpuser.txt文件
#vi ftpuser.txt
然后在这个文件当中,输入虚拟帐号的用户名密码,其中奇数行是帐号名,
偶数行为密码,例如:
usr1
pass1
usr2
pass2

2.生成虚拟帐号数据库。
首先要确保数据库工具包已经安装,可以输入如下命令查看
#rpm -qa|grep db4
如果没有安装,需要将光盘中的
db4-utils-4.3.29-9.fc6.i386.rpm包复制过来,进行安装
#rpm -ivh db4-utils-4.3.29.9.i386.rpm
安装完成后,可以执行如下命令:
#db_load -T -t hash -f ./ftpuser.txt /etc/vsftpd/ftpusr.db
这条命令生成了能够被pam认识的数据库文件,为了安全起见,把这个文件ftpusr.db的
权限改正只有root用户可以读写:
#chmod 600 /etc/vsftpd/ftpusr.db

在/etc/pam.d/下创建一个vsftpd_login的文件
#vi /etc/pam.d/vsftp_login
在这个文件中输入以下内容:
auth       required  /lib/security/pam_userdb.so   db=/etc/vsftpd/ftpusr
account    required  /lib/security/pam_userdb.so   db=/etc/vsftpd/ftpusr

4.建立所有ftp虚拟用户帐号所使用的操作系统帐号,并设置该帐号
的工作目录,以及它的权限
#useradd -d /home/ftpsite -s /sbin/nologin ftp_vist
这条命令的含义是创建一个用户,名字为ftp_vist,用户的主目录是在/home目录下的ftpsite目录下。
这个用户是不能在操作系统中登录的。

改变这个注目礼的属性
#chmod 700 /home/ftpsite/

5.修改vsftpd的配置文件
#vi /etc/vsftpd/vsftpd.conf

在后面添加下面的2条指令
guest_enable=YES           //表示启用虚拟帐号
guset_username=ftp_vist    //表示所有虚拟用户帐号所对应的操作系统帐号为ftp_vist
pam_service_name=vsftpd_login    //指的是在/etc/pam.d下面建的vsftpd_login文件


如何设置虚拟用户的权限
--virtual_use_loacal_priv=YES
在配置文件中加入:
user_config_dir=/etc/vsftpd     //指定是这个目录

#cd /home/ftpsite/
创建2个子目录
#mkdir usr1
#mkdir usr2

#chown ftp_vist usr1
#chown ftp_vist usr2

#vi /etc/vsftpd/usr1
local_root=/home/ftpsite/usr1

#vi /etc/vsftpd/usr2
local_root=/home/ftpsite/usr2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值