Вы также должны проверить, чтобы ваши ошибки .xsession (not -old) не быстро росли; это случается нечасто.
Я установил задание cron, чтобы удалить его ежедневно, создав файл cron:
crontab -e
и поместив эту строку в:
0 0 * * * rm /PATH-TO-HOME/.xsession-errors
(заменив PATH-TO-HOME домашним / jiewmeng в этом случае)
Есть несколько других способов предотвратить это (обратите внимание, что оба эти метода отключают ведение журнала, поэтому, если у вас есть какие-либо другие странности с вашим графическим интерфейсом, вы также можете потерять полезную информацию о протоколировании)
. Файл с ошибками xxession огромен. Как отключить?
изменяет / etc / X11 / Xsession, чтобы указать, что запись ошибок в файл / dev / null
и .xsession-errors огромна. Как я могу отключить? просто удаляет файл и воссоздает его как символическую ссылку на /dev/null.
В качестве следующего шага после рекомендации sputnik вы можете сделать следующее: при новой установке сервера ubuntu с той же версией, что и ваш сломанный, запустите это:
find /etc -type f -executable | awk '{printf("chmod a+x %s\n",$0);}' > setexec.sh
Затем импортируйте скрипт setexec.sh (используя wget или ftp) и выполнить его на сломанном сервере. на ubuntu 13.04 этот шаг восстановил большинство функций.
gksudo chown -R root:root /etc/
gksudo chmod -R u+x /etc/
gksudo chmod -R a+r /etc/
должен работать. Это даст разрешения на чтение и выполнение всего в / etc /. gksudo не зависит от файла sudoers, который работает как обычный sudo. Это даст вам рабочий момент, чтобы вернуть все остальное.
Что бы я сделал:
$ sudo su
chown -R root:root /etc
find /etc -type f -exec chmod 644 {} +
find /etc -type d -exec chmod 755 {} +
chmod 755 /etc/init.d/* /etc/rc.local /etc/network/* /etc/cron.*/*
chmod 400 /etc/ssh/ssh*key
Возможно, этого недостаточно, но без какой-либо резервной копии это хорошее начало.
В качестве следующего шага после рекомендации sputnik вы можете сделать следующее: при новой установке сервера ubuntu с той же версией, что и ваш сломанный, запустите это:
find /etc -type f -executable | awk '{printf("chmod a+x %s\n",$0);}' > setexec.sh
Затем импортируйте скрипт setexec.sh (используя wget или ftp) и выполнить его на сломанном сервере. на ubuntu 13.04 этот шаг восстановил большинство функций.
gksudo chown -R root:root /etc/
gksudo chmod -R u+x /etc/
gksudo chmod -R a+r /etc/
должен работать. Это даст разрешения на чтение и выполнение всего в / etc /. gksudo не зависит от файла sudoers, который работает как обычный sudo. Это даст вам рабочий момент, чтобы вернуть все остальное.
Что бы я сделал:
$ sudo su
chown -R root:root /etc
find /etc -type f -exec chmod 644 {} +
find /etc -type d -exec chmod 755 {} +
chmod 755 /etc/init.d/* /etc/rc.local /etc/network/* /etc/cron.*/*
chmod 400 /etc/ssh/ssh*key
Возможно, этого недостаточно, но без какой-либо резервной копии это хорошее начало.