Группы пользователей linux

Есть ли приоритет в правах доступа к файлам?

Представим ситуацию, когда владелец не имеет никаких разрешений на доступ к файлу, группа имеет разрешение на чтение, в то время как другие пользователи имеют разрешения на чтение и запись.

Теперь, если пользователь diego попытается прочитать файл с помощью команды или , сможет ли он это сделать? Ответ — нет, потому что у него нет разрешения на чтение.

Но как же так? Ведь пользователь diego является частью группы coolgroup, а группа имеет доступ на чтение. И даже все другие пользователи имеет разрешение на чтение и запись! Это должно означать, что каждый (включая пользователя diego) может читать и изменять файл, не так ли? Неправильно!

В Linux-системах приоритет считывания прав доступа отдается сначала Владельцу, затем Группе, а уже после Остальным. Система определяет, кто инициировал процесс ( или  в нашем примере). Если пользователь, инициировавший процесс, также является Владельцем файла, то считываются биты разрешений для Владельца.

Если процесс инициировал не Владелец файла, то система проверяет Группу. Если пользователь, инициировавший процесс, находится в той же Группе, что и Группа-владелец файла, то считываются биты разрешений для Группы.

Если же инициировавший процесс пользователь не является Владельцем файла и не входит в соответствующую Группу, то для него устанавливаются биты разрешений как для Остальных пользователей.

Простой способ добавления и удаления пользователей из групп

Многие люди предпочли бы использовать графический инструмент в Ubuntu для добавления пользователей и удаления их из групп. Если вам часто приходится это делать и вы не предпочитаете работать из командной строки, это может значительно облегчить вашу работу. К счастью, это не только возможно, но и просто.

Для этого вам необходимо установить пакет «gnome-system-tools», который содержит несколько различных утилит. Нас интересует только приложение «Пользователи и группы», но нам все равно нужно установить весь пакет. Для этого выполните следующую команду:

sudo apt install gnome-system-tools

Ответьте «да» на запросы, затем дождитесь загрузки и установки пакетов. После завершения установки запустите приложение «Пользователи и группы».

С левой стороны вы увидите список пользователей вашей системы. Чтобы добавить и удалить пользователей из групп, нажмите «Управление группами». Вы увидите список всех групп, доступных в вашей установке Ubuntu. Чтобы добавить пользователей в группы, нажмите «Свойства» и установите флажок рядом с их именами. Удалить пользователей из групп, сняв флажок.

Основные правила управления доступом

Объекты (например, файлы и процессы) имеют владельцев. Владельцы обладают обширным (но необязательно неограниченным) контролем над своими объектами.

  • Вы являетесь владельцами новых объектов, создаваемых вами.
  • Пользователь root с особыми правами, известный как суперпользователь, может действовать как владелец любого объекта в системе.
  • Только суперпользователь может выполнять административные операции особого значения.

Владельцем файла всегда является один человек, тогда как в группу владельцев могут входить несколько пользователей. По традиции информация о группах хранилась в фай­ле .

Изменение прав доступа. Команда chmod

Представим, что вы не хотите, чтобы ваш коллега видел ваши личные изображения. Это может быть достигнуто путем изменения прав доступа к файлам с помощью команды  (сокр. от «change mode»). Используя эту команду, мы можем установить права доступа (Чтение, Запись, Выполнение) к файлу/каталогу для Владельца, Группы и всех Остальных пользователей.

Синтаксис команды следующий:

Существует два способа использования команды : символьный и числовой.

Использование команды chmod в символьном режиме

Чтобы задать параметры разрешений для каждой отдельной категории пользователей, применяются следующие символы:

    — владелец;

    — группа;

    — остальные пользователи;

    — для всех трех категорий (Владелец + Группа + Остальные).

А также используются следующие математические символы:

    — добавление разрешений;

    — удаление разрешений;

    — переопределение существующих разрешений новым значением.

