LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2647|回复: 1

proftp的匿名登录无法设置目录权限 Unable to set anonymous privileges.

[复制链接]
发表于 2007-12-1 23:26:29 | 显示全部楼层 |阅读模式
Gentoo Linux
kernel 2.6.22
proftpd-1.3.1

匿名登录在客户端总是提示说:
530-Unable to set anonymous privileges.

用过proftpd安装后默认的配置,也是同样的错误。已经检查过目录的权限了
也试过设为chmod -R 777 <ftp_home>
但是问题都是一样。

/   hda2            reiserfs
/home/ftp  hda3     reiserfs

系统已存在以下两个用户:
proftpd
ftp

使用系统一般用户帐号登录ftp服务器是没有问题的。

------------------------------------------------------------------------------------------
proftpd服务器输出:
  1. LittleBoy ~ # proftpd --config=/etc/proftpd/proftpd.conf -n -d 10
  2. - mod_facl/0.3: registered 'facl' FS
  3. - mod_tls/2.1.2: using OpenSSL 0.9.8e 23 Feb 2007
  4. - retrieved UID 102 for user 'proftpd'
  5. - retrieved GID 1003 for group 'proftpd'
  6. - <Directory upload>: adding section for resolved path '/upload'
  7. LittleBoy -
  8. LittleBoy - Config for LittleBoy:
  9. LittleBoy - /home/ftp/
  10. LittleBoy -  /upload
  11. LittleBoy -   Limit
  12. LittleBoy -    AllowAll
  13. LittleBoy -   Limit
  14. LittleBoy -    DenyAll
  15. LittleBoy -   Umask
  16. LittleBoy -   DirUmask
  17. LittleBoy -   RequireValidShell
  18. LittleBoy -   DirFakeUser
  19. LittleBoy -   DirFakeGroup
  20. LittleBoy -   MaxClients
  21. LittleBoy -   MaxClientsPerHost
  22. LittleBoy -   TransferRate
  23. LittleBoy -   TransferRate
  24. LittleBoy -   DisplayLogin
  25. LittleBoy -   AllowRetrieveRestart
  26. LittleBoy -   AllowStoreRestart
  27. LittleBoy -  Limit
  28. LittleBoy -   DenyAll
  29. LittleBoy -  RequireValidShell
  30. LittleBoy -  UserName
  31. LittleBoy -  GroupName
  32. LittleBoy -  UserAlias
  33. LittleBoy -  AnonRequirePassword
  34. LittleBoy -  DirFakeUser
  35. LittleBoy -  DirFakeGroup
  36. LittleBoy -  MaxClients
  37. LittleBoy -  MaxClientsPerHost
  38. LittleBoy -  TransferRate
  39. LittleBoy -  TransferRate
  40. LittleBoy -  DisplayLogin
  41. LittleBoy -  AllowRetrieveRestart
  42. LittleBoy -  AllowStoreRestart
  43. LittleBoy -  Umask
  44. LittleBoy - DefaultServer
  45. LittleBoy - ServerIdent
  46. LittleBoy - RequireValidShell
  47. LittleBoy - AuthPAM
  48. LittleBoy - AuthPAMConfig
  49. LittleBoy - AllowRetrieveRestart
  50. LittleBoy - AllowStoreRestart
  51. LittleBoy - TimeoutNoTransfer
  52. LittleBoy - TimeoutStalled
  53. LittleBoy - TimeoutIdle
  54. LittleBoy - Umask
  55. LittleBoy - UserID
  56. LittleBoy - UserName
  57. LittleBoy - GroupID
  58. LittleBoy - GroupName
  59. LittleBoy - ExtendedLog
  60. LittleBoy - ExtendedLog
  61. LittleBoy - ROOT PRIVS at mod_delay.c:299
  62. LittleBoy - RELINQUISH PRIVS at mod_delay.c:301
  63. LittleBoy - ROOT PRIVS at mod_ctrls.c:1618
  64. LittleBoy - RELINQUISH PRIVS at mod_ctrls.c:1620
  65. LittleBoy - mod_lang/0.8: binding to text domain 'proftpd' using locale path '/usr/share/locale'
  66. LittleBoy - retrieved group ID: 1003
  67. LittleBoy - setting group ID: 1003
  68. LittleBoy - SETUP PRIVS at main.c:2824
  69. LittleBoy - ROOT PRIVS at main.c:1895
  70. LittleBoy - RELINQUISH PRIVS at main.c:1902
  71. LittleBoy - ROOT PRIVS at main.c:2228
  72. LittleBoy - opening scoreboard '/var/run/proftpd/proftpd.scoreboard'
  73. LittleBoy - RELINQUISH PRIVS at main.c:2254
  74. LittleBoy - ROOT PRIVS at inet.c:329
  75. LittleBoy - RELINQUISH PRIVS at inet.c:392
  76. LittleBoy - ProFTPD 1.3.1rc2 (devel) (built 2007年 12月 01日 星期六 23:03:52 UTC) standalone mode STARTUP
  77. LittleBoy - ROOT PRIVS at pidfile.c:42
  78. LittleBoy - RELINQUISH PRIVS at pidfile.c:44
  79. LittleBoy - ROOT PRIVS at main.c:1023
  80. LittleBoy - RELINQUISH PRIVS at main.c:1027
  81. LittleBoy - no matching vhost found for 192.168.0.254#21, using DefaultServer 'LittleBoy'
  82. LittleBoy (LittleBoy[192.168.0.254]) - ROOT PRIVS at main.c:872
  83. LittleBoy (LittleBoy[192.168.0.254]) - SETUP PRIVS at main.c:877
  84. LittleBoy (LittleBoy[192.168.0.254]) - FTP session requested from unknown class
  85. LittleBoy (LittleBoy[192.168.0.254]) - performing module session initializations
  86. LittleBoy (LittleBoy[192.168.0.254]) - ROOT PRIVS at mod_delay.c:1221
  87. LittleBoy (LittleBoy[192.168.0.254]) - RELINQUISH PRIVS at mod_delay.c:1223
  88. LittleBoy (LittleBoy[192.168.0.254]) - mod_log: opening ExtendedLog '/var/log/proftpd/login.log'
  89. LittleBoy (LittleBoy[192.168.0.254]) - ROOT PRIVS at mod_log.c:1230
  90. LittleBoy (LittleBoy[192.168.0.254]) - RELINQUISH PRIVS at mod_log.c:1232
  91. LittleBoy (LittleBoy[192.168.0.254]) - mod_log: opening ExtendedLog '/var/log/proftpd/transfer.log'
  92. LittleBoy (LittleBoy[192.168.0.254]) - ROOT PRIVS at mod_log.c:1230
  93. LittleBoy (LittleBoy[192.168.0.254]) - RELINQUISH PRIVS at mod_log.c:1232
  94. LittleBoy (LittleBoy[192.168.0.254]) - ROOT PRIVS at mod_auth.c:150
  95. LittleBoy (LittleBoy[192.168.0.254]) - opening scoreboard '/var/run/proftpd/proftpd.scoreboard'
  96. LittleBoy (LittleBoy[192.168.0.254]) - RELINQUISH PRIVS at mod_auth.c:152
  97. LittleBoy (LittleBoy[192.168.0.254]) - performing ident lookup
  98. LittleBoy (LittleBoy[192.168.0.254]) - ident lookup returned 'UNKNOWN'
  99. LittleBoy (LittleBoy[192.168.0.254]) - connected - local  : 192.168.0.254:21
  100. LittleBoy (LittleBoy[192.168.0.254]) - connected - remote : 192.168.0.254:56325
  101. LittleBoy (LittleBoy[192.168.0.254]) - FTP session opened.
  102. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'USER anonymous' to mod_tls
  103. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'USER anonymous' to mod_core
  104. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'USER anonymous' to mod_core
  105. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'USER anonymous' to mod_delay
  106. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'USER anonymous' to mod_auth
  107. LittleBoy (LittleBoy[192.168.0.254]) - dispatching CMD command 'USER anonymous' to mod_ratio
  108. LittleBoy (LittleBoy[192.168.0.254]) - dispatching CMD command 'USER anonymous' to mod_auth
  109. LittleBoy (LittleBoy[192.168.0.254]) - dispatching POST_CMD command 'USER anonymous' to mod_delay
  110. LittleBoy (LittleBoy[192.168.0.254]) - dispatching LOG_CMD command 'USER anonymous' to mod_log
  111. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_tls
  112. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_core
  113. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_core
  114. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_wrap
  115. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_delay
  116. LittleBoy (LittleBoy[192.168.0.254]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_auth
  117. LittleBoy (LittleBoy[192.168.0.254]) - dispatching CMD command 'PASS (hidden)' to mod_auth
  118. LittleBoy (LittleBoy[192.168.0.254]) - retrieved UID 21 for user 'ftp'
  119. LittleBoy (LittleBoy[192.168.0.254]) - retrieved group ID: 21
  120. LittleBoy (LittleBoy[192.168.0.254]) - retrieved group name: ftp
  121. LittleBoy (LittleBoy[192.168.0.254]) - ROOT PRIVS at mod_auth.c:478
  122. LittleBoy (LittleBoy[192.168.0.254]) - RELINQUISH PRIVS at mod_auth.c:480
  123. LittleBoy (LittleBoy[192.168.0.254]) - ROOT PRIVS at mod_auth.c:965
  124. LittleBoy (LittleBoy[192.168.0.254]) - setting group ID: 21
  125. LittleBoy (LittleBoy[192.168.0.254]) - SETUP PRIVS at mod_auth.c:980
  126. LittleBoy (LittleBoy[192.168.0.254]) - ROOT PRIVS at mod_auth.c:1000
  127. LittleBoy (LittleBoy[192.168.0.254]) - setting group ID: 1003
  128. LittleBoy (LittleBoy[192.168.0.254]) - SETUP PRIVS at mod_auth.c:1015
  129. LittleBoy (LittleBoy[192.168.0.254]) - ftp: Directory /home/ftp/ is not accessible.
  130. LittleBoy (LittleBoy[192.168.0.254]) - dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_delay
  131. LittleBoy (LittleBoy[192.168.0.254]) - dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_log
  132. LittleBoy (LittleBoy[192.168.0.254]) - dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_auth
  133. LittleBoy (LittleBoy[192.168.0.254]) - FTP session closed.
  134. LittleBoy - ROOT PRIVS at mod_ctrls.c:1180
  135. LittleBoy - RELINQUISH PRIVS at mod_ctrls.c:1184
  136. LittleBoy - ProFTPD terminating (signal 2)
  137. LittleBoy - ROOT PRIVS at main.c:1758
  138. LittleBoy - ROOT PRIVS at mod_delay.c:1084
  139. LittleBoy - RELINQUISH PRIVS at mod_delay.c:1086
  140. LittleBoy - RELINQUISH PRIVS at main.c:1780
  141. LittleBoy - ProFTPD 1.3.1rc2 standalone mode SH
复制代码

在客户端匿名登录的输出:
  1. 已连接到 192.168.0.254:21
  2. 220 192.168.0.254 FTP server ready
  3. USER anonymous
  4. 331 Anonymous login ok, send your complete email address as your password
  5. PASS xxxx
  6. 530-Unable to set anonymous privileges.
  7. 530 Login incorrect.
  8. 正在断开与站点 192.168.0.254 的连接
复制代码

配置文件:
/etc/proftpd.conf
  1. #ProFTPD 配置文件──修改时间:2005-04-27
  2. #############################################################################
  3. ServerName          "LittleBoy"
  4. ServerType           standalone
  5. DefaultServer        on
  6. #隐藏服务器版本信息
  7. ServerIdent off
  8. #FTP使用的端口,21是默认
  9. Port                                21
  10. ###############################################################################
  11. ###################################################################################
  12. RequireValidShell        off
  13. AuthPAM                                off
  14. AuthPAMConfig                ftp
  15. ###############################################################################
  16. ###############################################################################
  17. #续传文件
  18. AllowRetrieveRestart on
  19. AllowStoreRestart  on
  20. #超时限制
  21. TimeoutNoTransfer                600
  22. TimeoutStalled                        600
  23. TimeoutIdle                        1200
  24. #设置最大尝试次数
  25. #MaxLoginAttempts 3
  26. #防止DoS攻击,设置最大子进程数为20.如果你要一次多于这个进程数,增加下面的值
  27. #这个设置只有standalone 时有效,在inetd模式你应设置inetd服务器的每个服务数
  28. #量进程数,例如xinetd
  29. MaxInstances                        20
  30. ###############################################################################
  31. #掩码 Umask 022可以有效地防止文件被其他用户或同组用户改写
  32. Umask                                022
  33. #磁盘配额
  34. #Quotas                                on
  35. #上传与下载比率
  36. #Ratios                                on
  37. ###############################################################################
  38. # Set the user and group under which the server will run.
  39. User                proftpd
  40. Group                proftpd
  41. #禁止root登录
  42. #RootLogin off
  43. #DefaultRoot ~
  44. #禁止系统普通用户登录
  45. #<Limit LOGIN>
  46. #        DenyAll
  47. #</Limit>
  48. ###############################################################################
  49. ###############################################################################
  50. #启用日志
  51. LogFormat       auth            "IP:%a Name:%u PASSWD:%A %r At:%t"
  52. LogFormat       readwrite            "IP:%a Name:%u PASSWD:%A %m %F At:%t UsedTime:%T"
  53. #以write的日志格式记录READ,WRITE的日志
  54. ExtendedLog     /var/log/proftpd/transfer.log WRITE,READ readwrite
  55. #以auth的日志格式记录LOGIN的日志
  56. ExtendedLog     /var/log/proftpd/login.log AUTH auth
  57. ##根据自己的需要定制:
  58. ##       %a:客户ip
  59. ##       %A:匿名用户名
  60. ##       %b:发送请求的字节数
  61. ##       %d:目录名(相对路径)
  62. ##       %D:目录名(绝对路径)
  63. ##       %f:上传或下载的文件名(绝对路径)
  64. ##       %F:上传或下载的文件名(相对路径)
  65. ##       %h:客户的域名
  66. ##       %L:本服务器ip
  67. ##       %m:客户发送的命令
  68. ##       %p:本服务器的端口
  69. ##       %P:服务进程的id
  70. ##       %r:客户发送的整条命令
  71. ##       %t:本地时间
  72. ##       %T:传送文件所用的时间(秒)
  73. ##       %u:客户登陆的用户名
  74. ###############################################################################
  75. ###############################################################################
  76. #一个基本的匿名帐号,带有上传目录
  77. <Anonymous /home/ftp>
  78.    RequireValidShell        no
  79.    User                                ftp
  80.    Group                        ftp
  81.    # 用 "anonymous" 代替 "proftpd" 登录
  82.    UserAlias                anonymous      ftp
  83.    AnonRequirePassword off
  84.    # Cosmetic changes, all files belongs to ftp user
  85.    DirFakeUser        on      ftp
  86.    DirFakeGroup on                 ftp
  87.    # 限制每个匿名帐号连接数
  88.    MaxClients                        10        "最大连接10达到了,你等会再来"
  89.    MaxClientsPerHost         3         "对不起,一个IP只允许3个连接"
  90.    
  91.    #下载与上传速率的设置,单位为KByte/s
  92.    TransferRate RETR 4000 user ftp
  93.    TransferRate STOR 2000 user ftp
  94.    #登录时的欢迎信息
  95.    DisplayLogin                        .welcome.msg
  96.    #对这个服务器的根目录下的所有的子目录限制写操作
  97.    <Limit WRITE>
  98.               DenyAll
  99.    </Limit>
  100.    #开匿名上传目录,只能上传而不能下载及修改原有文件
  101.    <Directory upload>
  102.              Umask        022  022
  103.                        <Limit READ WRITE>
  104.                           DenyAll
  105.                       </Limit>
  106.                       <Limit MKD STOR>
  107.                           AllowAll
  108.                       </Limit>
  109.    </Directory>
  110. </Anonymous>
  111. #匿名设置完毕
  112. #
复制代码
 楼主| 发表于 2007-12-2 11:38:04 | 显示全部楼层
问题原来在于:acl

USE="-acl" emerge proftpd
去掉proftpd的acl就没有这样的问题的。 内核里reiserfs也开了acl的:
ReiserFS POSIX Access Control Lists
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表