File Managment
Права доступа
(Владельцы, группы, права r/w/x, доступ)
id - получить информацию о текущем пользователе (UID, GID, группы)
Пример: id k.mmax
groups - показать группы, в которых состоит пользователь
Пример: groups k.mmax
whoami - показать имя текущего пользователя
Пример: whoami
su - переключение на другого пользователя ("-" = загрузить окружение этого пользователя)
Пример: su - root
chown - смена владельца и/или группы файла или директории (user:group). Обычно требует sudo. (-R = рекурсивно)
Пример c владельцем и группой: sudo chown k.mmax:admin ~/Documents/my_file.txt
Пример с владельцем: sudo chown k.mmax ~/Documents/my_file.txt
Пример с группой: sudo chown :admin ~/Documents/my_file.txt
chmod - смена прав доступа к файлу или директории. (r = чтение; w = запись; x = выполнение). Обычно требует sudo
Символьный способ записи: u = владелец, g = группа, o = все остальные, a = все, "+" = добавить,
"-" = убрать, "=" = установить права точно (заменить существующие)
Пример 1: sudo chmod u+x ~/Documents/script.sh
Пример 2: sudo chmod u=rwx,g=r,o= ~/Documents/script.sh
Цифровой способ записи: r = 4, w = 2, x = 1
Пример 1: sudo chmod 740 ~/Documents/script.sh (7 для владельца, 4 для группы, 0 для всех остальных)
umask - задать права по умолчанию для новых файлов и директорий, путем вычитания заданной маски.
Для файлов маска вычитается из "666". Базовые права для файлов: rw-rw-rw-.
Для директорий маска вычитается из "777". Базовые права для директорий: rwxrwxrwx.
Пример: umask 022 (Файлы: 666 - 022 = 644, rw-r--r--. Директории: 777 - 022 = 755, rwxr-xr-x)
usermod - изменение параметров существующего пользователя (нет на macOS). Требует sudo
-aG = добавить пользователя в существующие дополнительные группы
-g = изменить основную группу пользователя
-s = изменить командную оболочку (shell)
-l = изменить имя пользователя
-u = изменить UID пользователя
-L = заблокировать пользователя
-U = разблокировать пользователя
Пример 1: sudo usermod -aG staff k.mmax
Пример 2: sudo usermod -g admin k.mmax
Пример 3: sudo usermod -s /bin/zsh k.mmax
Пример 4: sudo usermod -l new_k.mmax old_k.mmax
Пример 5: sudo usermod -u 1500 k.mmax
Пример 6: sudo usermod -L k.mmax
Пример 7: sudo usermod -U k.mmax
useradd - создать нового пользователя (нет на macOS). Требует sudo.
(-m = создать домашний каталог; -d = указать путь до домашнего каталога;
-s = задать командную оболочку)
Пример 1: sudo useradd -m -s /bin/zsh newuser
Пример 2: sudo useradd -m -d /data/users/test_home_directory -s /bin/zsh olduser
userdel - удаление пользователя (нет на macOS). Требует sudo.
(-r = удалить домашнюю папку и почтовый ящик пользователя)
Пример: sudo userdel -r olduser
groupadd - создание новой группы (нет на macOS). Требует sudo.
Пример: sudo groupadd new_group
groupdel - удаление группы (нет на macOS). Требует sudo.
Пример: sudo groupdel old_group
gpasswd - управление группой (нет на macOS). Требует sudo.
(-a = добавить пользователя в группу; -d = удалить пользователя из группы)
Пример 1: sudo gpasswd -a k.mmax great_group
Пример 2: sudo gpasswd -d k.mmax great_group
passwd - смена пароля пользователя. Требует sudo для смены чужого пароля
Пример 1: passwd (сменить свой пароль)
Пример 2: sudo passwd another_user (сменить пароль для another_user)
getent - получение данных из системных баз данных (нет на macOS)
passwd = получить информацию о пользователях (имя, UID, GID, shell, домашний каталог)
group = получить информацию о группах (название, GID, участники)
services = получить соответствие сервисов и портов
hosts = получить IP-адрес домена с учетом записей в /etc/hosts
Пример 1: getent passwd
Пример 2: getent passwd k.mmax
Пример 3: getent group
Пример 4: getent group staff
Пример 5: getent services
Пример 6: getent services ssh
Пример 7: getent hosts
Пример 8: getent hosts google.com
ssh-keygen - создание и управление SSH-ключами. (-t = тип ключа; -C = комментарий; -b = размер ключа в битах, для rsa;
-f = путь и имя файла для сохранения ключа; -R = удалить запись о хосте из known_hosts)
Пример 1: ssh-keygen -t ed25519 -C "my-mac"
Пример 2: ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
Пример 3: ssh-keygen -R 176.12.65.151