Теперь, когда вы знаете, как это работает, давайте попробуем использовать команду  в символьном режиме и установим новые разрешения для ранее упомянутого файла Адреса.txt следующим образом:

   чтение, запись и выполнение для Владельца;

   чтение и запись для членов Группы;

   чтение для Остальных пользователей.

В результате мы получаем:

Как видите, права доступа к файлу изменились с на , что нам и требовалось.

А если мы теперь хотим убрать разрешение на чтение файла для пользователей, не входящих в нашу группу и не являющихся владельцем файла, то достаточно выполнить следующее:

Результат:

Права доступа к файлу изменились с на .

Подумав, мы решаем дать полные права (за исключением права на выполнение) абсолютно всем пользователям системы, и выполняем команду:

Результат:

Права доступа к файлу изменились с на . Все пользователи могут читать и изменять наш файл, но ни у кого нет права на его выполнение.

Использование команды chmod в числовом режиме

Другой способ указать права доступа к файлу — применить команду в числовом режиме. В этом режиме каждое разрешение файла представлено некоторым числом (в восьмеричной системе счисления):

    (чтение/просмотр) = 4

    (запись/изменение) = 2

    (выполнение) = 1

    (не задано) =

Допускается объединение данных числовых значений, и таким образом одно число может использоваться для представления всего набора разрешений. В следующей таблице приведены цифры для всех типов разрешений:

Число Тип разрешения Символ
Нет разрешения −−−
1 Выполнение −−x
2 Запись −w−
3 (2+1) Запись + Выполнение −wx
4 Чтение r−−
5 (4+1) Чтение + Выполнение r−x
6 (4+2) Чтение + Запись rw−
7 (4+2+1) Чтение + Запись + Выполнение rwx

Поскольку вы должны определить разрешения для каждой категории пользователей (Владелец, Группа, Остальные), команда будет включать в себя три числа (каждое из которых представляет собой сумму привилегий).

В качестве примера, давайте посмотрим на наш файл Адреса.txt, права которого, я напомню, мы сконфигурировали (в символьном режиме) с помощью команды:

Те же параметры разрешений, но уже в числовом формате, можно определить следующим образом:

Теперь поменяем разрешения файла так, чтобы Владелец мог читать и писать, Группа — только читать, а у Остальных — вообще не было прав на доступ. Судя по вышеприведенной таблице, для Владельца числовое представление прав доступа соответствует числу (), для Группы — числу (), а для Остальных — (). В совокупности должно получиться ():

Результат:

Как видите, права изменились с на , этого мы и хотели.

Какие группы используются в Linux

Группа в Linux — это как раз то, на что это похоже: группа пользователей. Они используются для управления разрешениями для нескольких пользователей вместо их изменения для каждого пользователя. Стоит разбираться в группах, так как эта концепция используется в Unix-подобных операционных системах в целом, а не только в Linux.

Пользователь должен принадлежать хотя бы к одной группе. Это основная группа пользователя. Пользователь может и обычно принадлежит к другим группам, известным как вторичные группы. Часто существует ограничение на количество вторичных групп, к которым может принадлежать пользователь, но это не то, с чем вы часто сталкиваетесь.

Переключение на суперпользователя

Еще раз уточню, что команда sudo идеально подходит для получения необходимых привилегий без переключения учетной записи. Ее можно использовать как для выполнения одного действия, так и нескольких. Если вы желаете временно получить рут-права через эту команду, введите sudo -s или sudo -i. В первом случае домашний каталог остается текущим, а во втором меняется на /root.

Примерно так же работает и команда su, но она обладает дополнительными аргументами, которые следует уточнить:

  • -c – позволяет выполнить команду;
  • -g – устанавливает группу для пользователя;
  • -G – дополнительные группы для юзера;
  • -, -l, —login – один из режимов входа, при котором происходит переключение домашнего каталога;
  • -p – сохранение переменных окружения;
  • -s – выбор оболочки для выхода.

Есть вариант выполнить вход в оболочку под суперпользователем, но он имеет свои неудобства. Он заключается в переключении в доступную виртуальную консоль, что осуществляется комбинацией Ctrl + Alt + F1-F6. Там понадобится ввести логин и пароль root для получения доступа. Главный недостаток этого метода – потеря возможности взаимодействия с графическим интерфейсом операционной системы.

