ProFTPD não funciona mais corretamente após um acidente chmod

2

Plano de fundo

Ontem de manhã eu estava configurando uma instalação do WordPress no meu vserver via SSH e estraguei tudo como uma DAU adequada (logado como root , claro). : (

Eu queria definir o diretório plugins como 755 e esqueci o . no caminho. Então, acabei executando chmod -R 755 /* em vez de chmod -R 755 ./* .

Quando percebi o meu erro, o script já estava rodando por 2-3 segundos, antes de martelar Ctrl+C .

Como seria de se esperar, isso realmente bagunçou meu sistema. No entanto, consegui a maior parte do problema com uma ajuda de amigos. Felizmente, ele tem o mesmo vserver no mesmo provedor.

Eu "copiei" as permissões de arquivo de sua instalação usando find /* -exec stat -c "chmod %a \"%n\"" {} + >~/default_permissions. e executei o script no meu vserver.

Problema

A maior parte do sistema parece funcionar novamente. Plesk, HTTPD, Mail, SSH. Mas a única coisa que ainda não está funcionando corretamente é o ProFTPD. E não consigo descobrir por quê. Não consigo encontrar nenhum arquivo de registro relevante, além de usr/local/psa/var/log/ftp_tls.log e /usr/local/psa/var/log/xferlog . Mas estes não contêm mensagens de erro relacionadas.

Sintomas

Quando eu conecto via FTP normal, ele fecha a conexão instantaneamente na conexão, sem pedir nome de usuário / senha:

root@hostname:/# ftp hostname.tld
Connected to hostname.tld.
421 Service not available, remote server has closed connection

Quando me conecto via sftp, ele só funciona quando eu faço o login como root , mas não como usuário normal de FTP.

root@hostname:/# sftp -v [email protected]
Connecting to hostname.tld...
OpenSSH_5.3p1 Debian-3ubuntu7.1, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to hostname.tld [x.x.x.x] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu7.1
debug1: match: OpenSSH_5.3p1 Debian-3ubuntu7.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7.1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'hostname.tld' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: password
[email protected]'s password:
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending subsystem: sftp
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
Transferred: sent 1424, received 1960 bytes, in 0.0 seconds
Bytes per second: sent 31175.5, received 42910.0
debug1: Exit status 1
Connection closed
root@hostname:/#

Tenho quase 100% de certeza de que isso provavelmente se deve a alguns arquivos que ainda possuem permissões incorretas. Mas estou um pouco perdido aqui ... Qualquer ajuda seria muito apreciada!

Editar

Eu tentei reinstalar o ProFTPD como sugerido pela MariusMatutiae. Infelizmente não funcionou.

root@hostname:~# sudo apt-get install --reinstall proftpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting proftpd-basic instead of proftpd
The following packages were automatically installed and are no longer required:
  libcrypt-rijndael-perl psa11-php-fakepackage libcrypt-cbc-perl
Use 'apt-get autoremove' to remove them.
Suggested packages:
  proftpd-doc proftpd-mod-mysql proftpd-mod-pgsql proftpd-mod-ldap proftpd-mod-odbc proftpd-mod-sqlite
The following NEW packages will be installed:
  proftpd-basic
0 upgraded, 1 newly installed, 0 to remove and 90 not upgraded.
Need to get 929kB of archives.
After this operation, 2294kB of additional disk space will be used.
Get:1 ftp://ftp.hosteurope.de/mirror/archive.ubuntu.com/ lucid-security/universe proftpd-basic 1.3.2c-1ubuntu0.1 [929kB]
Fetched 929kB in 0s (6206kB/s)
Preconfiguring packages ...
Selecting previously deselected package proftpd-basic.
(Reading database ... 99546 files and directories currently installed.)
Unpacking proftpd-basic (from .../proftpd-basic_1.3.2c-1ubuntu0.1_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/proftpd-basic_1.3.2c-1ubuntu0.1_amd64.deb (--unpack):
 trying to overwrite '/etc/pam.d/proftpd', which is also in package psa-proftpd 0:1.3.4c-ubuntu10.04.build115130528.15
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/proftpd-basic_1.3.2c-1ubuntu0.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Eu então tentei reinstalar o psa-proftpd, mas também não funcionou.

root@hostname:~# sudo apt-get install --reinstall psa-proftpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reinstallation of psa-proftpd is not possible, it cannot be downloaded.
The following packages were automatically installed and are no longer required:
  libcrypt-rijndael-perl psa11-php-fakepackage libcrypt-cbc-perl
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 90 not upgraded.

Editar 2

Problema resolvido

Descobri que o arquivo /var/log/daemon.log recebeu uma entrada toda vez que tentei uma conexão ftp:

proftpd[17762]: Fatal: ScoreboardFile: : unable to use '/var/run/proftpd_scoreboard': Operation not permitted on line 72 of '/etc/proftpd.conf'

Depois de um pouco de Google eu encontrei esta postagem: link

Esse cara teve os mesmos problemas que eu. Depois de alterar as permissões, ele parou de trabalhar para ele.

Por isso, comparei novamente as permissões das pastas /var/ e /var/run/ dos dois servidores e alterei-a na minha de acordo com o outro servidor ... E agora posso me conectar ao FTP novamente! WHEE! : D

    
por Mario Werner 20.12.2015 / 11:06

0 respostas