Введение
В любой многопользовательской операционной системе, такой как Linux, права доступа к файлам являются критически важной функцией безопасности. Они контролируют, кто может читать, записывать или выполнять файлы, гарантируя, что пользователи могут получать доступ только к тем данным, на которые они авторизованы. Понимание того, как управлять этими разрешениями, является фундаментальным навыком для любого пользователя Linux, разработчика или системного администратора.
В этой лабораторной работе вы получите практический опыт работы с основными командами для управления правами доступа к файлам. Вы узнаете, как:
- Создавать новый файл с помощью команды
touch. - Изменять права доступа к файлу с помощью команды
chmodс использованием числовой (восьмеричной) нотации. - Изменять владельца и группу файла с помощью команды
chown. - Проверять изменения с помощью команды
ls -l. - Устанавливать стандартные права доступа для каталога.
К концу этой лабораторной работы вы будете уверенно владеть основными принципами прав доступа к файлам и каталогам в Linux.
Создание тестового файла командой touch /tmp/testfile
На этом шаге вы начнете с создания пустого файла, который мы будем использовать для остальной части лабораторной работы. Стандартной командой для создания пустого файла в Linux является touch. Эта команда создает файл, если он не существует, или обновляет его временную метку последнего изменения, если он уже существует.
Мы создадим наш тестовый файл в каталоге /tmp, который является стандартным местом для временных файлов.
Выполните следующую команду в вашем терминале для создания файла с именем testfile:
touch /tmp/testfile
Если команда выполнена успешно, она не выдаст никакого вывода. Вы можете дополнительно проверить, что файл создан, выведя его список с помощью ls /tmp/testfile.
Установка прав доступа командой chmod 644 /tmp/testfile
На этом шаге вы узнаете, как изменить права доступа к только что созданному файлу. Для этой цели используется команда chmod (change mode — изменить режим). Права доступа можно устанавливать с использованием символической или числовой (восьмеричной) нотации. Здесь мы будем использовать числовой метод, который очень распространен.
В числовой нотации права доступа представляются трехзначным числом, соответствующим владельцу (owner), группе (group) и прочим пользователям (other users) соответственно. Каждое право имеет свое значение:
4для чтения (read, r)2для записи (write, w)1для выполнения (execute, x)
Мы установим права доступа в 644, что является очень распространенной настройкой для файлов. Это переводится следующим образом:
- Владелец:
6(4+2) -> чтение и запись (rw-) - Группа:
4-> только чтение (r--) - Прочие:
4-> только чтение (r--)
Теперь выполните следующую команду, чтобы применить эти права доступа к вашему тестовому файлу:
chmod 644 /tmp/testfile
Эта команда не выведет никакого вывода. На следующем шаге мы проверим, были ли права доступа применены корректно.
Смена владельца командой chown root:root /tmp/testfile
На этом шаге вы измените владельца файла. Команда chown (change owner — сменить владельца) используется для изменения пользователя и/или группы, владеющей файлом. Синтаксис: chown user:group filename.
Смена владельца файла на другого пользователя (например, root) является привилегированной операцией, требующей административных прав. Вам потребуется использовать команду sudo для выполнения chown с необходимыми разрешениями. В этой среде LabEx пользователь labex может использовать sudo без пароля.
Давайте сменим владельца и группу /tmp/testfile на root. Выполните следующую команду:
sudo chown root:root /tmp/testfile
Опять же, успешное выполнение команды не приведет к выводу какого-либо текста. Это действие гарантирует, что теперь файл принадлежит административному пользователю системы.
Проверка командой ls -l /tmp/testfile
На этом шаге вы проверите все изменения, которые вы внесли до сих пор. Команда ls -l предоставляет формат "длинного списка" (long listing), который отображает подробную информацию о файлах, включая права доступа, владельца, группу, размер и дату изменения.
Выполните следующую команду, чтобы просмотреть /tmp/testfile:
ls -l /tmp/testfile
Вы должны увидеть вывод, похожий на следующий (дата и время будут отличаться):
-rw-r--r-- 1 root root 0 Oct 22 15:13 /tmp/testfile
Давайте разберем этот вывод:
-rw-r--r--: Это права доступа к файлу. Первый символ-указывает, что это обычный файл.rw-показывает, что владелец (root) имеет права на чтение и запись. Следующиеr--показывают, что группа (root) имеет только право на чтение. Последниеr--показывают, что все остальные пользователи также имеют только право на чтение. Это соответствует установленным вами644.root root: Это показывает владельца и группу файла, которые вы изменили наroot.
Теперь вы успешно создали файл, установили его права доступа и изменили его владельца.
Защита каталога командой chmod 755 /tmp/testdir
На этом заключительном шаге вы установите права доступа для каталога. Права доступа к каталогам аналогичны правам доступа к файлам, но бит execute (x) имеет особое значение: он предоставляет возможность входить в каталог и получать доступ к файлам внутри него.
Распространенной и безопасной настройкой прав доступа для каталогов является 755. Давайте разберем ее:
- Владелец:
7(4+2+1) -> чтение, запись и выполнение (rwx). Владелец может просматривать содержимое, создавать/удалять файлы и входить в каталог. - Группа:
5(4+1) -> чтение и выполнение (r-x). Члены группы могут просматривать файлы и входить в каталог, но не могут создавать или удалять файлы. - Остальные:
5(4+1) -> чтение и выполнение (r-x). Другие пользователи также могут просматривать файлы и входить в каталог.
Каталог с именем /tmp/testdir был создан для вас в начале этого лабораторного занятия (lab). Теперь примените к нему права доступа 755 с помощью команды chmod.
chmod 755 /tmp/testdir
Вы можете проверить изменение с помощью команды ls -ld /tmp/testdir. Флаг -d важен для вывода сведений о самом каталоге, а не о его содержимом.
Резюме
Поздравляем с завершением этого лабораторного занятия! Вы успешно отработали основные навыки управления правами доступа к файлам и каталогам в среде Linux.
В этом лабораторном занятии вы научились:
- Создавать пустой файл с помощью
touch. - Использовать
chmodс числовыми (восьмеричными) кодами, такими как644для файлов и755для каталогов, для контроля доступа. - Использовать
sudo chownдля изменения владельца и группы файла. - Использовать
ls -lдля проверки и подтверждения прав доступа и владения файлами.
Эти команды являются важными инструментами для защиты ваших файлов и поддержания хорошо организованной системы. Освоение их — ключевой шаг на пути к уверенному владению Linux.



