搭建FTP服务器
搭建FTP服务器
最新更新消息 发表于2年前
搭建FTP服务器
  • 发表于 2年前
  • 阅读 77
  • 收藏 8
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

安装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(读写)即满足要求。

-                        表示权限位必须具有的

+                        表示权限位可能有或无


共有 人打赏支持
粉丝 2
博文 39
码字总数 49637
×
最新更新消息
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: