Categories: Хакинг

Основы Linux,Часть 7 ( управление правами )

Содержание:

Я начал эту серию обучающих статей( 1, 2 , 3 , 4 , 5 , 6), чтобы заполнить пробел в знаниях у начинающих хакеров в операционной системе Linux

. Есть много материала, который нужно изучить. Сегодня мы рассмотрим права доступа к файлам в Linux.

Шаг 1. Проверка прав доступа к файлам

Чтобы посмотреть, какие у нас есть права по отношению к файлу, достаточно ввести в терминале команду ls с ключом -l (от слова long). Давайте используем эту команду в каталоге pentest/wireless/aircrack-ng

и рассмотрим, что она говорит о тех файлах, которые там содержатся.

Если мы посмотрим на каждую строку, то увидим много информации о файлах. Например: файл это или директория, разрешения на файл, количество ссылок, владелец файла, владелец группы файла, размер файла, когда он был создан или изменен, и, наконец, имя файла. Давайте рассмотрим каждую категорию.

Как определить файл это или директория

Первый символ в каждой строке как раз и говорит нам о том, является ли это файлом или каталогом. Если строка начинается с «d«, то это директория, а если с « — », то это файл.

Какие права есть на файл?

Следующий раздел символов определяет, какие у нас есть разрешения для этого файла. Существует три набора rwx, которые означают чтение (read), запись (write) и выполнение (execution). Эта запись показывает, есть ли у нас разрешение на чтение файла, запись в файл или на его выполнение. Каждый набор rwx представляет разрешения владельца, группы, а затем всех остальных.

Если мы посмотрим на вторую строку для файла с названием ChangeLog

мы увидим, что она начинается с:

-rw-r-r-

Это означает, что это файл (), для которого у его владельца есть права: на чтение (r) и на запись в него (w), но прав на выполнение нет ().

В следующем наборе разрешений представлены права группы пользователей. (Например, пользователь vasja относится к группе admin — администраторов). И здесь мы видим, что у группы есть права на чтение (r), но не на запись (w) и не на исполнение файла ().

И, наконец, последний набор разрешений указывает на права всех остальных. Мы видим, что все остальные пользователи имеют только права на чтение (r) файла ChangeLog.

Шаг 2. Изменение права доступа к файлам

Предположим, мы хотим, чтобы группа могла и записывать что-то в файл ChangeLog и исполнять его. Для этого в Linux есть команда chmod, которая позволяет нам изменять права доступа к файлу, при условии, что мы являемся пользователем root или владельцем файла. Эти разрешения представлены их двоичными эквивалентами в операционной системе.

Числовое выражение прав доступа

Помните, что на уровне операционной системы все представлено нулями и единицами. И что все эти разрешения доступа к файлу в операционной системе представлены своеобразными выключателями. Таким образом, если представить права на файлы как три выключателя вкл/выкл, и эти выключатели находятся в двоичной системе исчисления, то правый переключатель представляет 1, когда он включен, средний переключатель представляет 2, когда он включен, и, наконец, крайний левый переключатель представляет 4, когда он включен.

Итак, три состояния доступа к файлам выглядят так (когда они все включены):

r w x

4 2 1 = 7

Если мы сложим все три, то получим 7, верно? В Linux, когда все выключатели доступа к файлам включены, это выглядит в десятичной системе счисления как 7. Таким образом, если мы хотим, чтобы владелец (7), группа (7) и другие пользователи (7) имели все права, то мы можем представить это как:

777

Теперь вернемся к нашему файлу ChangeLog. Помните права на него (его разрешения)? Они были rw-r—r— и мы могли бы представить их в виде чисел следующим образом:

r w —    r —  —    r — —

4 2 0   4 0 0   4 0 0

Это может быть представлено 644

Настоящее изменение прав на файл ChangeLog

Если мы хотим предоставить группе права на запись «w» (2) и на исполнение «x» (1), то мы должны использовать команду chmod по отношению к файлу ChangeLog вот так:

