В предыдущих статьях вы изучали команды groupadd и groupdel. В этой статье вы узнаете о команде groupmod.
Команда groupmod в Linux изменяет данную группу, изменяя ее имя или идентификатор группы (GID).
Синтаксис команды такой:
groupmod [options] GROUP
Изменение группы – это административная задача, поэтому вам нужно быть пользователем sudo или использовать учетную запись root для запуска этой команды.
Мы будем использовать sudo в примерах команд groupmod здесь.
Если вы хотите изменить имя группы, вы можете сделать это следующим образом:
sudo groupmod -n new_groupname old_groupname
Хорошо, что вы изменили имя группы, но это не влияет на файлы, принадлежащие этой группе.
Посмотрим на реальные примеры.
Итак, вот файл, принадлежащий пользователю andreyex и группе test_group.
andreyex@destroyer:~$ ls -l ab.txt -rw-r--r-- 1 andreyex test_group 0 Feb 29 13:23 ab.txt
Теперь, если мы изменим имя группы с test_group на testgroup (удаляя подчеркивание из имени)
andreyex@destroyer:~$ sudo groupmod -n testgroup test_group
Он «меняет» владение группы файлом, чтобы отразить новое имя группы:
andreyex@destroyer:~$ ls -l ab.txt -rw-r--r-- 1 andreyex testgroup 0 Feb 29 13:23 ab.txt
На самом деле, идентификатор группы остается неизменным, даже если имя группы было изменено. Давайте посмотрим, как изменить идентификатор группы.
Вы можете изменить GID группы следующим образом:
sudo groupmod -g GID groupname
Теперь это рискованная модификация и ее следует избегать. Во-первых, не будет выполняться никаких проверок в отношении определений входа в систему, таких как значения GID_MIN, GID_MAX, SYS_GID_MIN, SYS_GID_MAX, чтобы различать системные группы и нормальные группы.
Вторая и более важная вещь заключается в том, что файлы, принадлежащие группе, останутся в собственности группы несуществующей группой.
Посмотрите это в примере ниже, где я изменил ID группы группового тестирования на 1020, и файл, принадлежащий этой группе, все еще отражает старый GID.
andreyex@destroyer:~$ ls -l a.txt -rw-r--r-- 1 andreyex testing 57 Feb 29 13:23 a.txt andreyex@destroyer:~$ sudo groupmod -g 1020 testing andreyex@destroyer:~$ ls -l a.txt -rw-r--r-- 1 andreyex 1008 57 Feb 29 13:23 a.txt
Если вам интересно, вы можете увидеть GID в файле /etc/group.
Мы надеемся, что вы стали лучше понимать команду groupmod. Любые вопросы или предложения приветствуются.