linux 跟我一起学6

linux 跟我一起学6

linux 大家一起学第五课
1.前面第四课已经把vsftpd服务器,http://www.linuxdiyf.com/bbs/viewthread.php?tid=53105架设起来了,我们最好从新启动下服务器,看看是否开机会自动启vsftp
2.前面装好的服务器会默认在[root@zy root]#ls /usr/local/sbin/ 下创建vsftpd守护进程,同时也在 [root@zy root]#ls /etc/xinetd.d/vsftpd 也放了一个vsftpd的启动脚本 所以服务器可以用两种方式启动,但我们希望它独立运行,所以我们要关闭这个启动,[root@zy root]#chkconfig --list vsftpd
[root@zy root]#chkconfig vsftpd off
[root@zy root]#chkconfig --list vsftpd
[root@zy root]#netstat -tnl 查看21端口是否被占用着,如果被占用就要杀死该进程
[root@zy root]#ps -aux |grep ftp
[root@zy root]#kill -9 进程pid号
[root@zy root]#/etc/rc.local 执行rc.local下的sbin命令
[root@zy root]#netstat -tnl 再次查看端口
3.[root@zy root]#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=welcome to zy ftp server  登录欢迎词  去掉#
ls_recurse_enable=YES  允许客户端使用ls-r 命令 不管
listen=YES 监听模式 在结尾加入此句 wq保存退出
[root@zy root]#killall -9 vsftpd 现在我们的服务器是独立运行的我们需要把它杀死掉
[root@zy root]# /usr/local/sbin/vsftpd & 从新启动vsftpd
[root@zy root]#useradd redhat 创建一个用户
[root@zy root]#passwd redhat 为它设上密码
[root@zy root]#ftp 192.168.1.144 登录自己的ftp服务器
输入用户名redhat 密码
ftp>pwd 查看当前的目录/home/redhat
ftp>help 查看所有可使用的命令
ftp>put /etc/services ftpservices 将/etc/services 上传到ftp服务器上
ftp>ls 查看ftp服务器的目录
ftp>quit 退出ftp服务器
然后我们仿照上面用匿名用户上传文章试一下,结果我们会发现不成功的关键原因就是匿名用户的目录是/var/ftp ,而这个目录不属于匿名用户
[root@zy root]#cd /var/ftp/
[root@zy ftp]#mkdir /var/ftp/shangchuan 创建一个新的目录
[root@zy ftp]#chmod g+w shangchuan/ 让组可写
[root@zy root]#chgrp ftp shangchuan/ 把目录交给组ftp
这样我们就可以用匿名用户创建目录了
ftp>cd shangchuan 进入上传目录
然后就可以上传文章了
然后我们来体验下vsftp的另一个安全性,锁定用户目录
首先我们用redhat用户登录ftp
ftp>pwd 当前的目录/home/redhat
ftp>cd /etc 将会显示更改成功目录
ok 退出ftp quit
然后修改[root@zy root]#vi /etc/vsftpd.conf
将chroot_list_enable=YES
  chroot_list_file=/etc/vsftpd.chroot_list 将这两行注释掉
[root@zy root]#vi /etc/vsftpd.chroot_list
redhat  将这个用户名写入进去,wq
然后我们再次登录ftp服务器
这次用redhat用户登录
ftp>pwd 这次将显示的是  / 目录其实是用户已经被锁定目录了
ftp>cd /etc 将会显示更改目录失败的提示了
4.如果我们要控制用户访问ftp服务器
[root@zy root]#vi /etc/ftpuesrs
redhat
zy
wq 保存退出 这样默认情况下这两个用户 redhat和zy就不能访问ftp服务器,etc/ftpuesrs 是一个ftp服务器的黑名单
刚刚我们用redhat登录成功,现在我们把redhat加进ftpusers中
[root@zy root]# echo "redhat" >> /etc/ftpusers
再次登录就会发现登录失败。
[root@zy root]#vi  /etc/passwd 对于系统的敏感用户,即passwd目录下 uid 500 以下的人 这些一般是被系统保留的人,我们应该通通把他们加入 /etc/ftpusers 中,这样做很麻烦
但我们可以反过来只允许指定人访问ftp服务器,而其他人被拒绝
[root@zy root]#cp RedHat/vsftpd.pam /etc/pam.d/ftp 这个第三课有说明大家看一下
[root@zy root]#more /etc/pam.d/ftp  这些用户本质上能登录是被pam.d文件控制了
我们只需要对pam.d/ftp 文件进行更改就可以了
[root@zy root]#vi /etc/pam.d/ftp 将里面默认拒绝的命令sense = deny 换成 sense=allow 这样就只有redhat 和 zy 用户可以登录ftp服务器了
5.为了安全期间,我们不想ftp用户是系统用户,所以我们就要建立一个虚拟的ftp用户,要保证系统确实没有的用户,如tom
首先我们编辑一个users.txt ,[root@zy root]#vi users.txt
里面输入用户 tom
        密码 123  《用户和密码不要输进去,第一行是用户tom,第二行是密码123》
[root@zy root]#id tom 确认一下 tom用户不存在
[root@zy root]#db_load -T -t hash -f users.txt /etc/vsftpd_login.db  解释一下 -T 就是将简单txt文件写入db 数据库的命令 -t 是指写入的类型为hash ,-f就是文件名 ,/etc/vsftpd_login.db 这是指文件写入到的位置
[root@zy root]#chmod 600 /etc/vsftpd_login.db 将这个文件的权限改为600
[root@zy root]#vi /etc/pam.d/ftp 修改pam.d的服务文件
首先我们要把以前的注释掉 ,在所有的前面加# 注释掉
然后我们添上两句话
auth     required  pam_userdb.so db=/etc/vsftpd_login.db
account  required  pam_userdb.so db=/etc/vsftpd_login.db
auth 是认证,其中required 是一种控制方式 我们使用pam_user.db.so这个模块 并且加载一个db=/etc/vsftpd_login.db
account 是指类型为
[root@zy root]# useradd vuser 建立一个虚拟帐户用来映射的,这个用户是不用设密码的
[root@zy root]#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@zy root]#cp install.log /home/vuser/ 复制install.log
[root@zy root]#chmod o+r /home/vuser/ 改变目录为其他人可读
从新用tom登录我们就可以看到install.log了
特别注意,每次对/etc/vsftpd.conf文件做一次修改都要从新启动一次服务器用这个命令可以代替[root@zy root]#killall -HUP vsftpd
哥们们我不容易啊,打了半天的字,当你们学会一点小知识的时候顶哥们一下给哥们一定的支持,我会继续努力把linux大家一起学 写完的
顶你
一直支持你!
上去上去上去,顶了顶了
    :0L 继续啊,我们期待你的再次发表。
另外,问个小问题,,怎么没有“linux 大家一起学第六课”“?????