Product SiteDocumentation Site

6.3. Ограничение существующих пользователей Linux: semanage login

Если пользователь SELinux сопоставлен пользователю unconfined_u (в конфигурации по-умолчанию), и если вам необходимо изменить контекст сопоставляемого пользователя SELinux, с помощью команда semanage login. В следующем примере создаётся новый Linux называется newuser, который сопоставлен пользователю SELinux user_u:
  1. От имени пользователя Linux, выполните команду /usr/sbin/useradd newuser для создания нового пользователя (newuser). Так как этот пользователь использует сопоставление по умолчанию, он не появляется в выводе /usr/sbin/semanage login -l:
    # /usr/sbin/semanage login -l
    
    Login Name                SELinux User              MLS/MCS Range
    
    __default__               unconfined_u              s0-s0:c0.c1023
    root                      unconfined_u              s0-s0:c0.c1023
    system_u                  system_u                  s0-s0:c0.c1023
    
  2. Для сопоставления пользователя newuser пользователю SELinux user_u, выполните следующую команду от имени пользователя root:
    /usr/sbin/semanage login -a -s user_u newuser
    Опция -a добавляет новую запись и опция -s указывает пользователя SELinux для сопоставления пользователю Linux. Последний аргумент newuser - это пользователь Linux которому сопоставляется указанный пользователь SELinux.
  3. Для просмотра сопоставлений между пользователем Linux и user_u, выполните команду semanage login -l от имени пользователя root:
    # /usr/sbin/semanage login -l
    
    Login Name                SELinux User              MLS/MCS Range
    
    __default__               unconfined_u              s0-s0:c0.c1023
    newuser                   user_u                    s0
    root                      unconfined_u              s0-s0:c0.c1023
    system_u                  system_u                  s0-s0:c0.c1023
    
  4. От имени пользователя root, выполните команду passwd newuser для назначения пароля пользователю newuser:
    # passwd newuser
    Changing password for user newuser.
    New UNIX password: Enter a password
    Retype new UNIX password: Enter the same password again 
    passwd: all authentication tokens updated successfully.
    
  5. Завершите текущую сессию и выполните вход от имени пользователя newuser. Выполните команду id -Z для просмотра пользователя newuser контекста SELinux:
    [newuser@rlocalhost ~]$ id -Z
    user_u:user_r:user_t:s0
    
  6. Завершите текущую сессию newuser и выполните вход с вашей учетной записью. Если пользователь newuser больше не требуется, выполните команду userdel -r newuser от имени пользователя root для удаления учетной записи, вместе с его домашним каталогом. Также, сопоставлние между пользователем newuser и user_u удаляется:
    # /usr/sbin/userdel -r newuser
    # /usr/sbin/semanage login -l
    
    Login Name                SELinux User              MLS/MCS Range
    
    __default__               unconfined_u              s0-s0:c0.c1023
    root                      unconfined_u              s0-s0:c0.c1023
    system_u                  system_u                  s0-s0:c0.c1023