В этом руководстве показано, как управлять группами с помощью команды gpasswd. Каждый файл и папка в Linux имеют права пользователя, группы и владельца. Контролируя, кто имеет доступ к группе, вы можете контролировать, что происходит с файлами и папками в вашей системе, не устанавливая разрешения для каждого пользователя.
- Немного о разрешениях
- Как создать группу
- Как добавить пользователя в группу
- Как изменить основную группу для папки
- Как проверить, принадлежит ли пользователь группе
- Как изменить пароль группы
- Как ограничить группы только указанными участниками
- Сделать пользователя администратором
- Как удалить групповой пароль
- Как удалить пользователя из группы
- Как дать группе права на чтение, запись и выполнение для файла или папки
- Резюме
Немного о разрешениях
Откройте терминал и в своей домашней папке создайте папку с именем account, используя команду mkdir следующим образом:
Аккаунты mkdir
Теперь запустите следующую команду ls, которая покажет вам разрешения для только что созданной папки.
ls -lt
Вы увидите что-то вроде этого:
drwxr-xr-x 2 ваше имя ваше имя 4096 дата аккаунта
Интересующие нас биты – это права доступа, которые в приведенном выше примере обозначают «drwxr-xr-x». Мы также заинтересованы в 2 значениях “ваше имя”.
Давайте сначала поговорим о разрешениях. «D» обозначает каталог и сообщает нам, что account является каталогом.
Остальные права разделены на 3 раздела: «rwxr», «xr», «x». Первый раздел из 3 символов – это права, которые есть у владельца объекта. Второй раздел из 3 символов – это разрешения, которые есть у каждого, кто принадлежит к группе, и, наконец, последний раздел – это разрешения, которые есть у всех остальных.
«R» означает «чтение», «w» означает «запись», а «x» означает «выполнить».
Следовательно, в приведенном выше примере владелец имеет разрешения на чтение, запись и выполнение для папки учетных записей, тогда как группа и все остальные имеют только разрешения на чтение и выполнение.
В этом примере первое «ваше имя» является владельцем элемента, а второе «ваше имя» является основной группой для папки учетных записей.
Чтобы сделать это руководство более полезным, добавьте еще пару учетных записей в вашу систему, используя следующие команды adduser:
sudo adduser tim
sudo adduser tom
Вам будет предложено установить пароль для каждого из них и ввести другую информацию. Вы можете получить только с помощью пароля и вернуться через остальные поля.
Теперь, когда у вас есть 3 учетные записи, выполните следующую команду, чтобы изменить владельца папки вашей учетной записи.
аккаунты sudo chown Tom
Теперь снова запустите команду ls.
ls -lt
Разрешения теперь будут следующими:
drwxr-xr-x tom yourname
Вы сможете перейти в папку с учетными записями с помощью команды cd следующим образом:
cd аккаунты
Теперь попробуйте создать файл с помощью следующей команды:
сенсорный тест
Вы получите следующую ошибку:
touch: невозможно нажать 'test': разрешение отклонено
Причина этого заключается в том, что Том является владельцем и имеет права на чтение, запись и выполнение, но вы являетесь частью группы, и у вас есть только разрешения для группы.
Вернитесь в домашнюю папку и измените разрешения для учетных записей, введя следующие команды:
cd ..
учетные записи sudo chmod 750
Теперь снова запустите команду ls:
ls -lt
Разрешения для папки учетных записей теперь будут следующими:
drwxr-x ---
Это означает, что владелец имеет полные права, пользователи с группой «ваше имя» будут иметь права на чтение и выполнение, а все остальные не будут иметь никаких прав.
Попробуйте это. Перейдите в папку учетных записей и снова запустите сенсорную команду:
учетные записи CD
сенсорный тест
У вас все еще есть разрешения для перехода к папке, но у вас нет прав для создания файлов. Если бы вы были просто обычным пользователем, вы даже не можете войти в папку учетных записей.
Чтобы попробовать это, переключитесь на пользователя Тим и перейдите к папке учетных записей следующим образом:
su - tim
cd/home/yourname/account
Вы получите ошибку «Отказано в разрешении».
Так зачем использовать групповые разрешения, а не устанавливать индивидуальные разрешения для всех пользователей? Если у вас есть бухгалтерия, которая должна иметь доступ к определенным электронным таблицам и документам, но никто в компании не должен, вместо того, чтобы устанавливать разрешения для всех пользователей в учетных записях, вы можете установить разрешения для папки для группы, называемой учетными записями, а затем добавьте пользователей в группу.
Почему это лучше, чем установка индивидуальных разрешений для пользователей? Если пользователь покидает отдел, вы можете просто удалить его из группы, а не определять его разрешения для ряда папок.
Как создать группу
Вы можете использовать следующую команду для создания группы:
учетные записи sudo addgroup
Как добавить пользователя в группу
sudo gpasswd -a учетные записи пользователей
Приведенную выше команду можно использовать для добавления одного пользователя в группу учетных записей.
Чтобы добавить список пользователей в качестве членов группы, выполните следующую команду:
sudo gpassword -M твое имя, том, тим, аккаунты
Когда пользователь добавлен в учетную запись, он может добавить группу в свой список дополнительных групп, выполнив следующую команду:
newgrp account
Любому пользователю, который не принадлежит к группе, будет предложено ввести пароль группы.
Как изменить основную группу для папки
Теперь, когда у нас есть группа с пользователем, вы можете назначить эту группу в папку с учетными записями, используя следующую команду chgrp:
учетные записи sudo chgrp
Первая учетная запись – это имя группы, а вторая учетная запись – имя папки.
Как проверить, принадлежит ли пользователь группе
Вы можете проверить, принадлежит ли пользователь группе, выполнив следующую команду:
groups
Это вернет список групп, к которым принадлежит пользователь.
Как изменить пароль группы
Чтобы изменить пароль группы, вы можете выполнить следующую команду:
sudo gpasswd
Вам будет предложено ввести пароль для группы и повторить его.
Теперь вы можете добавлять пользователей в группу, как указано выше, или новый пользователь может присоединиться к группе, просто выполнив следующую команду и введя правильный пароль:
newgrp
Очевидно, что вы не хотите давать кому-либо пароль группы, поэтому лучше добавить пользователя в группу самостоятельно.
Как ограничить группы только указанными участниками
Если вы не хотите, чтобы кто-либо, кто знает пароль, присоединился к группе, вы можете выполнить следующую команду:
sudo gpasswd -R
Сделать пользователя администратором
Вы можете назначить пользователей администраторами группы. Это позволяет пользователю добавлять и удалять пользователей из определенной группы, а также изменять пароль
Для этого выполните следующую команду:
sudo gpasswd -Том аккаунты
Как удалить групповой пароль
Вы можете удалить пароль из группы, используя следующую команду:
sudo gpasswd -r account
Как удалить пользователя из группы
Чтобы удалить пользователя из группы, выполните следующую команду:
sudo gpassword -d tom account
Как дать группе права на чтение, запись и выполнение для файла или папки
До сих пор пользователи в группе учетных записей имели доступ к папке учетных записей, но они действительно могут делать все, потому что у них есть только разрешения на чтение и выполнение.
Чтобы предоставить разрешения на запись для группы, вы можете выполнить следующую команду:
sudo chmod g + w account
Резюме
В этом руководстве представлены несколько команд, которые помогут вам настроить разрешения в вашей системе Linux. Вы также можете использовать команду useradd для настройки пользователей и групп пользователей.