Пользователи и группы в Archlinux
Наиболее удобным инструментом для создания нового пользователя служит команда adduser .
Вам будут заданы вопросы касательно имени, домашней директории, пароля, принадлежности к тем или иным пользовательским группам. После ввода основной информации вы сможете добавить дополнительную как то: полное имя, рабочий и домашний телефоны и прочее.
Список доступных в archlinux групп можно посмотреть в файле /etc/group . Если вы уже создали пользователя и назначили ему список групп, его имя также будет записано в этот файл напротив тех групп, которым он принадлежит.
Примерный список групп, куда можно внести пользователя:
- lp — доступ к печати
- wheel — административные привилегии
- ftp — доступ к указанной службе
- mail — почта
- games — доступ к играм
- network — управление сетью
- video — доступ к видео (графика, фильмы)
- audio — возможность «слышать»
- optical — доступ к оптическим дискам
- floppy — возможность использовать floppy-дисковод (если он ещё есть)
- storage — доступ к различным накопителям
- power — управление питанием
- users — стандартные привилегии, группа по умолчанию
Вы можете использовать useradd для добавления пользователя в систему. Например формат записи: useradd опции имя пользователя
- -c — комментарий
- -d — задать домашний каталог
- -D — создать с настройками по умолчанию
- -e — отключить учётную запись в указанный день. задаётся в формате YYYY-MM-DD — год. месяц, день
- -G — принадлежность к дополнительным группам
- -m — создать пользовательскую директорию в /home
- -p — задать пароль
- -n — не создавать индивидуальную группу для пользователя
Впрочем, пароль вы можете задать позже, но пока его не будет, учётная запись останется заблокированной. А как вносить изменения в учётную запись уже созданного пользователя?
useradd, usermod, userdel — команды для добавления, модификации и удаления пользователей.
groupadd, groupmod, groupdel — команды для добавления, модификации и удаления групп.
gpasswd — команда для модификации файла /etc/group .
Что можно сделать с помощью usermod:
- -d — изменить домашний каталог
- -s — изменить оболочку
- -p — изменить пароль
- -g — изменить первичную группу
- -G — дополнительную группу
Что можно сделать с помощью userdel:
- -f — удалит пользователя даже когда он находится в системе или его каталог используется
- -r — удалить домашний каталог рекурсивно
Например, мы хотим добавить пользователя user1 в группу администраторов — wheel . Это будет выглядеть так:
Теперь проверьте /etc/group . Появился ли наш пользователь в группе wheel ? Конечно, да.
Если нужно наоборот удалить поьзователя из группы (удаление пользователя user1 из группы lighttpd):
# sudo gpasswd -d user1 lighttpd
Добавить при помощи groupadd:
Изменить при помощи groupmod:
И, наконец, очень удобная команда gpasswd:
- -a — добавить пользователя в группу
- -d — удалить пользователя из группы
- -r — удалить пароль группы
- -A — назначить администратора группы
- -M — добавить несколько пользователей в группу
Заставим пользователя периодически менять его пароль:
Minimum Password Age — минимальное количество дней, в течении которых пользователю не разрешено менять пароль
Maximum Password Age — максимальное количество дней, в течении которых можно будет входить в систему под этим паролем
Last Password Change — когда произошло последнее изменение пароля
Password Expiration Warning — за какое количество дней до блокировки выводить сообщения
Password Inactive — число дней после истечения срока действия пароля перед его блокировкой
Account Expiration Date — истечение срока действия учётной записи, при отрицательном значении — никогда
Вот такая вышла небольшая заметка для юных администраторов.
DESCRIPTION
The groupadd command creates a new group account using the values specified on the command line plus the default values from the system. The new group will be entered into the system files as needed.
Groupnames may contain only lower and upper case letters, digits, underscores, or dashes. They can end with a dollar sign. Dashes are not allowed at the beginning of the groupname. Fully numeric groupnames and groupnames . or .. are also disallowed.
Groupnames may only be up to 32 characters long.
OPTIONS
The options which apply to the groupadd command are:
This option causes the command to simply exit with success status if the specified group already exists. When used with -g, and the specified GID already exists, another (unique) GID is chosen (i.e. -g is turned off).
-g, —gid GID
The numerical value of the group’s ID. GID must be unique, unless the -o option is used. The value must be non-negative. The default is to use the smallest ID value greater than or equal to GID_MIN and greater than every other group.
See also the -r option and the GID_MAX description.
-K, —key KEY=VALUE
Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and others). Multiple -K options can be specified.
Example: -K GID_MIN=100 -K GID_MAX=499
Note: -K GID_MIN=10,GID_MAX=499 doesn’t work yet.
permits the creation of a group with an already used numerical ID. As a result, for this GID, the mapping towards group NEWGROUP may not be unique.
-p, —password PASSWORD
defines an initial password for the group account. PASSWORD is expected to be encrypted, as returned by crypt (3).
Without this option, the group account will be locked and with no password defined, i.e. a single exclamation mark in the respective field of ths system account file /etc/group or /etc/gshadow.
Note: This option is not recommended because the password (or encrypted password) will be visible by users listing the processes.
You should make sure the password respects the system’s password policy.
The numeric identifiers of new system groups are chosen in the SYS_GID_MIN—SYS_GID_MAX range, defined in login.defs, instead of GID_MIN—GID_MAX.
-R, —root CHROOT_DIR
Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. Only absolute paths are supported.
-P, —prefix PREFIX_DIR
Apply changes to configuration files under the root filesystem found under the directory PREFIX_DIR. This option does not chroot and is intended for preparing a cross-compilation target. Some limitations: NIS and LDAP users/groups are not verified. PAM authentication is using the host files. No SELINUX support.
The default behavior (if the -g, -N, and -U options are not specified) is defined by the USERGROUPS_ENAB variable in /etc/login.defs.
CONFIGURATION
The following configuration variables in /etc/login.defs change the behavior of this tool:
GID_MAX (number), GID_MIN (number)
Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.
The default value for GID_MIN (resp. GID_MAX) is 1000 (resp. 60000).
MAX_MEMBERS_PER_GROUP (number)
Maximum members per group entry. When the maximum is reached, a new group entry (line) is started in /etc/group (with the same name, same password, and same GID).
The default value is 0, meaning that there are no limits in the number of members in a group.
This feature (split group) permits to limit the length of lines in the group file. This is useful to make sure that lines for NIS groups are not larger than 1024 characters.
If you need to enforce such limit, you can use 25.
Note: split groups may not be supported by all tools (even in the Shadow toolsuite). You should not use this variable unless you really need it.
SYS_GID_MAX (number), SYS_GID_MIN (number)
Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers.
The default value for SYS_GID_MIN (resp. SYS_GID_MAX) is 101 (resp. GID_MIN-1).
Users and groups
Users and groups are used on GNU/Linux for access control—that is, to control access to the system’s files, directories, and peripherals. Linux offers relatively simple/coarse access control mechanisms by default. For more advanced options, see ACL, Capabilities and PAM#Configuration How-Tos.
Overview
A user is anyone who uses a computer. In this case, we are describing the names which represent those users. It may be Mary or Bill, and they may use the names Dragonlady or Pirate in place of their real name. All that matters is that the computer has a name for each account it creates, and it is this name by which a person gains access to use the computer. Some system services also run using restricted or privileged user accounts.
Managing users is done for the purpose of security by limiting access in certain specific ways. The superuser (root) has complete access to the operating system and its configuration; it is intended for administrative use only. Unprivileged users can use several programs for controlled privilege elevation.
Any individual may have more than one account as long as they use a different name for each account they create. Further, there are some reserved names which may not be used such as «root».
Users may be grouped together into a «group», and users may be added to an existing group to utilize the privileged access it grants.
Note: The beginner should use these tools carefully and stay away from having anything to do with any other existing user account, other than their own.
Permissions and ownership
The UNIX operating system crystallizes a couple of unifying ideas and concepts that shaped its design, user interface, culture and evolution. One of the most important of these is probably the mantra: «everything is a file,» widely regarded as one of the defining points of UNIX. This key design principle consists of providing a unified paradigm for accessing a wide range of input/output resources: documents, directories, hard-drives, CD-ROMs, modems, keyboards, printers, monitors, terminals and even some inter-process and network communications. The trick is to provide a common abstraction for all of these resources, each of which the UNIX fathers called a «file.» Since every «file» is exposed through the same API, you can use the same set of basic commands to read/write to a disk, keyboard, document or network device.
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.
Every file on a GNU/Linux system is owned by a user and a group. In addition, there are three types of access permissions: read, write, and execute. Different access permissions can be applied to a file’s owning user, owning group, and others (those without ownership). One can determine a file’s owners and permissions by viewing the long listing format of the ls command:
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
The first column displays the file’s permissions (for example, the file initramfs-linux.img has permissions -rw-r—r— ). The third and fourth columns display the file’s owning user and group, respectively. In this example, all files are owned by the root user and the root group.
total 16 drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared
In this example, the sf_Shared directory is owned by the root user and the vboxsf group. It is also possible to determine a file’s owners and permissions using the stat command: