Users and groups (Русский)

From ArchWiki
Jump to: navigation, search

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Tango-preferences-desktop-locale.pngЭта статья или раздел нуждается в переводеTango-preferences-desktop-locale.png

Примечания: пожалуйста, используйте первый аргумент шаблона для указания дополнительной информации. (обсуждение: Talk:Users and groups (Русский)#)

Пользователи и группы пользователей используются на GNU/Linux для управления доступом — то есть, для управления доступом к системным файлам, каталогам и переферии. Linux предлагает относительно простые и грубые механизмы контроля доступа по умолчанию. Для более продвинутых вариантов, см. ACL и LDAP authentication

Обзор

Пользователь это любой кто использует компьютер. Имена пользователей могут быть любыми, например Mary или Bill, или псевдонимы вместо реальных имен, например Dragonlady или Pirate. Единственное что важно — это то что у компьютера есть имя для каждого созданного аккаунта, и то, что это имя, с помощью которого человек получает доступ к компьютеру. Некоторые службы и программы также запускаются с ограниченными или полными правами.

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

Любой человек может иметь один и более аккаунт, поэтому каждому аккаунту должно соответствовать уникальное имя. Также есть несколько зарезервированных имен, которые нельзя использовать, например "root", "hal", и "adm".

Пользователи могут быть объединены в группы, и в зависимости от того в каких группах состоят пользователи их привилегии будут различаться.

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

Права и собственность

From In UNIX Everything is a File:

ОС семейства UNIX созданы следуя нескольким единым идеям и концептам, которые отразились в их дизайне, интерфейсе, культуре и эволюции. Одна из важнейших таких идей: "все - это файл"
Этот ключевой принцип состоит в предоставлении единой парадигмы для доступа к широкому кругу устройств ввода/вывода: документы, директории, жесткие диски, CD-диски, модемы, клавиатуры, принтеры, мониторы, терминалы и даже некоторые межпроцессовые взаимодействия и сетевые соединения. Фокус в том, чтобы предоставить простые абстракции для всех этих ресурсов, каждую из которых отцы UNIX назвали "файлом". Так как доступ к любому "файлу" можно получить через один и тот же интерфейс(API, не путать с GUI), вы можете использовать один и тот же набор базовых команд для чтения/записи диска, клавиатуры, документа или сетевого устройства.
Extending UNIX File Abstraction for General-Purpose Networking:
A fundamental and very powerful, consistent abstraction provided in UNIX and compatible operating systems is the file abstraction. Many OS services and device interfaces are implemented to provide a file or file system metaphor to applications. This enables new uses for, and greatly increases the power of, existing applications — simple tools designed with specific uses in mind can, with UNIX file abstractions, be used in novel ways. A simple tool, such as cat, designed to read one or more files and output the contents to standard output, can be used to read from I/O devices through special device files, typically found under the /dev directory. On many systems, audio recording and playback can be done simply with the commands, "cat /dev/audio > myfile" and "cat myfile > /dev/audio," respectively.

Каждый файл в системе GNU/Linux принадлежит определённому пользователю и группе. Также следует отметить, что существует три типа доступа к файлу: чтение, запись, и выполнение. Различные типы доступа могут быть применены к пользователю и группе, владеющими файлом, а так же всем остальным (не являющимся владельцами файла). Владельцев файлов, а также права доступа можно определить с помощью команды ls:

$ ls -l /boot/
total 13740
drwxr-xr-x 2 root root    4096 Jan 12 00:33 grub
-rw-r--r-- 1 root root 8570335 Jan 12 00:33 initramfs-linux-fallback.img
-rw-r--r-- 1 root root 1821573 Jan 12 00:31 initramfs-linux.img
-rw-r--r-- 1 root root 1457315 Jan  8 08:19 System.map26
-rw-r--r-- 1 root root 2209920 Jan  8 08:19 vmlinuz-linux

Первая колонка отображает права доступа к файлу (например, файл initramfs-linux.img имеет права доступа -rw-r--r--). Третья и четвёртая колонки отображают пользователя и группу, владеющих файлом, соответственно. В этом примере, всеми файлами владеет пользователь root, а так же одноимённая группа: root.

$ ls /media/ -l
total 16
drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared

В этом примере, каталог sf_Shared принадлежит пользователю root и группе vboxsf. Также можно определить владельцев и права доступа используя команду stat:

Пользователь:

$ stat -c %U /media/sf_Shared/
root

Группа:

$ stat -c %G /media/sf_Shared/
vboxsf

Права доступа:

$ stat -c %A /media/sf_Shared/
drwxrwx---

Права доступа отображаются в виде трёх групп символов, представляющих права доступа пользователя, владеющего файлом, владеющей группы, и всех остальных соответственно. Например, символы -rw-r--r-- означают, что владелец файла имеет право на чтение и запись, но не выполнение (rw-), в то время как пользователи, относящиеся к владеющей группе, и все остальные пользователи имеют лишь право на чтение (r-- и r--). Между тем, символы drwxrwx--- указывают на то, что владелец файла и прочие пользователи, относящиеся к владеющей группе, все имеют право на чтение, запись, и выполнение (rwx и rwx), тогда как остальные пользователи вообще не имеют никаких прав доступа к файлу (---). Первый символ означает тип файла: «d» — каталог, «-» — файл, «l» — ссылка.

Узнать список файлов, которыми владеет тот или иной пользователь и группа, можно с помощью команды find:

# find / -group [group]
# find / -user [user]

Пользователь и группа могут быть изменены с помощью команды chown (change owner). Права доступа к файлу могут быть изменены с помощью команды chmod (change mode).

See man chown, man chmod, and Linux file permissions for additional detail.

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Users and groups (Русский)#)

Управление пользователями

Информация о пользователях находится в файле /etc/passwd. Чтобы узнать список всех пользователей в системе:

$ cat /etc/passwd

На каждый аккаунт приходится по одной строке, имеющей следующий формат:

account:password:UID:GID:GECOS:directory:shell

где:

  • account — имя пользователя
  • password — пароль пользователя
  • UID — идентификационный номер пользователя
  • GID — идентификационный номер основной группы пользователя
  • GECOS — необязательное поле, используемое для указания дополнительной информации о пользователе (напирмер, полное имя пользователя)
  • directory — домашний каталог ($HOME) пользователя
  • shell — командный интерпретатор пользователя (обычно /bin/sh)
Примечание: Arch Linux использует затенённые пароли. Файл passwd доступен для чтения всем, поэтому хранить в нём пароли небезопасно. С целью сохранить секретность, в поле password находится символ x, указываюший на то, что пароль сохранён в файле с ограниченным доступом /etc/shadow.

Посмотреть список пользователей, вошедших в систему, можно с помощью команды who.

Чтобы добавить нового пользователя, следует использовать команды useradd:

# useradd -m -g [основная группа] -G [дополнительные группы] -s [командный интерпретатор] [имя пользователя]
  • -m — создаёт домашний каталог пользователя, вида /home/[имя пользователя]; в пределах которого, пользователь, не имеющий прав доступа root, может создавать и удалять файлы, устанавливать программы, и т. д.
  • -g — определяет имя или номер основной группы пользователя; группа должна существовать; номер группы должен относится к уже существующей группе; если параметр не указан, пользователю будет присвоена группа в соответствии с переменной USERGROUPS_ENAB, находящейся в /etc/login.defs.
  • -G — определяет список дополнительных групп, в которые входит пользователь; каждая группа отделяется от другой запятой без пробелов; по умолчанию пользователь принадлежит только основной группе.
  • -s — определяет командную оболочку пользователя; сценарии запуска Arch Linux используют Bash; после завершения запуска системы, командная оболочка будет той, что указана в данном параметре; при выборе отличного от Bash интерпретатора, убедитесь, что он установлен в систему.


Стандартный пример - добавление нового пользователя archie, с выбором баша в качестве оболочки и включением его в группы wheel и audio:

# useradd -m -g users -G wheel,audio -s /bin/bash archie

Для более продвинутых примеров, наберите:

$ man useradd

Для того, чтобы ввести полную информацию о пользователе (ФИО, и пр.), наберите:

# chfn [имя пользователя] option specifies that the user's home directory and mail spool should also be deleted

(при таком использовании chfn запускается в интерактивном режиме).

Для указания пароля пользователя, наберите:

# passwd [имя пользователя]

Также доступна интерактивная утилита для добавления пользователей:

# adduser

adduser запрашивает различную информацию о пользователе, и составляет команду для useradd. Также включает в себя действия, выполняемые chfn и passwd.

Удаление пользователей выполняется командой userdel.

# userdel -r [имя пользователя]

Опция -r также удаляет домашнюю директорию и почту пользователя.

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

/etc/group - файл, хранящий информацию о группах пользователей.

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

$ groups [имя пользователя]

Если имя пользователя не указано, команда отобразит группы текущего пользователя.

Используя команду id можно получить дополнительную информацию, такую как ID пользователя и его групп (UID и GID):

$ id [имя пользователя]

Отобразить список всех групп:

$ cat /etc/group

Добавить новую группу командой groupadd:

# groupadd [имя группы]

Добавить пользователя в группу, команда gpasswd:

# gpasswd -a [имя пользователя] [имя группы]

Удалить группу:

# groupdel [имя группы]

Убрать пользователя из группы:

# gpasswd -d [имя пользователя] [имя группы]

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

Groups

Workstation/desktop users often add their non-root user to the following groups to allow access to peripherals and other hardware and facilitate system administration:

  • audio
  • floppy
  • lp
  • network
  • optical
  • power
  • storage
  • video
  • wheel
A list of groups and their function (sorted alphabetically)
Group Affected files Purpose
adm /var/log/* Read access to log files.
audio /dev/audio, /dev/snd/*, /dev/rtc0 Access to sound hardware.
avahi
bin /usr/bin/* Right to modify binaries only by root, but right to read or executed by anyone. (Please modify this for better understanding...)
camera Access to Digital Cameras.
clamav /var/lib/clamav/*, /var/log/clamav/* Used by Clam AntiVirus.
daemon
dbus /var/run/dbus/*
disk /dev/sda[1-9], /dev/sdb[1-9] Access to block devices not affected by other groups such as optical, floppy, and storage.
floppy /dev/fd[0-9] Access to floppy drives.
ftp /srv/ftp
games /var/games Access to some game software.
gdm
hal /var/run/hald, /var/cache/hald
http
kmem /dev/port, /dev/mem, /dev/kmem
locate /usr/bin/locate, /var/lib/locate, /var/lib/mlocate, /var/lib/slocate Right to use updatedb command.
log /var/log/* Access to log files in /var/log,
lp /etc/cups, /var/log/cups, /var/cache/cups, /var/spool/cups Access to printer hardware; enables the user to manage print jobs.
mem
mail /usr/bin/mail
network Right to change network settings such as when using NetworkManager.
networkmanager Requirement for your user to connect wirelessly with NetworkManager. This group is not included with Arch by default so it must be added manually.
nobody Unprivileged group.
ntp
optical /dev/sr[0-9], /dev/sg[0-9] Access to optical devices such as CD and DVD drives.
policykit
power Right to use suspend utilities and power management controls.
rfkill
root /* Complete system administration and control (root, admin).
scanner /var/lock/sane Access to scanner hardware.
smmsp sendmail group
storage Access to removable drives such as USB hard drives, flash/jump drives, MP3 players; enables the user to mount storage devices through HAL and D-Bus.
stb-admin
sys Right to admin printers in CUPS.
thinkpad /dev/misc/nvram Used by ThinkPad users for access to tools such as tpb.
tty /dev/tty, /dev/vcc, /dev/vc, /dev/ptmx Eg. to acces /dev/ACMx
users Standard users group.
uucp /dev/ttyS[0-9], /dev/tts/[0-9] Serial and USB devices such as modems, handhelds, RS-232/serial ports.
vboxusers /dev/vboxdrv Right to use VirtualBox software.
video /dev/fb/0, /dev/misc/agpgart Access to video capture devices, DRI/3D hardware acceleration (X can be used without belonging to this group).
vmware Right to use VMware software.
wheel Right to use sudo (setup with visudo), also affected by PAM.