Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18380
  • 博文数量: 14
  • 博客积分: 216
  • 博客等级: 入伍新兵
  • 技术积分: 85
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-03 11:28
文章分类

全部博文(14)

文章存档

2012年(14)

我的朋友
最近访客

分类: LINUX

2012-11-14 19:13:55

1.前面第四课已经把vsftpd服务器,架设起来了,我们最好从新启动下服务器,看看是否开机会自动启vsftp
2.前面装好的服务器会默认在[root@zyroot]#ls/usr/local/sbin/下创建vsftpd守护进程,同时也在[root@zyroot]#ls/etc/xinetd.d/vsftpd也放了一个vsftpd的启动脚本所以服务器可以用两种方式启动,但我们希望它独立运行,所以我们要关闭这个启动,[root@zyroot]#chkconfig--listvsftpd
[root@zyroot]#chkconfigvsftpdoff
[root@zyroot]#chkconfig--listvsftpd
[root@zyroot]#netstat-tnl查看21端口是否被占用着,如果被占用就要杀死该进程
[root@zyroot]#ps-aux|grepftp
[root@zyroot]#kill-9进程pid号
[root@zyroot]#/etc/rc.local执行rc.local下的sbin命令
[root@zyroot]#netstat-tnl再次查看端口
3.[root@zyroot]#vi/etc/vsftpd.conf修改服务器的配置文件
我们首先来解释下vsftpd.conf配置下的几个常见命令
anonymous_enable=YES允许匿名用户登录注释掉即去掉#
local_enable=YES允许本地用户登录去掉#
write_enable=YES允许本地用户写入去掉#
local_umask=022本地用户新文件的umask值去掉#
abon_upload_enable=YES允许匿名用户上传文件去掉#
anon_mkdir_write_enable=YES允许匿名用户创建目录不要管它
dirmessage_enable=YES允许使用目录信息去掉#
ftpd_banner=welcometozyftpserver登录欢迎词去掉#
ls_recurse_enable=YES允许客户端使用ls-r命令不管
listen=YES监听模式在结尾加入此句wq保存退出
[root@zyroot]#killall-9vsftpd现在我们的服务器是独立运行的我们需要把它杀死掉
[root@zyroot]#/usr/local/sbin/vsftpd&从新启动vsftpd
[root@zyroot]#useraddredhat创建一个用户
[root@zyroot]#passwdredhat为它设上密码
[root@zyroot]#ftp192.168.1.144登录自己的ftp服务器
输入用户名redhat密码
ftp>pwd查看当前的目录/home/redhat
ftp>help查看所有可使用的命令
ftp>put/etc/servicesftpservices将/etc/services上传到ftp服务器上
ftp>ls查看ftp服务器的目录
ftp>quit退出ftp服务器
然后我们仿照上面用匿名用户上传文章试一下,结果我们会发现不成功的关键原因就是匿名用户的目录是/var/ftp,而这个目录不属于匿名用户
[root@zyroot]#cd/var/ftp/
[root@zyftp]#mkdir/var/ftp/shangchuan创建一个新的目录
[root@zyftp]#chmodg wshangchuan/让组可写
[root@zyroot]#chgrpftpshangchuan/把目录交给组ftp
这样我们就可以用匿名用户创建目录了
ftp>cdshangchuan进入上传目录
然后就可以上传文章了
然后我们来体验下vsftp的另一个安全性,锁定用户目录
首先我们用redhat用户登录ftp
ftp>pwd当前的目录/home/redhat
ftp>cd/etc将会显示更改成功目录
ok退出ftpquit
然后修改[root@zyroot]#vi/etc/vsftpd.conf
将chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list将这两行注释掉
[root@zyroot]#vi/etc/vsftpd.chroot_list
redhat将这个用户名写入进去,wq
然后我们再次登录ftp服务器
这次用redhat用户登录
ftp>pwd这次将显示的是/目录其实是用户已经被锁定目录了
ftp>cd/etc将会显示更改目录失败的提示了
4.如果我们要控制用户访问ftp服务器
[root@zyroot]#vi/etc/ftpuesrs
redhat
zy
wq保存退出这样默认情况下这两个用户redhat和zy就不能访问ftp服务器,etc/ftpuesrs是一个ftp服务器的黑名单
刚刚我们用redhat登录成功,现在我们把redhat加进ftpusers中
[root@zyroot]#echo"redhat">>/etc/ftpusers
再次登录就会发现登录失败。
[root@zyroot]#vi/etc/passwd对于系统的敏感用户,即passwd目录下uid500以下的人这些一般是被系统保留的人,我们应该通通把他们加入/etc/ftpusers中,这样做很麻烦
但我们可以反过来只允许指定人访问ftp服务器,而其他人被拒绝
[root@zyroot]#cpRedHat/vsftpd.pam/etc/pam.d/ftp这个第三课有说明大家看一下
[root@zyroot]#more/etc/pam.d/ftp这些用户本质上能登录是被pam.d文件控制了
我们只需要对pam.d/ftp文件进行更改就可以了
[root@zyroot]#vi/etc/pam.d/ftp将里面默认拒绝的命令sense=deny换成sense=allow这样就只有redhat和zy用户可以登录ftp服务器了
5.为了安全期间,我们不想ftp用户是系统用户,所以我们就要建立一个虚拟的ftp用户,要保证系统确实没有的用户,如tom
首先我们编辑一个users.txt,[root@zyroot]#viusers.txt
里面输入用户tom
密码123《用户和密码不要输进去,第一行是用户tom,第二行是密码123》
[root@zyroot]#idtom确认一下tom用户不存在
[root@zyroot]#db_load-T-thash-fusers.txt/etc/vsftpd_login.db解释一下-T就是将简单txt文件写入db数据库的命令-t是指写入的类型为hash,-f就是文件名,/etc/vsftpd_login.db这是指文件写入到的位置
[root@zyroot]#chmod600/etc/vsftpd_login.db将这个文件的权限改为600
[root@zyroot]#vi/etc/pam.d/ftp修改pam.d的服务文件
首先我们要把以前的注释掉,在所有的前面加#注释掉
然后我们添上两句话
authrequiredpam_userdb.sodb=/etc/vsftpd_login.db
accountrequiredpam_userdb.sodb=/etc/vsftpd_login.db
auth是认证,其中required是一种控制方式我们使用pam_user.db.so这个模块并且加载一个db=/etc/vsftpd_login.db
account是指类型为
[root@zyroot]#useraddvuser建立一个虚拟帐户用来映射的,这个用户是不用设密码的
[root@zyroot]#vi/etc/vsftpd.conf编辑服务器的配置
我们要禁用掉所有的anon开头的命令,禁止匿名用户登录然后
我们要加入两条命令guest_enable=YES
guest_username=vuser
wq保存退出
然后我们实验下用redhat登录下结果反应是登录失败de
ftp>user我们用虚拟user登录
(username)tom
密码输入123
进去了ok
我们可以下个文件看看ftp》get.bashrc下载成功ls但是我们却不能看到quit退出
[root@zyroot]#cpinstall.log/home/vuser/复制install.log
[root@zyroot]#chmodo r/home/vuser/改变目录为其他人可读
从新用tom登录我们就可以看到install.log了
特别注意,每次对/etc/vsftpd.conf文件做一次修改都要从新启动一次服务器用这个命令可以代替[root@zyroot]#killall-HUPvsftpd
哥们们我不容易啊,打了半天的字,当你们学会一点小知识的时候顶哥们一下给哥们一定的支持,我会继续努力把linux大家一起学写完的
阅读(356) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~