Второй вариант – ввод такого же логина и пароля при входе через графическую форму авторизации. Так вы сразу получите доступ ко всем файлам, даже не надо будет вводить sudo. Однако неопытным пользователям такой метод не подходит, поскольку возникает риск удаления или изменения системных файлов, что иногда приводит к поломке ОС.

Вы уже сами решайте, какой вариант хотите использовать, и готовы ли смириться со всеми ограничениями и недостатками, которые накладывает каждый из них.

Управление группами юзера в Linux

Управлять группами можно и с помощью графического интерфейса. В KDE есть программа Kuser умышленно предназначенная для этого, в Gnome это выполняется с помощью настроек системы. Кроме того, в известных дистрибутивах есть отдельные инструменты, такие как YaST в OpenSUSE или Настройки Ubuntu. Но с графичным интерфейсом я думаю вы разберетесь. А мы рассмотрим управление группами linux через терминал. Для начала разберемся с файлами, а уже потом с пользователями.

При создании файла ему назначается основная группа юзера который его создал. Это просто например:

Здесь вы можете видеть, что владелец всех папок sergiy и группа также sergiy. Правильно, так как эти пользователи были созданы мной. Но давайте пойдем дальше:

Смена владельца и группы

Помимо изменения прав доступа к файлам, вы можете столкнуться с ситуацией необходимости изменения владельца файла или даже всей группы. Выполнение любой из этих задач требует от вас наличие привилегий суперпользователя (root). Для этого я буду применять утилиту .

Чтобы изменить владельца файла, необходимо применить команду (сокр. от «change owner»), синтаксис которой довольно прост:

Если вы хотите сменить не только владельца, но также и группу для файла или каталога, то синтаксис будет следующим:

Если вы просто хотите изменить группу, а владельца оставить прежним, то синтаксис примет вид:

Или же используйте команду (сокр. от «change group«), специально применяемую для изменения владельца группы файла или каталога:

В качестве тренировки давайте сменим владельца и группу файла Адреса.txt на пользователя root и группу root (при этом вам могут понадобиться права суперпользователя):

Как вы можете видеть, владелец и группа файла сменились с на .

Заметьте, что мне пришлось использовать с . Это потому, что здесь задействован пользователь root, и чтобы иметь с ним дело, вам нужны права суперпользователя.

Root-права на Андроид и для чего они нужны

Под понятием «рут» нужно понимать встроенную учетную запись администратора, которая имеет расширенные возможности работы с системой Андроид, недоступные для обычных пользователей.

Рутированные девайсы используют для снятия ограничений, которые установлены производителем для защиты гаджета от потенциально опасных настроек системы, вредоносного ПО и обеспечения защиты программ от несанкционированного копирования.

Основные цели rootaing (рутинга) состоят в получения прав «суперпользователя» или «рут» на девайсах Андроид – снятие запретов оператора связи или производителя для получения возможности манипулировать системными программами и запуска приложений, для функционирования которых необходимы права администратора.

Нужна помощь?

Не знаешь как решить проблему в работе своего гаджета и нужен совет специалиста? На вопросы отвечает Алексей, мастер по ремонту смартфонов и планшетов в сервисном центре.

У обладателя рут-прав имеется неограниченный доступ ко всем системным файлам, несмотря на установленные ограничения прав доступа. При наличии root-прав вы получаете над своим гаджетом полный контроль.

Преимущества получения рут-прав:

  • Инсталляция приложения, которые требуют для своей работы root (драйверы, эмуляторы и пр.).
  • Доступ к программам, темам, ярлыкам, системным файлам и т.п. с возможностью их изменения.
  • Блокирование, замена или удаление предустановленного ненужного софта.
  • Установки сторонних прошивок и различных модов.
  • Активация дополнительный опций ОС Андроид.
  • Контроль работы программ (блокирование звонков, опасного ПО или оправки SMS на платные номера).
  • Возможность создания резервный копий, переноса информации.
  • Прочие привилегии.

