Права доступа к файлам
Читайте и меняйте права в Linux, чтобы скрипты запускались, а личные данные оставались личными.
- linux.permissions
Задания
1. Сделайте скрипт запускаемым10 очк.
~/scripts/hello.shпока нельзя запустить. Дайте себе право на выполнение, чтобы работал./hello.sh.2. Защитите дневник10 очк.
Сделайте так, чтобы
~/private/diary.txtмогли читать и изменять только вы (режим600).3. Закройте личный каталог10 очк.
Сделайте каталог
~/privateдоступным только вам (режим700).4. Исправьте файл, доступный всем на запись15 очк.
~/shared/notes.txtможет изменить любой пользователь системы. Уберите право записи для остальных, не удаляя файл.5. Права системного файла10 очк.
Какой восьмеричный режим у файла
/etc/shadow(например,755)?
Вводные и справка по командам
У каждого файла есть владелец, группа и биты чтения/записи/выполнения для владельца,
группы и всех остальных. ls -l показывает их, chmod меняет.
| Цифра | Значение |
|---|---|
| 7 | rwx |
| 6 | rw- |
| 5 | r-x |
| 4 | r-- |
| 0 | --- |
Справка по командам
Кому даём права (первая часть символьной записи chmod):
| Буква | Кто |
|---|---|
u | user — владелец файла |
g | group — группа файла |
o | others — все остальные |
a | all — все три категории сразу |
Что делаем: + — добавить право, - — убрать, = — установить ровно такие права.
Какие права: 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) |