我有一个安装了proftpd的freebsd服务器。当我的目录chmod 777时,我可以覆盖文件,但是使用对文件夹的755权限,我不能覆盖文件夹中的文件。
在conf文件中:我将“AllowOverwrite”改为“on”,将用户和组更改为“root”,但这没有帮助。
如何修复此错误?
这是我的proftpd.conf文件:
ServerName "Servername"
ServerType standalone
ServerIdent on "Servers identifying string"
DeferWelcome on
DefaultServer on
DisplayLogin .welcome # Textfile to display on login
DisplayConnect .connect # Textfile to display on connection
#DisplayFirstChdir .firstchdir # Textfile to display on first changedir
UseReverseDNS off
IdentLookups off
Port 21
PassivePorts 60000 65000
Umask 022
MaxInstances 15
MaxClientsPerHost 10 "Only %m connections per host allowed"
MaxClients 10 "Only %m total simultanious logins allowed"
MaxHostsPerUser 1
User root
Group root
ScoreboardFile /var/log/scoreboard
# Some logging formats
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"
# Define log-files to use
TransferLog /var/log/proftpd.xferlog
ExtendedLog /var/log/proftpd.access_log WRITE,READ write
ExtendedLog /var/log/proftpd.auth_log AUTH auth
ExtendedLog /var/log/proftpd.paranoid_log ALL default
SQLLogFile /var/log/proftpd.mysql
# Set up authentication via SQL
# ===========
AuthOrder mod_sql.c
SQLAuthTypes Backend
SQLConnectInfo proftpd_admin@localhost proftpd Icl0ud
SQLUserInfo usertable userid passwd uid gid homedir shell
SQLGroupInfo grouptable groupname gid members
SQLUserWhereClause "disabled=0 and (NOW()<=expiration or expiration=-1 or expiration=0)"
# Log the user logging in
SQLLog PASS counter
SQLNamedQuery counter UPDATE "lastlogin=now(), count=count+1 WHERE userid='%u'" usertable
# logout log
SQLLog EXIT time_logout
SQLNamedQuery time_logout UPDATE "lastlogout=now() WHERE userid='%u'" usertable
# display last login time when PASS command is given
SQLNamedQuery login_time SELECT "lastlogin from usertable where userid='%u'"
SQLShowInfo PASS "230" "Last login was: %{login_time}"
# xfer Log in mysql
SQLLog RETR,STOR transfer1
SQLNamedQuery transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'c', NULL" xfer_stat
SQLLOG ERR_RETR,ERR_STOR transfer2
SQLNamedQuery transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'i', NULL" xfer_stat
AllowStoreRestart on
AllowRetrieveRestart on
RequireValidShell off
PathDenyFilter "\\.ftp)|\\.ht)[a-z]+$"
DefaultRoot ~
DenyFilter \*.*/
<Directory /usr/home/*>
AllowOverwrite on
HideNoAccess off
<Limit READ>
AllowAll
</Limit>
<Limit WRITE>
DenyGroup !admins
</Limit>
</Directory>
<Directory /*>
AllowOverwrite on
HideNoAccess on
<Limit READ>
DenyGroup !admins
</Limit>
<Limit STOR MKD>
AllowAll
</Limit>
</Directory>发布于 2011-12-27 15:16:46
你是管理员组的吗?
DenyGroup !admins
发布于 2023-03-02 12:22:52
我的sudo journalctl -ae proftpd's输出(Debian)
… systemd[1]: Starting proftpd.service - ProFTPD FTP Server...
… proftpd[2383423]: Checking syntax of configuration file
… proftpd[2383423]: mod_dso/0.5: unable to load 'mod_rewrite.c'; check to see if '/usr/lib/proftpd/mod_rewrite.la' exists
… proftpd[2383423]: fatal: LoadModule: error loading module 'mod_rewrite.c': No such file or directory on line 74 of '/etc/proftpd/modules.conf'
… proftpd[2383423]: warning: unable to include '/etc/proftpd/modules.conf': Operation not permitted
… proftpd[2383423]: mod_memcache/0.1: compiled using libmemcached-1.0.18 headers, but linked to libmemcached-1.1.3 library
… proftpd[2383424]: mod_dso/0.5: unable to load 'mod_rewrite.c'; check to see if '/usr/lib/proftpd/mod_rewrite.la' exists
… proftpd[2383424]: fatal: LoadModule: error loading module 'mod_rewrite.c': No such file or directory on line 74 of '/etc/proftpd/modules.conf'
… proftpd[2383424]: warning: unable to include '/etc/proftpd/modules.conf': Operation not permitted
… proftpd[2383424]: mod_memcache/0.1: compiled using libmemcached-1.0.18 headers, but linked to libmemcached-1.1.3 library
… proftpd[2383425]: localhost - ProFTPD 1.3.8 (stable) (built Thu Dec 15 2022 21:47:50 UTC) standalone mode STARTUP
… systemd[1]: Started proftpd.service - ProFTPD FTP Server.您可以在上面看到fatal。因此,/etc/proftpd/proftpd.conf从未加载过,因此使用了默认的内置配置。
就我而言,我不得不:
LoadModule mod_rewrite.c在/etc/proftpd/modules.conf中的注释sudo systemctl restart proftpd最糟糕的是(特别是出于安全原因),proftpd被编程为在发生致命错误后继续加载,而忽略了所有的信任。
https://serverfault.com/questions/344348
复制相似问题