ProFTPD больше не работает должным образом после аварии CHMOD
Фон
Вчера утром я настраивал установку 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
0 ответов на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
8
Ожидание ноутбука в Linux / Ubuntu
-
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
1
Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
3
Могу ли я запустить Microsoft Office 2007 под Ubuntu?