Chinaunix首页 | 论坛 | 博客
  • 博客访问: 761327
  • 博文数量: 274
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 862
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-24 15:31
个人简介

不合格的程序猿

文章分类

全部博文(274)

文章存档

2019年(3)

2018年(1)

2017年(4)

2016年(160)

2015年(106)

我的朋友

分类: LINUX

2015-12-14 15:58:33

原文地址:FTP 服务器搭建 作者:linux_wuliqiang

FTP使用TCP协议
21端口传输控制信息
20端口传输数据
验证信息采用明文传输
匿名用户anonymous
binary模式传输程序、图片等二进制文件
ascii模式舆文本文件

安装vsftpd
1.下载源代码vsftpd-2.0.5.tar.gz
2.编译源程序,可参考帮助文件INSTALL
       #tar zxvf vsftpd-2.0.5.tar.gz
       #cd vsftpd-2.0.5
       #make
       #make install
3.安装配置文件
       #cp vsftpd.conf /etc
       #cp RedHat/vsftpd.pam /etc/pam.d/ftp
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(读写)即满足要求。
-                        表示权限位必须具有的
+                        表示权限位可能有或无
阅读(514) | 评论(0) | 转发(0) |
0

上一篇:memcached 缓存服务器

下一篇:yum

给主人留下些什么吧!~~