|
2026-04-01 08:30:04
|
Шпаргалка по сетевой безопасности
👉 @i_odmin_book
Шпаргалка по сет…
|
—
|
|
422
|
|
2026-03-31 11:08:13
|
Чем отличается команда rm от unlink?
Обе эти команды умеют удалять, но в 99% используется именно rm, потому что про unlink вы либо не слышали, либо rm с головой хватает.
Есть ошибочное мнение, что unlink предназначен для удаления лишь ссылок — команда вполне может удалять обычные файлы. А если углубиться, то весь процесс удаления в Linux, это удаление ссылок.
У unlink есть всего лишь два ключа запуска help и version. Очень ограниченный инструмент, но чем инструмент проще, тем проще его синтаксис.
# unlink /tmp/hardlink
# unlink /tmp/file
Софт очень молчаливый — после удаления, он промолчит и ничего не выведет на экран.
Команда unlink использует системную команду unlink, в то время как команда rm использует системный вызов unlinkat. Оба системных вызова практически одинаковы.
Unlink не умеет работать с wildcard и globbing шаблонами. Так же вы не сможете с помощью нее удалить каталог.
Запустим команду и пытаемся насильно удалить файл которого нет в каталоге:
rm -f test.txt
И получаем - НИЧЕГО. То есть rm -f не вернул ошибку, что файл отсутствует. А если сделать так:
unlink test.txt
получим ошибку:
unlink: cannot unlink 'test.txt': No such file or directory
То есть если нужно будет обработать результат выполнения команды rm -f, то будет непонятно, существовал ли вообще файл.
С unlink можно гибче обрабатывать эксепшены в скриптах. А еще при использовании команды unlink отсутствует проверка безопасности. Она удалит файл, защищенный от записи. Хотя современная версия rm теперь тоже так умеет.
Небольшой секрет: если нужно, чтобы файл никто не смог удалить, включая root:
chattr +i test.txt
chattr позволяет устанавливать и отключать атрибуты файлов, на уровне файловой системы не зависимо от стандартных (чтение, запись, выполнение).
Ключ i - сделает файл неизменяемым. Чтобы снять с файла этот аттрибут, в команде которая выше, замените знак «+» на «-».
👉 @i_odmin_book
Чем отличается к…
|
—
|
|
529
|
|
2026-03-30 09:07:56
|
Как работает Linux
👉 @i_odmin_book
Как работает Lin…
|
—
|
|
727
|
|
2026-03-27 10:10:15
|
Структура каталогов Linux
👉 @i_odmin_book
Структура катало…
|
—
|
|
1171
|
|
2026-03-26 10:16:05
|
Как защитить сервер Linux
Ограничьте, кто может использовать sudo
Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.
Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.
Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):
cat /etc/group | grep "sudo"
Шаги
1 - Создайте группу:
sudo groupadd sudousers
2 - Добавьте учетную запись(и) в группу:
sudo usermod -a -G sudousers user1
sudo usermod -a -G sudousers user2
sudo usermod -a -G sudousers ...
Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.
3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")
4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
sudo visudo
5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
%sudousers ALL=(ALL:ALL) ALL
👉 @i_odmin_book
Как защитить сер…
|
—
|
|
902
|
|
2026-03-25 10:09:36
|
Основные команды Linux: Управление пользователями и группами
last – Показывает, какие пользователи последними входили в систему (и покидали ее), выполняя для этого поиск в файле /var/log/wtmp в обратном порядке; также показывает информацию о загрузках системы, ее остановках и изменениях ее уровней запуска
lastb – Показывает неудачные попытки входа в систему, которые записаны в файле /var/log/btmp
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены.
finger user@host – показать информацию о user (без указания пользователя – выведет список пользователей, залогиненых в системе) на хосте host, утилита не чувствительна к регистру символов
write user [terminal] – начать сеанс общения с пользователем user на терминале terminal
talk user@host – чат с пользователем user на компьютере host
wall message – разместить сообщение message на всех терминалах.
mesg y/n – включение – y и выключение – n возможности принимать сообщения на консоли
su user – создание оболочки (подоболочки текущей оболочки) с правами пользователя user (без указания пользователя – вызывается оболочка root)
-, -l, –login – все 3 параметра имеют одно значение – загрузить окружение вызываемого пользователя (выполняются все стартовые сценарии и подгружаются переменные окружения вызываемого пользователя)
-с command – выполнить команду command с правами суперпользователя и “понизить” права в исходные после завершения команды.
useradd user – добавление нового регистрационного имени пользователя user в системе
-g group – задает основную группу (primary group) для нового пользователя. По умолчанию используется стандартная группа, указанная в файле /etc/default/useradd.
-d dir – доманий каталог (home directory) нового пользователя. По умолчанию используется $ HOMEDIR/user
-s shell – полный путь к программе (шеллу), используемой в качестве начального командного интерпретатора для пользователя
-m – Создает начальный каталог нового пользователя, если он еще не существует. Копирует скелетные файлы и другие каталоги из /etc/skel в домашний каталог.
👉 @i_odmin_book
Основные команды…
|
—
|
|
985
|