ProFTPD больше не работает должным образом после аварии CHMOD

408
Mario Werner

Фон

Вчера утром я настраивал установку WordPress на моем vserver через SSHи облажался, как правильный DAU (вошел как rootконечно). :(

Я хотел установить pluginsкаталог 755и забыл .в пути. Так что я закончил выполнение chmod -R 755 /*вместо chmod -R 755 ./*.

Когда я понял свою ошибку, сценарий уже работал в течение 2-3 секунд, прежде чем я забил Ctrl+C.

Как и следовало ожидать, это действительно испортило мою систему. Тем не менее, я получил большую часть исправлений с помощью друзей. У него, к счастью, один и тот же всервер у того же провайдера.

Я "скопировал" права доступа к файлу из его установки с помощью find /* -exec stat -c "chmod %a \"%n\"" {} + >~/default_permissions.и запустил скрипт на моем vserver.

проблема

Большая часть системы снова работает. Plesk, HTTPD, Mail, SSH. Но единственное, что до сих пор не работает должным образом, это ProFTPD. И я не могу понять, почему. Я не могу найти соответствующие файлы журналов, кроме usr/local/psa/var/log/ftp_tls.logи /usr/local/psa/var/log/xferlog. Но они не содержат связанных сообщений об ошибках.

симптомы

Когда я подключаюсь через обычный FTP, он мгновенно закрывает соединение при подключении, не спрашивая имя пользователя / пароль:

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

Когда я подключаюсь через sftp, он работает только когда я вхожу как root, но не как обычный пользователь ftp.

root@hostname:/# sftp -v user@hostname.tld 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 user@hostname.tld's password: debug1: Authentication succeeded (password). debug1: channel 0: new [client-session] debug1: Requesting no-more-sessions@openssh.com 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 eow@openssh.com 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:/# 

Я почти на 100% уверен, что это, скорее всего, связано с тем, что некоторые файлы по-прежнему имеют неправильные разрешения. Но я немного потерян здесь ... Любая помощь будет высоко ценится!

редактировать

Я попытался переустановить ProFTPD, как предложено MariusMatutiae. К сожалению, это не сработало.

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) 

Затем я попытался переустановить psa-proftpd, но это тоже не сработало.

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. 

Редактировать 2

Задача решена

Я обнаружил, что в /var/log/daemon.logфайл добавляется запись каждый раз, когда я пытаюсь установить FTP-соединение:

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

После небольшого количества поисков в Google я нашел этот пост: https://forums.proftpd.org/smf/index.php?topic=3516.0

У этого парня были такие же проблемы, как у меня. После смены разрешений у него перестало работать.

Так что я снова сравнил права доступа к /var/и /var/run/папок обоих серверов и изменили его на шахте в соответствии с другим сервером ... И теперь я могу подключиться к FTP снова! Whee! : D

2
Почему бы вам просто не `apt-get install --reinstall` ваш пакет proftpd? Вы можете отложить файлы конфигурации довольно легко, тогда переустановка намного проще, чем поиск иголки в стоге сена. MariusMatutiae 8 лет назад 2
@MariusMatutiae Да, вы правы. Но я не уверен, что это не испортит ничего, связанного с Plesk. Mario Werner 8 лет назад 0
@MariusMatutiae Понял. Mario Werner 8 лет назад 0

0 ответов на вопрос