Наличие рут-прав само по себе какие-либо преимущества не предоставляет, а дает возможность выполнять определенные действия с девайсом. Теперь рассмотрим недостатки root:

  • Отключение официальных обновлений прошивки гаджета через интернет (FOTA или OTA).
  • Лишение гарантий от производителя (не для всех устройств).
  • Отключение неразрешенного доступа и защиты от вредоносного ПО.
  • Угроза поломки девайса при неумелом использовании прав «суперпользователя».

Список групп

В этом разделе объясняется назначение важнейших групп из пакета . Существует множество других групп, которые создаются при установке пакетов с присвоением корректного GID. Подробности вы найдёте на страницах руководств соответствующих программ.

Примечание: Удаление пакета не приводит к удалению автоматически созданных пользователей и групп. Это сделано намеренно, потому что в противном случае созданные в процессе работы программы файлы могут остаться без владельца, что потенциально представляет угрозу безопасности.

Пользовательские группы

Часто возникает необходимость добавить обычного (не root) пользователя в одну из групп, обеспечивающих доступ к периферийным устройствам или упрощающих системное администрирование:

Группа Файлы Назначение
adm Группа администрирования, обычно используется для чтения файлов защищённых логов. Позволяет читать файлы журнала.
ftp Доступ к файлам .
games Доступ к некоторым игровым программам.
http Доступ к файлам .
log Доступ к файлам логов в каталоге , созданным syslog-ng.
rfkill Управление питанием беспроводных устройств (используется ).
sys Администрирование принтеров с помощью CUPS.
systemd-journal
uucp , , , , Последовательные порты RS-232 и подключенные к ним устройства.
wheel Группа администрирования, даёт необходимые права. Имеет доступ к файлам журнала и принтерам в CUPS. Также позволяет работать с утилитами sudo и su (по умолчанию их не использует).

Системные группы

Следующие группы имеют значение для всей системы, и добавление в них пользователям производится только в указанных целях:

Группа Файлы Назначение
dbus Используется в
kmem , ,
locate , , , См. locate.
lp , Доступ к устройствам параллельного порта (принтеры и прочие).
mail
nobody Непривилегированная группа.
proc
root Полный доступ к администрированис и управлению системой (root, admin).
smmsp Группа sendmail.
tty , , ,
utmp , ,

Группы, существовавшие до перехода на systemd

Есть несколько важных исключений, которые требуют добавления пользователей в группы ниже — например, если вы хотите разрешить неавторизованным пользователям доступ к устройствам. Тем не мнее, имейте в виду, что это может стать причиной определённых проблем (например, группа мешает быстрому переключению между пользователями, а также даёт приложениям возможность блокировать програмное микширование).

Группы Файлы Назначение
audio , , Прямой доступ к звуковому оборудованию для всех сеансов. По-прежнему требуется, чтобы ALSA и OSS работали в удаленных сеансах, см. . Также используется в JACK для выдачи пользователям разрешений на работу в режиме реального времени.
disk Доступ к блочным устройствам, не затронутым другими группами вроде , и .
floppy Доступ к флоппи-дискам.
input ,
kvm Доступ к виртуальным машинам с использованием KVM.
optical , Доступ к оптическим устройствам, таким как CD- и DVD-приводы.
scanner Доступ к оборудованию сканера.
storage ,
video , Доступ к устройствам захвата видео, аппаратное ускорение 2D/3D, framebuffer (X можно использовать без поддержки этой группы).

Неиспользуемые группы

Следующие группы в настоящий момент никак не используются.

Группа Файлы Назначение
bin Историческое наследие.
daemon
lock Использовалась для lockfile-доступа. Требовалась для AUR.
mem
network Не использовалась по умолчанию. Могла использоваться в NetworkManager (см. ).
power
uuidd
users Основная группа для пользователей; использовалась, если приватные группы не были предусмотрены. Например, при создании с опцией в файле , или командой useradd с флагом / пользователь помещался именно в эту группу.
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: