Перейти к содержимому

Права доступа к файлам

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

  • linux.permissions

Задания

  1. 1. Сделайте скрипт запускаемым10 очк.

    ~/scripts/hello.sh пока нельзя запустить. Дайте себе право на выполнение, чтобы работал ./hello.sh.

  2. 2. Защитите дневник10 очк.

    Сделайте так, чтобы ~/private/diary.txt могли читать и изменять только вы (режим 600).

  3. 3. Закройте личный каталог10 очк.

    Сделайте каталог ~/private доступным только вам (режим 700).

  4. 4. Исправьте файл, доступный всем на запись15 очк.

    ~/shared/notes.txt может изменить любой пользователь системы. Уберите право записи для остальных, не удаляя файл.

  5. 5. Права системного файла10 очк.

    Какой восьмеричный режим у файла /etc/shadow (например, 755)?

Вводные и справка по командам

У каждого файла есть владелец, группа и биты чтения/записи/выполнения для владельца, группы и всех остальных. ls -l показывает их, chmod меняет.

ЦифраЗначение
7rwx
6rw-
5r-x
4r--
0---

Справка по командам

Кому даём права (первая часть символьной записи chmod):

БукваКто
uuser — владелец файла
ggroup — группа файла
oothers — все остальные
aall — все три категории сразу

Что делаем: + — добавить право, - — убрать, = — установить ровно такие права. Какие права: r — чтение, w — запись, x — выполнение.

ПримерРезультат
chmod u+x script.shвладельцу добавить выполнение
chmod g-w fileгруппе убрать запись
chmod o-w fileостальным убрать запись
chmod go= fileгруппе и остальным — никаких прав
chmod 600 fileвосьмерично: rw- --- ---
chmod 700 dirвосьмерично: rwx --- ---

Восьмеричная запись: три цифры — владелец, группа, остальные. Каждая цифра — сумма: r = 4, w = 2, x = 1.

КомандаЧто делает
ls -l <путь>права в виде -rwxr-xr--
ls -ld <каталог>права самого каталога, а не его содержимого
stat -c %a <путь>права в восьмеричном виде, например 644
./script.shзапуск скрипта из текущего каталога (нужно право x)
Права доступа к файлам: практика в терминале онлайн — CyberLab