今天说下RHEL6.3下搭建FTP服务器的过程
用这个vsftpd!
因为我刚做完,所以这篇文章从卸载FTP开始!欢迎扔砖过来,反正也砸不到我哈哈!
我是在图形界面做的,所以,先在桌面上右键,选在终端中打开,打开命令行
进入命令行后,我们先看下是否安装了FTP,当然我这里是已经安装了,这里可以在普通用户下执行,不用root权限
rpm �Caq vsftpd 或 rpm �Cqa |grep vsftpd
好吧,现在我们来卸载vsftpd,这里就要用到root权限了,所以要先进入root用户
su -或su �C root
rpm �Ce vsftpd
再用rpm �Caq vsftpd查看一下,已经没有vsftpd程序了
这里再多说一句,因为这个程序包在光盘里有带,所以安装前要先挂载光盘,那我现在已经挂载了,用mount查看一下,我把它挂载到/media目录下
所以要先卸载,前提是要退出media目录,你不能在media目录下卸载media目录,用cd命令就可以回到上层目录
先ls /media可以查看它里面的内容
umount /media
再mount查看一下,已经没有了/media了,说明光盘没有被挂载,但这个目录还是在的,你可以cd /media进入它里面
OK,卸载完了,现在从头开始,安装vsftpd,别忘了要root权限的
1.先挂载我们的系统盘,也就是mount我们的光盘
mount /dev/cdrom1
意思是把cdrom1挂载到默认的/mnt目录下,如果是mount /dev/cdrom1 /media就是挂载到/media目录下,当然你可以挂载到任意目录,只要它存在
/dev是存放设备的目录,cdrom1是我的系统盘,如果不知道光驱名是什么就用mount /dev/cdr然后多按两个tab键就出来cdrom相关的名字了,或用dvd也可以
2.现在可以安装这个vsftpd的rpm包了--在rhel里,所有的程序都是以rpm结尾的文件
现在我们把光盘挂载到/mnt目录下,所以要么就用
rpm �Cihv /mnt/Packages/vsftpdxx,后面的xx是我省略的,你要按几次tab键把它补全,还有就是LINUX区分大小写的,这一点注意,不然目录什么的会出错,这样就找不到你要的文件
或者用
yum install vsftpd �Cy
来安装,推荐用后者,方便,也不用写全名,它是红帽子中能够自己解决安装包依赖关系的安装命令,其他的LINUX比如debian相关的命令是apt-get,arch的是pacman,gentoo的是portage,比较智能化
3.查看一下看有没有安装上
rpm �Caq vsftpd
4.好,安装上了,看下能用吗
ftp localhost
这是没有安装FTP服务的问题,
yum install ftp 就可以了
不能连接
输入bye或exit命令来退出ftp
现在来看下vsftpd的服务状态,有没有打开
service vsftpd status
结果是已停止,下面来启用一下服务
service vsftpd start
正在运行,OK,如果想要重启服务,就用service vsftpd reload或service vsftpd restart
再次访问我们的vsftpd
看,让你输入用户名,可以输入已经有的用户还有就是一个anonymous这个是匿名用户,密码不用输入,直接回车就行,这个用户名在命令行下是要输入的,图形界面不用输入!
再说两个命令:
chkconfig --list vsftpd可以看服务的配置状态
!serv,!168
字符前加!,是执行最后一次以serv开头的命令
数字前加!,是执行第168条命令,这个数字是从运行history后得到的你以前用过的所有的命令
5.默认vsftpd 允许匿名登录,不安全,如何禁止匿名登陆呢
运行vi /etc/vsftpd/vsftpd.conf
把 anonymous_enable=YES 修改为anonymous_enable=NO
就不允许允许匿名登录了
把anon_upload_enable=YES前面的#号去掉,#号是注释符
就可以匿名上传了
Anon_mkdir_write_enable=YES前面的#也去掉
就可以创建目录
要记得改变目录的读写权限,我直接给了777
添加anon_other_write_enable=YES就可以匿名删除文件了
6.默认情况下,root用户是不能登陆FTP的,这可能也是考虑到安全问题
我们可以修改/etc/vsftpd目录下的ftpusers和user_list文件,给root前面加#号或直接删除root就可以用root登陆了!
7.如何定义FTP用户的默认访问目录呢?
FTP用户默认的访问目录是自己的家目录,比如,用户kevin,登陆后默认目录就是/home/kevin
当然我们可以定义一个目录,让用户只使用指定的目录!
这个是在/etc/passwd文件里
vi /etc/passwd
这里做一下解释:
在该文件中,每一行用户记录的各个数据段用“:”分隔,分别定义了用户的各个属性。各个字段的顺序和含义如下:
注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序
比如我现在有一个FTP用户,让它通过FTP只访问/ftp/shareftp目录,那么
就是把ftp用户的目录从/ftp改为/ftp/shareftp
这样就可以了!