Права Доступа и sudo

С возвращением.
В предыдущем уроке ты научился читать файлы и искать внутри них.
Теперь мы переходим к части, где Linux начинает говорить:
“Permission denied.”
Не принимай это лично.
Linux не злится.
Linux просто защищает систему от хаоса, ошибок и сонных пальцев с правами администратора.
Что Ты Изучишь
В этом уроке ты узнаешь:
- что такое права доступа к файлам;
- как читать символы вроде
rwx; - что означают пользователь, группа и другие;
- как проверить текущего пользователя с помощью
whoami; - как пользоваться
chmod; - что делает
sudo; - почему не стоит использовать
sudoкак острый соус.
Миссия
Твоя миссия простая:
Понять, почему одни файлы можно читать, изменять или запускать — а другие вежливо отказывают, как серьёзный охранник у двери.
Проверь, Кто Ты
Сначала проверь текущего пользователя:
whoami
Можешь увидеть что-то такое:
viktor
Это значит, что ты работаешь как пользователь viktor.
Ты не root.
И это хорошо.
Быть root постоянно — это как ехать на танке за хлебом.
Возможно, но не нужно и немного тревожно.
Создай Файл для Практики
Перейди в папку для практики:
cd ~/terminal-practice
Если её нет, создай:
mkdir -p ~/terminal-practice
cd ~/terminal-practice
Создай файл:
touch permissions-demo.txt
Теперь покажи его с деталями:
ls -l permissions-demo.txt
Можешь увидеть что-то такое:
-rw-r--r-- 1 viktor viktor 0 May 2 10:00 permissions-demo.txt
Сначала это выглядит страшно.
Но это не магия.
Это просто информация в серьёзном пиджаке.
Понимание Символов Прав Доступа
Посмотри на эту часть:
-rw-r--r--
Первый символ показывает тип файла:
- означает обычный файл
d означает директорию
Затем права разделены так:
rw- r-- r--
Эти группы означают:
пользователь группа другие
То есть:
rw- владелец может читать и писать
r-- группа может только читать
r-- другие могут только читать
Linux фактически говорит:
“Владелец может редактировать этот файл. Все остальные могут смотреть, но руки держать в карманах.”
Что Означают r, w и x
Права используют три буквы:
r = read
w = write
x = execute
Для файлов:
rозначает, что ты можешь читать файл;wозначает, что ты можешь изменять файл;xозначает, что ты можешь запускать файл как программу или скрипт.
Для директорий:
rозначает, что ты можешь видеть содержимое директории;wозначает, что ты можешь создавать или удалять файлы внутри;xозначает, что ты можешь войти в директорию.
Да, x на директории означает “войти”.
Linux любит делать жизнь интересной.
Добавь Текст в Файл
Запиши что-то в файл:
echo "Permissions are important." > permissions-demo.txt
Прочитай его:
cat permissions-demo.txt
Ты должен увидеть:
Permissions are important.
Пока всё работает.
Файл принадлежит тебе, и ты можешь в него писать.
Убери Право Записи
Теперь убери у себя право записи:
chmod u-w permissions-demo.txt
Проверь:
ls -l permissions-demo.txt
Можешь увидеть:
-r--r--r-- 1 viktor viktor 28 May 2 10:00 permissions-demo.txt
Теперь попробуй снова записать в него:
echo "Trying to write again." > permissions-demo.txt
Можешь получить:
Permission denied
Хорошо.
Linux только что защитил файл от изменений.
Даже от тебя.
Немного грубо, но технически правильно.
Верни Право Записи
Верни себе право записи:
chmod u+w permissions-demo.txt
Теперь попробуй:
echo "Writing works again." > permissions-demo.txt
cat permissions-demo.txt
Ты должен увидеть:
Writing works again.
Поздравляю.
Ты убрал право, сломал себе доступ и сам его исправил.
Это фактически мини-тренировка по Linux.
Сделай Скрипт Исполняемым
Создай маленький скрипт:
echo 'echo "Hello from my script!"' > hello.sh
Попробуй его запустить:
./hello.sh
Можешь увидеть:
Permission denied
Почему?
Потому что файл ещё не имеет права на выполнение.
Добавь право выполнения:
chmod u+x hello.sh
Теперь запусти:
./hello.sh
Ты должен увидеть:
Hello from my script!
Вот что делает x.
Оно говорит Linux:
“Этот файл можно запускать.”
Числовые Права
Ты можешь увидеть такие команды:
chmod 755 hello.sh
Это числовой стиль прав доступа.
Числа означают:
7 = read + write + execute
5 = read + execute
5 = read + execute
То есть 755 означает:
владелец может читать, писать и выполнять
группа может читать и выполнять
другие могут читать и выполнять
Ещё один распространённый вариант:
chmod 644 permissions-demo.txt
Это означает:
владелец может читать и писать
группа может читать
другие могут читать
Пока запомни:
644часто используется для обычных файлов;755часто используется для скриптов и директорий.
Не нужно запоминать всё сегодня.
Твой мозг — не флешка.
Что Такое sudo?
sudo означает “выполни эту команду с правами администратора”.
Пример:
sudo pacman -S htop
На Ubuntu или Debian:
sudo apt install htop
На Fedora:
sudo dnf install htop
sudo используют, когда команде нужны более высокие права.
Например:
- установка программ;
- изменение системных файлов;
- перезапуск сервисов;
- редактирование защищённой конфигурации.
sudo — мощный инструмент.
Не используй его автоматически.
Использовать sudo везде — это как открывать все двери бензопилой.
Эффективно, но не элегантно.
Типичная Ошибка с Правами
Ты можешь увидеть:
Permission denied
Обычно это означает:
- у тебя нет права читать файл;
- у тебя нет права писать в файл;
- у тебя нет права запускать файл;
- ты пытаешься изменить что-то, что принадлежит другому пользователю или root.
Перед тем как использовать sudo, спроси себя:
Мне действительно нужна сила администратора здесь?
Иногда да.
Иногда ответ такой: “Нет, Виктор, ты просто не в той папке.”
Осторожно с sudo
Это опасно:
sudo rm -r /some/system/folder
Это может удалить важные системные файлы.
Linux сделает именно то, что ты попросишь.
Не то, что ты имел в виду.
Вот разница между компьютером и мудрым другом.
Практика
Попробуй это:
cd ~/terminal-practice
touch permission-test.txt
ls -l permission-test.txt
chmod u-w permission-test.txt
ls -l permission-test.txt
chmod u+w permission-test.txt
ls -l permission-test.txt
echo 'echo "Script works!"' > test-script.sh
chmod u+x test-script.sh
./test-script.sh
Затем ответь:
- Что показывает
whoami? - Что делает
chmod u-w? - Что делает
chmod u+w? - Что делает
chmod u+x? - Что позволяет делать
sudo?
Мини-Задание
Создай скрипт my-info.sh.
Он должен вывести:
Hello from Linux!
Today I am learning permissions.
Затем:
- Создай файл.
- Попробуй его запустить.
- Добавь право выполнения.
- Запусти его снова.
- Проверь права через
ls -l.
Используй только команды терминала.
Без мышки.
Мышка уже подала жалобу в отдел кадров.
Итог
Сегодня ты узнал, что:
- Linux использует права доступа для защиты файлов и директорий;
rозначает read;wозначает write;xозначает execute;- права разделены на пользователя, группу и других;
ls -lпоказывает права доступа;chmodменяет права;sudoзапускает команды с правами администратора;sudoнужно использовать осторожно.
Права доступа могут выглядеть странно сначала, но это одна из причин, почему Linux мощный и безопасный.
Linux говорит “нет” не потому, что он тебя ненавидит.
Он говорит “нет”, потому что иногда ты в одной команде от очень образовательной катастрофы.
Следующий Урок
В следующем уроке мы научимся устанавливать программы из терминала с помощью пакетных менеджеров.
Именно там Linux становится очень удобным.
И именно там пользователи Arch Linux начинают загадочно улыбаться.