安装vsftpd安全
1.下载源代码vsftpd-2.0.5.tar.gz服务器
2.编译源程序,可参考帮助文件INSTALL工具
#tar zxvf vsftpd-2.0.5.tar.gzui
#cd vsftpd-2.0.5加密
#make进程
#make installmd5
3.安装配置文件rem
#cp vsftpd.conf /etc字符串
#cp RedHat/vsftpd.pam /etc/pam.d/ftpget
4.编缉配置文件/etc/vsftpd.conf
5.启动服务器
#/usr/local/sbin/vsftpd &
配置文件
listen=YES 服务器独立运行
服务器默认配置文件,不容许其余用户登陆,只能匿名登陆,匿名登陆须要先建/var/ftp目录
finger 用户信息查看工具
finger ftp 确认是否有ftp这个用户
为匿名用户可登陆,要建立ftp用户和/var/ftp目录
#mkdir /var/ftp
#chown root.root /var/ftp
#chmod og-w /var/ftp
为使vsftpd开机自动进行,在/etc/rc.local添加/usr/local/sbin/vsftpd &
#netstat -tnl 查看本地已启动的服务
vsftpd能够以两种方式运行
让vsftpd独立运行,关闭xinetd的方式
#chkconfig vsftpd off
vsftpd的配置文件
anonymous_enabled=YES #容许匿名登陆
local_enable=YES #容许本地用户登陆
write_enable=YES #容许客户端写
local_umask=022 #本地用户新建文件的umask值
anon_upload_enable=YES #容许匿名用户上传文件
anon_mkdir_write_enable=YES #容许匿名用户建立目录
dirmessage_enable=YES #容许使用目录的消息
ftpd_banner=Welcome to redhat #登陆欢迎词
ls_recure_enable=YES #容许客户端使用ls -R命令
listen=YES #监听模式
修改配置文件后,从新启动vsftpd服务
#killall -9 vsftpd 强行终止
#/usr/local/sbin/vsftpd & 启动
#id redhat 查看redhat用户信息(组id,所属组)
#mkdir /var/ftp/incoming #为匿名用户开放上传incoming目录
#chgrp ftp incoming
#chmod g+w incoming
chroot环境 (用户不能改变主目录,不能查看主目录外的其余目录,能够隐藏主目录的位置)
/etc/vsftpd.conf:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
若是把chroot_local_user=YES,则本地全部的用户都变成chroot环境,它的默认值为NO。
/etc/vsftpd.chroot_list: (锁定主目录的用户列表)
redhat
chiaitlab
#killall -HUP vsftpd
用户控制
#vi /etc/vsftpd.conf添加
userlist_enable=YES 启用用户列表
userlist_file=/etc/ftpusers 定义用户列表文件位置
userlist_deny =YES 拒绝列表的用户
=NO 只容许列表的用户登陆
要达到上面一样的效果,还能够修改/etc/pam.d/vsftpd文件。默认为拒绝列表的用户:
auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
只要把上面的deny改为allow就能够容许列表的用户。
#vi /etc/ftpusers
编缉用户列表,将要进行控制的用户添加进去,一行一个用户
#ldd vsftpd 显示依赖的共享库
默认编译安装没有支持PAM模块,经过ldd /usr/sbin/vsftpd看是否在依赖于libpam.so.0,若是有证实服务支持PAM。
经过光盘RPM安装(第二张)
#rpm -ivh vsftpd-2.0.4-1.2.i386.rpm
配置文件及用户列表在/etc/vsftpd目录下
pam服务名 /etc/pam.d/vsftpd
vsftpd在/usr/sbin/vsftpd
ftp默认拒绝id 500如下的用户登陆
虚拟帐号
对于用DB库存储用户及密码,先看系统是否有相应软件包
#rpm -qa | grep db4
db4-devel 第三张盘
db4 第一张盘
db4-utils 第4张盘
1.建虚拟帐号users.txt
tom
123
jack
123
用户密码各占一行
#db_load -T -t hash -f users.txt /etc/vsftpd/vsftpd_login.db
#chmod 600 /etc/vsftpd/vsftpd_login.db
2.修改/etc/pam.d/vsftpd 增长(将其余注释掉,不然有可能会出现虚拟用户没法登录的错误)
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
3.建虚拟帐号目录
#useradd vuser
!!注意,编译安装vsftpd时,首先检查是否安装了pam-devel(FC5在第4张盘),不然编译选项定义了pam,但依然没法使用pam服务,最好用ldd肯定一下
4.编缉/etc/vsftpd/vsftpd.conf
anonymous_enable = NO
local_enable =YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
guest_enable=YES
guest_username=vuser
anon_world_readable_only=NO (用于得到目录列表,安全起见不推荐)
若是登陆时出现
500 OOPS: priv_sock_get_result
Connection closed by remote host.
这样的错误。须要升级pam
运行
#yum update pam
Proftpd
#tar jxvf proftpd-1.2.9.tar.gz2
#cd proftpd-1.2.9
#./configure 生成与系统有关的配置文件
#make 编译把源程序编译成二进制文件
#make install
#/usr/local/sbin/proftpd
配置文件:/etc/local/etc/proftpd.conf
vi使用技巧:
yy 复制当前行
p 粘贴
/ 查找
n 查找下一个
查找与查找下一个配合使用
shift+D 在当前行删除光标后的全部字符
#netstat -tnlp 显示进程及ID
为Grub设置密码,防止用户修改或编缉Grub的引导菜单
#grub-md5-crypt 产生一个md5加密的字符串
#grub-md5-crypt >> /etc/grub.conf
#vi /etc/grub.conf
password --md5 $1#123abckdfj343k $1#123abckdfj343k为上面生成的加密字符串
这样在启动时,要编缉引导菜单必须输入密码,在引导菜单最后加上 s ,可进入单用户模式。
find / -perm -002 查找文件权限中其余人具备写权限的文件,0表示用户,组无论
find / -perm +6000 查找文件,无论用户,组其余,只要权限中含有6(读写)即知足要求。
- 表示权限位必须具备的
+ 表示权限位可能有或无