/boot - 500Mb - ext2 / 20Gb - ext4 swap = озу /home - остальное ```sh # Изменение текстового редактора по умолчанию: sudo update-alternatives --config editor ``` ```bash sudo apt update && sudo apt upgrade -y sudo apt install mc ranger nload tmux wireguard samba gpg pass smartmontools lm-sensors # Диски: mkdir 1Tb-a 1Tb-temp 2Tb-a 2Tb-b sudo blkid lsblk # редактируем /etc/fstab, монтируем диски и RAID по UUID: sudo mount -a sudo systemctl daemon-reload # Samba: sudo apt-get install -f # Эта команда подтянет нужные пакеты и переустановит проблемный. # Какая версия установлена: lsb_release -a ``` ## КОНСОЛЬ клавиши## ```sh Ctrl-a - перейти в начало Ctrl-e - перейти в конец Ctrl-w - вырезать слово перед курсором Ctrl-k - вырезать от курсора и до конца строки Ctrl-u - вырезать от курсора и назад до начала строки Ctrl-y - вставить вырезанное Ctrl- <- (Alt- ) Ctrl- -> (Alt- ) Ctrl-u - очищает слева от курсора Ctrl-k - очищает справа от курсора Ctrl-r - поиск по истории команд history - список всех введенных команд reset - исправить вывод mkdir 123/name/345 -p - создать папку с полным путем cat /var/log/syslog | grep ssh ``` ## Файловая система SWAP ( файл подкачки ) ## ```sh # Создание swap-пространство на разделе hda3 mkswap /dev/hda3 # Включить swap-пространство, расположенное на разделе hda3 swapon /dev/hda3 # Активировать swap-пространства, расположенные на разделах hda2 и hdb3 swapon /dev/hda2 /dev/hdb3 ``` ## TERMINAL ## ```bash # добавить сторонний репозиторий: sudo add-apt-repository ppa:name_rep/ppa # Обновление информации о пакетах и обновление самих пакетов sudo apt update && sudo apt upgrade -y # Установка пакетов sudo apt install -y htop curl wget build-essential git openssh-server sudo apt install nload git tmux vim mc wireguard gpg pass # Редактор по умолчанию: update-alternatives --config editor # Печатаем сразу в файл echo «Hello World !» > /tmp/file.txt cat /etc/*-release whoami whatis whereis # - выводит файл в консоль cat (-n) # - выводит текст задом на перед tac # - поиск в тексте grep <какой> file.txt # найти и вывести все что начинается с '#': sudo grep -v ^#/etc/ssh/sshd_config # + убрать все пустые строки в выводе: sudo grep -v ^#/etc/ssh/sshd_config | grep -v ^$ # + посчитать кол-во строк в выводе: sudo grep -v ^#/etc/ssh/sshd_config | grep -v ^$ | wc -l # посчитать общее кол-во строк в файле: sudo wc -l /etc/ssh/sshd_config # - если текст длинный и перемещаемся кнопками вверх и вниз если нажать "/" то откроется строка для поиска в этом файле "n" - перемещаемся в поиске вперед и "ctrl+n" - назад "q" - выход less # - последние или первые 10 строк файла `"-f"` онлайн просмотр tail / head # - создание каталога с путем mkdir -p # - переместить/переименовать mv # - просмотр сразу 2 каталогов ls dir1 dir2 # - копирование `-r` - копируем каталог cp # - удаление каталога rm -r ``` ## GROUP ## ```sh groupadd # — не выводит ничего при создании группы; лучше при использовании в скрипте, так как нет лишнего вывода на терминал addgroup # — выводит создаваемый  при создании группы. --gid 5555 # - можно задать при создании groupdel delgroup # Чтобы пользователю добавить дополнительную группу можно воспользоваться командой  usermod -aG -a #— добавляет к текущим группам пользователя дополнительные. Без этой опции группы заменяются на новые, а с этой опцией к старым группам добавляются новые; -G #— указывает, что работать будем с дополнительными группами а не с первичной. #(`usermod -aG testgroup alex`) # Утилитой  нельзя удалять дополнительные группы, можно только не используя опцию **-a**, написать список групп в которые должен будет входить данный пользователь, не указав ту группу, из которой вы хотите удалить пользователя. # Если мы хотим поменять пользователю первичную группу, то нужно использовать опцию -g: usermod -g testgroup alex id alex # uid=1000(alex) gid=1002(testgroup) группы=1002(testgroup),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev)` # И вернем все как было: usermod -g alex alex # Еще один способ добавить пользователя в дополнительную группу (и наверное более запоминающийся) это использовать утилиту adduser, при этом утилите вначале передается имя пользователя, затем группы: adduser alex testgroup # Удалить пользователя из группы можно командой deluser: deluser alex testgroup # И так, для добавления или удаления пользователя в дополнительную группу я бы рекомендовал использовать команды adduser и deluser. А для изменения первичной группы команду usermod -g. ``` ## PASSWD ## ```sh passwd - изменить пароль текущему пользователю /etc/passwd /etc/group /etc/shadow # В passwd хранится информация о пользователях в системе, вот информация о пользователе alex: grep alex /etc/passwd alex:x:1000:1000:Alexandr,,,:/home/alex:/bin/bash # То что после имени идет буква «x» означает что пароль зашифрован в файле shadow. # В /etc/group хранится информация о группах в системе, вот информация о группе alex и о дополнительных группах пользователя alex: grep alex /etc/group cdrom:x:24:alex floppy:x:25:alex audio:x:29:alex dip:x:30:alex video:x:44:alex plugdev:x:46:alex netdev:x:109:alex alex:x:1000: # Здесь вначале идет имя группы, потом символ «x» обозначает что пароль зашифрован, затем gid, затем пользователи Linux для которых эта группа является дополнительной. Таким образом группа alex имеет gid=1000, а пользователь alex входит в дополнительные группы cdrom, floppy и так далее. # В /etc/shadow хранятся соленые хэши паролей пользователей, вот например строка для alex: grep alex /etc/shadow alex:$y$j9T$STsC82fbWIlhONPF0rXcm1$a.c./bIw7BUBiewrYoKnEBGBAH3Z5UGsWCFQsW3HOR8:19006:0:99999:7::: # Строка файла содержит поля разделённые двоеточиями, в полях находится следующая информация: - имя пользователя; - хеш пароля; - дата последней смены пароля в днях начиная с 1 января 1970 года, чем больше число, тем новее пароль; - минимальный срок действия пароля, если 0 то неограничен; - максимальный срок действия пароля; - период предупреждения о необходимости сменить пароль; - период неактивности пароля — у меня пустое поле, период неактивности отсутствует; - дата истечения срока действия учётной записи — у меня пустое поле, учётная запись никогда не устаревает; - зарезервированное поле для использования в будущем. ```