2

Фон

Вчера утром я настраивал установку 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. и запустил скрипт на моем всервере.

проблема

Большая часть системы снова работает. 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

0