Linux: Пользователи (Конспект Hexlet)

  1. Пользователь
    1. показать текущего пользователя: whoami
    2. кто еще, кроме нас находится в системе: who
    3. посмотреть свои группы: id
  2. Суперпользователь
    1. “Снести ” систему: rm -rf
    2. домашняя директория суперпользователя лежим по отдельному пути: PWD -> \root
  3. Смена пользователя
    1. Выполнение команды от другого пользователя: su (без параметров – под суперпользователем с запросом пароля)
      Это неправильный способ – не меняются переменные окружения (env)
      Правильный способ – “su – “
  4. Sudo
    1. Современный способ выполнения команд из под другого пользователя – sudo
    2. Конфигурирование sudo – etc/sudoers (задание переменных окружения, доступные команды для пользователя, какие файлы может писать/читать пользователь и т.д.)
    3. чтобы не сломать систему редактируя файл sudoers – нужно использовать: visudo (сохраняет через темповый файл, проверяя предварительно формат файла)
    4. sudoedit – запускает редактор из под локального пользователя (а не из под суперпользователя)
    5. sudo -i – замена su
    6. Ссылки:
      1. Переменные окружения
      2. Начало работы с Vagrant и зачем он вообще нужен
  5. Структура учетной записи пользователя
    1. данные учетных записей находятся в файле /etc/passwd
      1. каждая строчка – учетная запись пользователя
      2. структура строки:
        1. системное имя
        2. “x”
        3. идентификатор пользователя
        4. идентификатор группы
        5. строковое описание аккаунта (обычно пустое)
        6. домашняя директория
        7. оболочка, запускаемая после входа в систему (nologin – системные пользователи для запуска программ, под ними нельзя авторизоваться в системе)
    2. данные групп – находятся в файле /etc/group
      1. структура файла
        1. название группы
        2. “x”
        3. идентификатор группы
        4. имена пользователей, входящих в группу (если в группу входит несколько пользвоателей)
  6. Управление пользователями и группами
    1. Основные команды работы с группами
      1. groupadd
      2. groupdel
      3. groupmod
      4. groups
    2. Основные команды работы с группами
      1. useradd
      2. userdel
      3. usermod
      4. users
    3. Управление пользователями в группах – gpasswd
    4. Высокоуровневые команды управления пользователями: adduser, deluser (создают/удаляют пользвоателя со всеми директориями, в отличии от команд useradd/userdel, которая просто редактирует файл /etc/passwd), но есть не во всех дистрибутивах
    5. Смена пароля для текущего пользователя – passwd
    6. Удаление пользователя из группы: sudo gpasswd -d user group
    7. Добавление пользователя в группу: sudo gpasswd -a user group
  7. Смена владельца файлов
    1. Рекурсивное изменение файлов в группе: chown -R user:group Folder (sudo chown -R username .composer)
  8. Права
    1. Просмотр прав – ls -la
    2. ” d ” вначале описания прав файла – каталог, “-” – файл
    3. после первого символа 3 группы: права для владельца файла, группы, остальных пользователей
  9. Права доступа и UMASK
    1. umask – (user file creation mode mask)
    2. изменение маски в текущей сессии: umask 0000 (новая маска “0000”)
    3. пример масок:
      1. 0002 (000 000 000 010)
      2. 0022 (000 000 010 010)
      3. Маска 000 010 010 аннулирует шестую (право на запись w для группы) и девятую (право на запись w для остальных пользователей) позицию режима доступа к файлу
  10. Смена прав файла
    1. Примеры команд
      1. смены прав папки с файлами: chmode -R 777 folder
      2. убрать чтение у групп: : chmode a-r file
      3. добавить чтение для владельца: chmode u+r file
      4. очистить для остальных : chmode o= file
  11. SUID и SGID
  12. Sticky Bit
    1. Если в конце прав “t” – удаление файла в данной группе(файле) доступно владельцу и суперпользователю

Дополнительно

Добавление пользователя в группу sudoers: