• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Proftpd 初学者的学习笔记

发布: 2007-5-25 23:43 | 作者: 未知 | 来源: ChinaUnix.net | 查看: 18次 | 进入软件测试论坛讨论

领测软件测试网
Proftpd 初学者的学习笔记
虽然网上有很多关于Proftpd的配置资料,但是我在参考网上资料配置时出现挺多问题,走了满多弯路,呵呵!!!嘻!!!把配置过程再重温一遍吧,嘻!(我用的系统是as4.0的)
我配置是一个简单的FTP服务器,所达到的要求是:
1、 允许匿名访问
2、 允许skate用户能够上传文件而不能进行删除和修改之类的权限
3、 允许tc用户可以对整个FTP进行上传修改和删除的所有的权限
准备好了,现在开始了!!
一、安装proftpd软件(注意哦:我每一次安装时是用测试版的,就是proftpd-1.3.0rc1版的,之后出现了严重的错误,这个版不稳定,大家如果不是玩玩的话就不要用测试版的,会气死的!!
),http://www.proftpd.org.下载下来的是一个压缩包,用                           
tar zxvf proftpd-1.2.10tar.gz         进行解压
cd    proftpd-1.2.10              进入proftpd-1.2.10文件夹
./configure –-prefix=/etc/proftpd     把proftpd-1.2.10安装到/etc/proftpd文件夹下
Make
Make install
二、新建skate,tc用户
groupadd skate 创建一个skate组

useradd skate –g skate –d /var/ftp/skate –s /sbin/nologin  这句话我的理解是(新建skate用户,并把它加入skate组,把skate的目录建在/var/ftp目录下,并指定它的shell为nologin,这个nologin并不能让skate用户进入linux系统

passwd skate 设置skate的密码

useradd –d /var/ftp  tc  添加tc用户,并把它的家目录建在/var/ftp,这样只要此用户登录的话可以直接进入ftp的目录下
passwd tc 设置tc的密码

gpasswd -a skate tc 
gpasswd -a  tc skate
chown tc.tc /var/ftp  
chmod -R  770 skate  
cd ..  
chmod -R  775 ftp  
vi /etc/proftpd/etc/proftpd.conf  
service  proftpd start  
service  proftpd restart
chmod 775 ftp 
chmod -R 770 skate

好了,用户设置好了 : )

三、在开始配置proftpd.conf文件之前进行以下操作:
1、因为我用的是红帽子AS4.0的,所以先要把自带的vsftpd给停掉
service vsftpd stop 或者直接 rpm –e vsftpd
2、设置一个proftpd的启动服务
编辑一个启动脚本,
cd    proftpd-1.2.10 进入proftpd-1.2.10的解压文件夹中
cp contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd 拷贝proftpd.init.d到/etc/rc.d/init.d文件夹中,并改名为proftpd
vi /etc/rc.d/init.d/proftpd 编辑这个文件,找到文件中有一行是PATH行,将它改成你所安装proftpd所在的目录。PATH=’$PATH:/etc/proftpd/sbin:/etc/proftpd/bin’ 我是安装在/etc/proftpd文件下,保存退出
3、把/etc/rc.d/init.d/proftpd设成可执行文件
chmod +x /etc/rc.d/init.d/proftpd
chkonfig –add proftpd
这样就可以用service proftpd start和service proftpd stop 和service proftpd restart来分别执行开启服务,停止服务与重启服务
4、现在你用service proftpd start是不是会出现个错误,差点忘了要改配置文件了,嘻
vi /etc/proftpd/etc/proftpd.conf
在全局配置里把group的值为nogroup改成nobody
好了,配置前的工作做好了
四、现在正式来配置proftpd.conf里的权限设置,
vi /etc/proftpd/etc/proftpd.conf  这是我的配置文件:
# This is a basic ProFTPD configuration file (rename it to 
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on

# Port 21 is the standard FTP port.
Port 21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in .netd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances 30

