June 9, 2018

Linux администраторы, не делайте так

 

Я, конечно, молодец, но всё же выполнил от рута команду:

chown -R root:root .*

Это мало того, что поменяло скопированные с юсера настройки bash (.bashrc .bash_profile), но и поймало скрытый "..", а он, как известно ведет в корень.
Это ужас!!!
И повторил на другой машине, сделав так:

chown -R root:root ~/.*

Напрасно я думал, что это поможет. А получилось как и прошлый раз. Правильно будет так:

chown -R root:root ~

Проблема, после перезагрузки не запускается ssh демон из-за прав на ключи. Оригинальные выглядят так:

-rw-r--r--. 1 root root     581843 Apr 11 07:21 moduli-rw-r--r--. 1 root root       2276 Apr 11 07:21 ssh_config-rw-------. 1 root root       4028 Feb  6 13:40 sshd_config-rw-------. 1 root root       3907 Oct 20  2017 sshd_config.rpmnew-rw-r-----. 1 root ssh_keys    227 Feb  5 20:45 ssh_host_ecdsa_key-rw-r--r--. 1 root root        162 Feb  5 20:45 ssh_host_ecdsa_key.pub-rw-r-----. 1 root ssh_keys    387 Feb  5 20:45 ssh_host_ed25519_key-rw-r--r--. 1 root root         82 Feb  5 20:45 ssh_host_ed25519_key.pub-rw-r-----. 1 root ssh_keys   1679 Feb  5 20:45 ssh_host_rsa_key-rw-r--r--. 1 root root        382 Feb  5 20:45 ssh_host_rsa_key.pub

После восстановления владельцев удалось подключиться пользователем, но рут то по ssh не ходит. И su от пользователя не сработало.
Чужой лайфхак по переустановке всего, гугл находит первой ссылкой по yum reinstall:
Note, that empty directory is required for a successful command execution.
More elegant solution, without empty directory, is:

yum reinstall \*

Ну и будут проблемы с /tmp и файлами блокировки в /var/run