View in Telegram
Файл групп: /etc/group В недавнем посте мы кратко затронули системный файл "/etc/group". Сегодня мы чуть подробнее рассмотрим его практическую ценность и структуру содержимого. Го! Пользователей для различных административных целей, в частности для управления доступом к файлам и другим системным ресурсам, полезно свести в группы. Это нужно по той причине, что не всем юзерам системы доступны для чтения, записи и выполнения все существующие ресурсы. Мы ведь не можем просто так взять и поменять содержимое какого-нибудь системного конфига из директории etc. Например dhcpcd.conf. Нам, для того, чтобы воспроизвести запись, нужно выполнить рад действий: 1) проверить группу, к которой принадлежит файл; 2) проверить права, которыми располагает группа;
$ ls -l | grep dhcp
-rw-r--r--  1 root  root 1429 Mar 31 11:48 dhcpcd.conf
Тут мы видим следующее: файл принадлежит пользователю root и его одноименной группе. Также, права для пользователя, позволяют ему выполнять запись и чтение. Членам группы позволено только читать содержимое файла, т.к. указан только 1 бит "r". Давайте, для начала, поменяем файлу группу так, чтобы конкретный пользователь смог к нему обратиться:
$ sudo chgrp xodefender dhcpcd.conf
$ ls -l | grep  dhcp  
-rw-r-----  1 root   xodefender  1437 Sep 27 11:02 dhcpcd.conf
Вот, хорошо, теперь мы, от пользователя xodefender можем, хотя бы, прочитать файл:
$ cat dhcpcd.conf
# A sample configuration for dhcpcd.  
# See dhcpcd.conf(5) for details.
...
Можем ли мы записать что-то... Пока нет. Для этого нам нужно добавить бит "w" на запись для группы:
$ sudo chmod g+w dhcpcd.conf
$ ls -l | grep  dhcp  
-rw-rw----  1 root   xodefender  1437 Sep 27 11:05 dhcpcd.conf
Хорошо, теперь с правами все норм, можем воспроизвести запись в файл от пользователя xodefender:
$ echo "Some useful data" >>  dhcpcd.conf
Ага, а если мы хотим выполнять данные операции от пулла доверенных пользователей... В таком случае, нам нужно создать для них группу и присвоить ее целевому файлу. Давайте действовать поступательно и начнем с создания группы:
$ sudo groupadd admins
Список групп с соответствующей информацией можно найти в файле "/etc/group", который содержит по одной строке на каждую группу. Каждая строка, как показано в следующем примере, состоит из четырех полей, отделенных друг от друга двоеточиями:
$ cat /etc/group
admins:x:1002:
jambit:x:106:claus,felli,frank,harti,markus
Рассмотрим эти поля в порядке следования: 1) имя группы - легко читаемый символьный идентификатор, соответствующий числовому; 2) зашифрованный пароль группы, который, в действительности, хранится в теневом файле групп "/etc/gshadow"; 3) числовой идентификатор группы (GID); 4) список пользователей, которые входят в группу; Далее, давайте добавим доверенных пользователей в группу:
$ sudo usermod --append --groups admins xodefender
$ sudo usermod --append --groups admins test_1
$ cat /etc/group | grep admins  
admins:x:1002:xodefender,test_1
Теперь нужно повторить процесс из начала поста - изменить группу файла и выставить необходимые права:
$ sudo chgrp admins dhcpcd.conf
$ sudo chmod g+rw dhcpcd.conf
Все, пожалуйста, пользователи xodefender и test_1 (участники группы admins) могут читать файл и записывать в него информацию:
$ su test_1
$ cat dhcpcd.conf
# A sample configuration for dhcpcd.  
# See dhcpcd.conf(5) for details.
...
Linux++ | IT-Образование
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily