Brief discussion of SUID and SGID permissions in Linux. I mention the sticky bit but I dont explain it. There are a number of good descriptions of these items on the web if you Google them.
Linux команда mv — переместить (переименовать) файл или папку на Ubuntu. Как написать скрипт для Linux Ubuntu — команда mv — команда перемещения или переименования файлов и папок на Ubuntu.
# ====== код программы ===========
#!/bin/bash
# move or rename
# -f, --force перезаписать не спрашивая
# -i, --interactive перед перезаписыванием — спросить
# -u, --update переместить только есть файл-источник новее
# (либо если целевой файл отсутствует)
# если целевой файл уже существует, спрашивает надо ли перезаписать
cp -i tmp tmp1
# система информирует о действиях
cp -v tmp tmp1
# /в этом примере система напишет: tmp — tmp1 /
# под имение tmp1 будет создан ярлык файла tmp
cp -s tmp tmp1
# если файл под именем tmp1 уже существует, то
# система проверит, что новее — tmp или tmp1
# если новее — tmp, то tmp1 будет перезаписан,
# если новее — tmp1, то ничего не произойдёт
cp -u tmp tmp1
# копируем tmp в папке Folder в папку Folder1 под именем tmp1
cp -r /home/su/Documents/Folder/tmp /home/su/Documents/Folder1/tmp1
# копируем папку Folder под именем Folder1
cp -r /home/su/Documents/Folder /home/su/Documents/Folder1
# копируем скрытую папку /.Folder под именем /.Folder1
# для этого начинаем с команды администратора sudo
sudo cp -r /home/su/Documents/.Folder /home/su/Documents/.Folder1
# 0:41 выделение имени файла из полного имени
basename ~/Documents/new.txt
# 0:51 удаление суффикса БЕЗ ДОПОЛНИТЕЛЬНОЙ ОПЦИИ из полного имени файла и суффакса (через пробел за полным именем файла)
basename ~/Documents/new.txt .txt
basename ~/Documents/new.txt w.txt
basename ~/Documents/new.txt txt
# 1:35 удаление суффикса из полного имени файла
basename -s .txt ~/Documents/new.txt
basename -s w.txt ~/Documents/new.txt
basename -s txt ~/Documents/new.txt
# 1:54 удаление суффикса срузу из двух полных имён файлов
basename -s .txt ~/Documents/new.txt ~/Documents/old.txt
# 2:46 удаление суффикса срузу из 3-х полных имён файлов с разными расширениями
basename -s .txt ~/Documents/new.txt ~/Documents/old.txt ~/Documents/basename.sh
Знаете, что является фундаментом безопасности Linux? Система прав доступов к файлам. А как известно в линуксе все файлы.
Сегодня в выпуске:
Изменим права доступа, chmod нам в помощь.
Назначение владельцев файла (chown)
SUID SGID sticky bit зачем нужны и в чем их прелесть
Права по умолчанию (umask linux)
Запрет на изменения и удаления файла даже для root (chttr)
Как удалить неудаляемые файлы и папки
Экскурс в основные понятия: Что такое учетная запись (аккаунт) root. Команды su, sudo, gksudo, gksu, kdesu. Файл /etc/sudoers, команда visudo. Основы безопасности Linux с использованием расширений файлов, учетных записей и групп, модуля безопасности sudoers. Файл /etc/shadow. Команды whoami и who am i. Как sudo и su влияют на домашний каталог пользователя. Эти и другие базовые вопросы кратко рассмотрены в этом видео.
Помимо установки различных комбинаций стандартных разрешений (read, write и execute) в Linux мы можем устанавливать на объекты файловой системы специальные биты:
suid — запуск файла от имени его владельца;
sgid — запуск файла с заменой свой группы на группу владельцев; или для папки — замена группы владельцев для всех вложенных объектов;
sticky — защита содержимого папки от удаления (кроме владельца папки и root никто ничего удалить не сможет).