Почему бы не chmod 777 / opt? [dубликат]

Для тех, кто находит эту тему, гораздо проще и быстрее просто использовать инструмент, предназначенный для восстановления данных, например, ddrescue. Сначала он пытается спасти хорошие части в случае ошибок чтения.

Запустите его дважды:

Первый раунд, скопируйте каждый блок без ошибки чтения и запишите ошибки в rescue.og.

sudo ddrescue -f -n /dev/sdX /dev/sdY rescue.log

Второй раунд, скопируйте только плохие блоки и попробуйте 3 раза, чтобы прочитать из источника, прежде чем сдаваться.

sudo ddrescue -d -f -r3 /dev/sdX /dev/sdY rescue.log

Теперь вы можете установить новый диск и проверьте файловую систему на наличие повреждений.

Дополнительная информация: https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html

131
задан 10 October 2013 в 07:41

4 ответа

777 - это плохое разрешение в целом, и я покажу вам, почему.

Несмотря на то, что он может выглядеть в Казино или Лас-Вегасе, 777 не означает, что вы используете джекпот. Скорее, джекпот для тех, кто хочет изменить ваши файлы. 777 (и его уродливый двоюродный брат 666) позволяют разрешать чтение и запись (а в случае с 777, выполнение) другим. Вы можете узнать больше о том, как работают права доступа к файлам, но вкратце есть три группы разрешений: владелец, группа и другие. Установив разрешение на 6 или 7 (rw- или rwx) для других, вы даете любому пользователю возможность редактировать и управлять этими файлами и папками. Обычно, как вы можете себе представить, это плохо для безопасности.

Вот мой пример:

marco@desktop:~/Projects/AskUbuntu/20105$ cd .. marco@desktop:~/Projects/AskUbuntu$ chmod 0777 20105 marco@desktop:~/Projects/AskUbuntu$ cd 20105/ marco@desktop:~/Projects/AskUbuntu/20105$ ls -lah total 8.0K drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:32 . drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 .. marco@desktop:~/Projects/AskUbuntu/20105$ touch test marco@desktop:~/Projects/AskUbuntu/20105$ chmod 0666 test

До сих пор я создал папку и сделал файл с «плохими» разрешениями (777 и 666). Теперь я переключусь на другого пользователя и попытаюсь манипулировать этими файлами.

marco@desktop:~/Projects/AskUbuntu/20105$ sudo su - malicious malicious@desktop:~$ cd /home/marco/Projects/AskUbuntu/20105 malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls test malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls -lah total 8.0K drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:33 . drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 .. -rw-rw-rw- 1 marco marco 0 2011-01-04 20:33 test malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ touch bad malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ echo "OVERWRITE" > test malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cat test OVERWRITE

Как этот «вредоносный» пользователь, я смог поместить файлы в каталог и вставить текст в уже существующие файлы. Если ниже, в каталоге с 755 и файлами с 644, я могу видеть внутренние файлы и каталоги, но я не могу редактировать файлы и не создавать новые:

malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cd /home/marco/Projects malicious@desktop:/home/marco/Projects$ touch hey touch: cannot touch `hey': Permission denied

Для разрешений Apache, re захочется придерживаться 0755 и 0644 (AKA umask 022) для папок и файлов соответственно. Это позволяет вам, как владельцу файлов, редактировать и манипулировать ими, предоставляя Apache минимальные уровни доступа, необходимые для работы.

74
ответ дан 18 July 2018 в 09:15

777 - это плохое разрешение в целом, и я покажу вам, почему.

Несмотря на то, что он может выглядеть в Казино или Лас-Вегасе, 777 не означает, что вы используете джекпот. Скорее, джекпот для тех, кто хочет изменить ваши файлы. 777 (и его уродливый двоюродный брат 666) позволяют разрешать чтение и запись (а в случае с 777, выполнение) другим. Вы можете узнать больше о том, как работают права доступа к файлам, но вкратце есть три группы разрешений: владелец, группа и другие. Установив разрешение на 6 или 7 (rw- или rwx) для других, вы даете любому пользователю возможность редактировать и управлять этими файлами и папками. Обычно, как вы можете себе представить, это плохо для безопасности.

Вот мой пример:

marco@desktop:~/Projects/AskUbuntu/20105$ cd .. marco@desktop:~/Projects/AskUbuntu$ chmod 0777 20105 marco@desktop:~/Projects/AskUbuntu$ cd 20105/ marco@desktop:~/Projects/AskUbuntu/20105$ ls -lah total 8.0K drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:32 . drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 .. marco@desktop:~/Projects/AskUbuntu/20105$ touch test marco@desktop:~/Projects/AskUbuntu/20105$ chmod 0666 test

До сих пор я создал папку и сделал файл с «плохими» разрешениями (777 и 666). Теперь я переключусь на другого пользователя и попытаюсь манипулировать этими файлами.

marco@desktop:~/Projects/AskUbuntu/20105$ sudo su - malicious malicious@desktop:~$ cd /home/marco/Projects/AskUbuntu/20105 malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls test malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls -lah total 8.0K drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:33 . drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 .. -rw-rw-rw- 1 marco marco 0 2011-01-04 20:33 test malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ touch bad malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ echo "OVERWRITE" > test malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cat test OVERWRITE

Как этот «вредоносный» пользователь, я смог поместить файлы в каталог и вставить текст в уже существующие файлы. Если ниже, в каталоге с 755 и файлами с 644, я могу видеть внутренние файлы и каталоги, но я не могу редактировать файлы и не создавать новые:

malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cd /home/marco/Projects malicious@desktop:/home/marco/Projects$ touch hey touch: cannot touch `hey': Permission denied

