有很多方法可以解决这个问题。我做过的一个方法是:
adduser username
chown -R username /directory/
chmod -R 755 /directory/
我在 Windows 上使用 FlashFXP,结果
[R] USER xxx
[R] 331 Password required for xxx
[R] PASS (hidden)
[R] 530 Login incorrect.
[R] Connection failed
但我想创建一个 root 权限的 ftp 用户~目录。
还尝试过:
添加/bin/false
到/etc/shells
nano /etc/shells
useradd userftp -p mypass -d /home -s /bin/false
passwd userftp
/etc/init.d/proftpd start
也无法登入!
proftpd配置文件
ServerName "Myserver"
ServerType standalone
Port 21
PassivePorts 35000 35999
UseReverseDNS off
TimesGMT off
TimeoutLogin 120
TimeoutIdle 600
TimeoutNoTransfer 900
TimeoutStalled 3600
ScoreboardFile /var/run/proftpd/proftpd.pid
TransferLog /var/log/proftpd/xferlog.legacy
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"
#DON'T modify this log format. It's used by DirectAdmin to determine user usage
LogFormat userlog "%u %b %m %a"
ExtendedLog /var/log/proftpd/xxx.xxx.xxx.xxx.bytes WRITE,READ userlog
AuthUserFile /etc/proftpd.passwd
DefaultServer on
AuthOrder mod_auth_file.c
#AuthPAM off
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/proftpd.tls.log
TLSProtocol SSLv23
#TLSProtocol TLSv1
TLSVerifyClient off
TLSRequired off
#Certificates
TLSRSACertificateFile /etc/exim.cert
TLSRSACertificateKeyFile /etc/exim.key
#TLSCACertificateFile /etc/ftpd/root.cert.pem
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
</IfModule>
<Global>
PassivePorts 35000 35999
DeferWelcome on
RequireValidShell no
DefaultRoot ~
DirFakeUser on ftp
DirFakeGroup on ftp
User ftp
Group ftp
#UserAlias anonymous ftp
AllowStoreRestart on
AllowRetrieveRestart on
ListOptions -a
ShowSymlinks on
<IfModule mod_facts.c>
##Enable this with proftpd 1.3.4b+ to fix FileZilla MLSD
##http://www.proftpd.org/docs/modules/mod_facts.html#FactsOptions
# FactsOptions UseSlink
</IfModule>
Umask 022
DisplayLogin welcome.msg
DisplayChdir readme
AllowOverwrite yes
IdentLookups off
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
ExtendedLog /var/log/proftpd/auth.log AUTH auth
#
# Paranoia logging level....
#
#ExtendedLog /var/log/proftpd/paranoid.log ALL default
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/proftpd.tls.log
TLSRSACertificateFile /etc/exim.cert
TLSRSACertificateKeyFile /etc/exim.key
</IfModule>
</Global>
Include /etc/proftpd.vhosts.conf
答案1
根据您的配置,您应该更改
AuthOrder mod_auth_file.c
经过
AuthOrder mod_auth_pam.c* mod_auth_unix.c
因为mod_auth_file.c
仅用于 proftpd 特殊身份验证文件。
您可以在此处查阅 AuthOrder 选项 ==>Proftpd AuthOrder 指令