chmod 774 ChangeLog

Это выражение говорит, что владелец обладает всеми правами (4 + 2 + 1 = 7), у группы такая же ситуация (4 + 2 + 1 = 7), и мы хотели бы дать всем остальным просто разрешение на чтение (4 + 0 + 0 = 4). Если мы сейчас вызовем ls -l, то увидим, что разрешения на доступ к ChangeLog изменились:

r w x r w x r — —

Не сложно, правда?

Шаг 3. Изменение прав доступа через UGO-синтаксис

Хотя числовой метод наиболее распространен для изменения прав доступа в Linux (каждый уважающий себя гуру Linux может его использовать), есть еще один способ, который некоторым кажется более удобным. Его часто называют синтаксисом UGO. UGO означает U = пользователь (User) или владелец, G = группа (Group) и O = другие (Others). UGO имеет три оператора:

«+» — добавить разрешение

«-» — удалить разрешение

«=» — установить разрешение

Таким образом, если бы нам потребовалось убрать у группы разрешение изменять файл ChangeLog, это выглядело бы так:

chmod g-w ChangeLog

Эта команда говорит буквально следующее: для группы (g) удалить () разрешение на запись (w) файла ChangeLog.

И если сейчас выполнить команду ls -l, тогда станет видно, что группа больше не имеет прав записывать данные в файл ChangeLog.

Если нам нужно дать и пользователю (владельцу) и группе права на исполнение, то мы должны написать так:

chmod u+x, g+x ChangeLog

Эта команда говорит: пользователю (u) добавить (+) права на исполнение (x), группе (g) добавить (+) права на исполнение (x) файла ChangeLog.

Шаг 4. Как предоставить самому себе права на новый хакерский инструмент

Очень часто бывает, что нам нужно скачать какую-нибудь новую хакерскую утилиту. Скачали, распаковали, скомпилировали или установили. Чтобы ее использовать, нам нужно дать себе разрешение на его выполнение. Если этого не сделать, получим сообщение о том, что у нас нет соответствующих прав на ее исполнение.

На этом скриншоте видно, что никто не имеет прав на выполнение файла newhackertool.

Мы можем сами себе предоставить доступ на исполнение файла, если напишем так:

chmod 766 newhackertool

Это даст нам, как владельцу, все разрешения, включая выполнение, а группа и все остальные просто будут читать и писать в него (4 + 2 = 6). Вы можете видеть на скриншоте выше, что после запуска команды chmod мы получили именно то, чего хотели!

В следующей статье об основах Linux мы рассмотрим управление запущенными процессами, поэтому обязательно возвращайтесь. Прочитайте предыдущие статьи на эту тему( 1, 2 , 3 , 4 , 5 , 6), если у вас есть вопросы — задавайте в комментариях.

HelpUAdmin

Recent Posts

Windows 10 стала работать медленнее после установки обновления? Исправим это

Ваш компьютер на Windows 10 перестал быть быстрым после обновления системы? Мы подскажем, как устранить…

3 года ago

Описание приложения-чата по приглашениям Clubhouse

Это приложение для iPhone основано на приглашениях и аудио. С его помощью можно всё равно…

3 года ago

Изменение почтового клиента по умолчанию в iOS 14 на Outlook, Spark, Gmail и другие

Одним из самых значительных изменений в операционной системе iOS 14 является возможность менять приложения по…

4 года ago

Включение пузырей уведомлений в чатах на Android 11

В системе Android 10 появился фреймворк для пузырей чатов, популярность которым принёс Messenger. Новая система…

4 года ago

Как настроить беспроводную отладку в Android 11

От загрузки в режим Fastboot при помощи одной команды до установки модов без рута, есть…

4 года ago

Главные проблемы Android 11 Beta и следует ли устанавливать её

Бета-версия операционной системы Android 11 в настоящее время доступна для устройств Google Pixel. Нужно посетить…

4 года ago