# Set the user and group under which the server will run.
User   nobody
Group nobody (这边就是我在上一步所讲的设置成nobody)

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~ skate,skate  (阻止skate组的用户到其他目录,它们只能呆在自家目录)

# Normally, we want files to be overwriteable.
AllowOverwrite on

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll
</Limit>

# A basic anonymous configuration, no upload directories.  If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
<Anonymous ~ftp>
  User ftp
  Group ftp

  # We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias anonymous ftp

  # Limit the maximum number of anonymous logins
  MaxClients 10

  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin welcome.msg
  DisplayFirstChdir .message

  # Limit WRITE everywhere in the anonymous chroot
  <Limit WRITE>
    DenyAll
  </Limit>
</Anonymous>


<Directory />  
AllowOverwrite on
AllowStoreRestart on
#AllowForeignAddress on
<Limit All>
AllowAll
</Limit>
</Directory> 

<Directory /var/ftp/skate>
<Limit DELE RNFR RNTO RMD XRMD>
DenyUser skate
</Limit>
</Directory> (这几句是对skate用户的权限限制,只允许它对/var/ftp/skate有写的权限,不允许它有DELE RNFR RNTO RMD XRMD的权限)

<Directory /var/ftp>
<Limit CMD MKD RNFR DELE RMD RETR STOR READ WRITE DIRS NLST >
AllowUser tc
</Limit>
</Directory>  (这几句是对tc的权限设置,给它对/var/ftp目录拥有所有的权限,这个用户也算是FTP的管理员帐户吧。)
存盘退出
service proftpd restart
五、修改一下/var/ftp目录的权限
chmod –R 775 /var/ftp 
这样tc对/var/ftp/skate的文件具有写,删,改,执行的所有权限。
六、试验一下吧,嘻
后续:
这个我第一次在网上发表笔记,平时都是记在本子里,毕竟是要传上去的,难免有点怕被扔香蕉皮,心里怪紧张的,嘻!我在配置之前我也是在网上看了好几篇的配置笔记,上面都比我这要好多了,嘻,不是谦虚的哦!看完了是不是觉得挺少东西的,是啊,比如那些用户限速之类的都没提,还有一些语句的解释,因为一开始主要是想设置一下权限,只是权限弄好了,一切都好办,你说对吧,嘻,不过还有一个原因是因为我语言表达能力不是很好,只能这样将就了,嘻!!!
http://www.5ilinux.com/blog/archives/000082.html   这个网址比较好,里面每个细节都讲得很清楚!!!!!大家一起努力吧,嘻!!!

 Mscong 回复于:2005-05-15 01:08:43
水果厉害。..

越来越厉害咯....

看来要叫你师傅了..

 sfz103 回复于:2005-05-15 01:09:41
倒,这么快就回了,嘻

 duguke 回复于:2005-05-15 01:19:02
小不点好样啊,就是太谦虚了一点啊,

 wolfg 回复于:2005-05-15 14:09:42
不错!
建议再整理一下格式,注意unix的命令的大小写

[quote:300fea3742="sfz103"]
Chkonfig –add proftpd
[/quote:300fea3742]
这个应该是
[code:1:300fea3742]
chkconfig -add proftpd
[/code:1:300fea3742]吧

还有skate用户的主目录需要手工建,要说明一下

 sfz103 回复于:2005-05-15 14:43:52
嘻,没注意到,下次一定改正!!

 wing000 回复于:2005-05-15 15:22:22
不错吧,,小不点
真的,,我也该叫你师傅啊

 icoolno1 回复于:2005-05-16 01:04:33
good

 flyingpiggy_zhu 回复于:2005-05-16 20:52:43
先支持一下再慢慢看!呵呵,正在狂找这个问题的答案呢!

 fenglipiao 回复于:2005-05-30 17:05:34
向各位请教

PROFTPD 1。2。10已经集成quota了?

我想用PROFTPD来进行磁盘的限额 请各位大哥帮忙啊 小弟多谢了!!

 hongfengyue 回复于:2005-09-09 09:31:08
proftpd 1.2.10已经集成了quotatab了。你编译的时候估计要激活这个模块。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网