Измененный перманент на/etc/skel скрытых файлах, заблокированных из bash/sudo

Фон: Я сделал ошибку новичка на VM Ubuntu 14.04 и рекурсивно изменил полномочия на /etc папка. Я восстанавливал их к значению по умолчанию 1 каталог за один раз, с помощью нового VM в качестве модели и ища верные полномочия по apt-browse.org, когда файлы не существуют на 'образцовом' VM. Когда я добрался до /etc/skel каталог, полномочия были 660 на .bash_logout, .bashrc, и .profile, но согласно модели и apt-browse.org, они должны быть 644. После просмотра к /etc/skel, Я работал sudo chmod 644 .* и затем работал ls -la.

От той точки вперед я больше не мог вызывать sudo, и при этом я не мог выполнить команды оболочки, включая просмотр, список файлов, и т.д. Посмотрите

x@Y:/etc/sgml$ cd /etc/skel/ && ls -la
total 28
drwxr-xr-x   2 root root  4096 Oct 10  2014 .
drwxr-xr-x 129 root root 12288 Sep 12 15:39 ..
-rw-rw----   1 root root   220 Mar 18  2013 .bash_logout
-rw-rw----   1 root root  3637 Apr 23  2014 .bashrc
-rw-rw----   1 root root   675 Mar 28  2013 .profile
x@Y:/etc/skel$ sudo chmod 644 *
chmod: cannot access '*': No such file or directory
x@Y:/etc/skel$ sudo chmod 644 .*
x@Y:/etc/skel$ ls -la
ls: cannot open directory .: Permission denied
x@Y:/etc/skel$ sudo ls -la
sudo: unable to stat /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
x@Y:/etc/skel$ sudo su
sudo: unable to stat /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Исходный снимок экрана

Кроме того, веб-сайты на сервере теперь бросают 403 ошибки: You don't have permission to access / on this server. Server unable to read htaccess file, denying access to be safe

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

4
задан 15 September 2016 в 01:42

1 ответ

Вы работали

cd /etc/skel
sudo chmod 644 .*

.* найдет все .files (включая каталоги) в текущем рабочем каталоге и самом текущем рабочем каталоге и родительском каталоге. Вы применили режим 644 к ним:

.            <-- problem here as it's the working directory
..           <-- big problem here as it's the /etc directory
.bash_logout  
.bashrc  
.config      <-- problem here as it's a directory
.profile

Причина ничто не работало, состояла в том, что Вы удалили, выполняют разрешение на текущем рабочем каталоге. Это означает, что у Вас не было разрешения быть там!

Каталоги должны иметь, выполняют разрешение, которое будет вводиться или искаться. Это - вид пограничного случая, чтобы быть в каталоге, когда выполняются, разрешение удалено из него, но в той ситуации Вы доберетесь permission denied почти для каждой команды.

Вы можете cd из каталога, но Вы не сможете исправить полномочия без физического доступа потому что sudoers файл (в /etc) не может быть считан.

Вы можете также

  • начальная загрузка в режиме восстановления, запустите корневую оболочку и смонтируйте запись чтения файловой системы путем выполнения mount -o remount,rw /

  • начальная загрузка в живую сессию и монтирует корневой раздел: sudo mount /dev/sdxY /mnt (замена /dev/sdxY с корректным названием корневого раздела) затем cd /mnt

Вы не сделали chmod -R (к счастью!), таким образом, Вы только имеете, чинят три вещи. В восстановлении делают (то же, но с sudo и без первого / в путях от /mnt на живой сессии)

chmod 755 /etc
chmod 755 /etc/skel
chmod 755 /etc/skel/.config

восстановить корректные полномочия.

2
ответ дан 1 December 2019 в 10:17

Другие вопросы по тегам:

Похожие вопросы: