ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Изменить группы в Linux с помощью команды groupmod

В предыдущих статьях вы изучали команды groupadd и groupdel. В этой статье вы узнаете о команде groupmod.

Команда groupmod в Linux изменяет данную группу, изменяя ее имя или идентификатор группы (GID).

Синтаксис команды такой:

groupmod [options] GROUP

 

Изменение группы – это административная задача, поэтому вам нужно быть пользователем sudo или использовать учетную запись root для запуска этой команды.

Мы будем использовать sudo в примерах команд groupmod здесь.

 

Изменить имя группы с помощью команды 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

 

На самом деле, идентификатор группы остается неизменным, даже если имя группы было изменено. Давайте посмотрим, как изменить идентификатор группы.

 

Изменить идентификатор группы с помощью команды groupmod

Вы можете изменить 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. Любые вопросы или предложения приветствуются.

Exit mobile version