Для разрешений Apache, re захочется придерживаться 0755 и 0644 (AKA umask 022) для папок и файлов соответственно. Это позволяет вам, как владельцу файлов, редактировать и манипулировать ими, предоставляя Apache минимальные уровни доступа, необходимые для работы.

74
ответ дан 24 July 2018 в 19:17

По сути, наличие разрешений 777 не позволит вам взломать самостоятельно, но если кто-то получит какой-либо файл в любом месте, его можно использовать для эскалации разрешений и получения полного контроля над вашим компьютером. Хуже всего то, что ваши разрешения используют «7» - это означает права на чтение, запись и выполнение.

Предположим, что хакер хочет захватить ваш компьютер. Он может подключиться к вашему компьютеру с помощью веб-браузера, подключившись к http://yourcomputer.example.com:80/. Если у вас есть доступные страницы, позволяющие ему загружать изображения, он может переименовать исполняемый файл, чтобы завершить его с помощью «.jpg» и загрузить его на свой сервер. Теперь он просматривает этот файл в своем веб-браузере и запускает его, потому что linux не заботится о расширении, он видит только, что это исполняемый файл. Это может не получить его много, но из-за того, что он работает вообще, он знает, что он работает как пользователь Apache. Затем он загружает измененную версию, которая будет редактировать файлы конфигурации apache, предоставляя ему еще больший доступ - скажем так, что apache выводит содержимое / etc / passwd. Затем он может использовать эту информацию, чтобы узнать, какие пользователи существуют в системе. Затем он может подключиться с помощью ssh и пробовать общие пароли для входа в систему в качестве этих пользователей. Если это не сработает, он активирует атаку полной грубой силы. Если он попадает в качестве пользователя с доступом sudo, то вся система принадлежит ему.

Теперь вы можете сказать, что это маловероятно, или что это не так, как работает настоящий хакер. Это правда, но дело в том, что, установив файлы в chmod 777, вы открыли дыру в безопасности, которую может использовать хакер, но он считает нужным.

Если вы вместо этого следуете за http://yourcomputer.example.com:80/ , то это отверстие не происходит, и ваша система гораздо труднее взломать. Несмотря на то, что делать что-то труднее, вы все равно должны сделать все возможное.

13
ответ дан 18 July 2018 в 09:15

По сути, наличие разрешений 777 не позволит вам взломать самостоятельно, но если кто-то получит какой-либо файл в любом месте, его можно использовать для эскалации разрешений и получения полного контроля над вашим компьютером. Хуже всего то, что ваши разрешения используют «7» - это означает права на чтение, запись и выполнение.

Предположим, что хакер хочет захватить ваш компьютер. Он может подключиться к вашему компьютеру с помощью веб-браузера, подключившись к http://yourcomputer.example.com:80/. Если у вас есть доступные страницы, позволяющие ему загружать изображения, он может переименовать исполняемый файл, чтобы завершить его с помощью «.jpg» и загрузить его на свой сервер. Теперь он просматривает этот файл в своем веб-браузере и запускает его, потому что linux не заботится о расширении, он видит только, что это исполняемый файл. Это может не получить его много, но из-за того, что он работает вообще, он знает, что он работает как пользователь Apache. Затем он загружает измененную версию, которая будет редактировать файлы конфигурации apache, предоставляя ему еще больший доступ - скажем так, что apache выводит содержимое / etc / passwd. Затем он может использовать эту информацию, чтобы узнать, какие пользователи существуют в системе. Затем он может подключиться с помощью ssh и пробовать общие пароли для входа в систему в качестве этих пользователей. Если это не сработает, он активирует атаку полной грубой силы. Если он попадает в качестве пользователя с доступом sudo, то вся система принадлежит ему.

Теперь вы можете сказать, что это маловероятно, или что это не так, как работает настоящий хакер. Это правда, но дело в том, что, установив файлы в chmod 777, вы открыли дыру в безопасности, которую может использовать хакер, но он считает нужным.

Если вы вместо этого следуете за http://yourcomputer.example.com:80/ , то это отверстие не происходит, и ваша система гораздо труднее взломать. Несмотря на то, что делать что-то труднее, вы все равно должны сделать все возможное.

13
ответ дан 24 July 2018 в 19:17
  • 1
    +1 для "toehold" и "эскалировать". Описывает концепцию хорошо. – Kari Kääriäinen 26 March 2015 в 16:55
  • 2
    Не могли бы вы объяснить, как файл, замаскированный под jpg, может быть выполнен на сервере? – Anurag Peshne 14 March 2016 в 17:38

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

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