Главная > Операционные системы > UNIX > BSD > FreeBSD
Управление пользователями во FreeBSD
Полномочия пользователей и файлов,
принадлежащих им, формирует концепцию ОС UNIX. Так как FreeBSD является
многопользовательской ОС и принадлежит к семейству ОС относящихся к
общему названию UNIX, поэтому умение грамотно управлять пользователями
позволит избежать различных неприятностей.
Учётные записи пользователей и групп хранятся в двух файлах:
/etc/master.passwd - в данном файле хранятся учётные данные пользователей и их пароли в зашифрованном виде.
/etc/group - файл, отвечающий за группы
В FreeBSD используется технология теневых паролей - это когда системные данные пользователей разделены на два файла:
1.файл /etc/master.passwd в котором находятся пароли в зашифрованном виде, он имеет права только на чтение и запись для пользователя root
2.файл /etc/passwd, созданный с помощью команды pwd_mkdb(8) (генерация базы с паролями) из файла /etc/master.passwd, он имеет права на чтение для группы и других пользователей, в нём пароли заменены на *. Также с помощью команды pwd_mkdb(8) из файла /etc/master.passwd создаются два файла - /etc/pwd.db и /etc/spwd.db
(индексированные базы данных), они предназначены для ускорения поиска, в
случае большого количества системных пользователей. Файл /etc/spwd.db является секретным как и файл /etc/master.passwd и имеет теже права доступа и владельца.
Рассмотрим синтаксис файла /etc/master.passwd:
root:$1$SJSDMXQE$LRpetLGNt5xO8k980r2om.:0:0::0:0:Charlie &:/root:/bin/csh
toor:*:0:0::0:0:Bourne-again Superuser:/root:
daemon:*:1:1::0:0:Owner of many system processes:/root:/usr/sbin/nologin
operator:*:2:5::0:0:System &:/:/usr/sbin/nologin
bin:*:3:7::0:0:Binaries Commands and Source:/:/usr/sbin/nologin
tty:*:4:65533::0:0:Tty Sandbox:/:/usr/sbin/nologin
kmem:*:5:65533::0:0:KMem Sandbox:/:/usr/sbin/nologin
games:*:7:13::0:0:Games pseudo-user:/usr/games:/usr/sbin/nologin
| Каждая новая строка в файле описывает пользователя, она содержит в себе столбцы разделённые (:).
Столбцы по порядку:
1.name - логин пользователя, который будет использоваться при входе в систему
2.password - зашифрованный пароль в файле /etc/master.passwd и * в /etc/passwd
3.uid - уникальный идентификатор пользователя.
4.gid - уникальный идентификатор группы.
5.class - класс настроек и установок, который берётся из файла /etc/login.conf
6.change - время жизни пароля, т.е период через который
необходимо сменить пароль. Количество секунд с 1 января 1970. Проверить
на какую дату указывают секунды в поле можно с помощью команды: date -r seconds, где seconds - значение поля.
7.expire - время жизни аккуанта, после прошествия этого периода
времени он заблокируется, 1 января 1970. Проверить на какую дату
указывают секунды в поле можно с помощью команды: date -r seconds, где seconds - значение поля.
8.gecos - общая информация о пользователе
9.home dir - домашний каталог пользователя
10.shell - оболочка, которую будет использовать пользователь
При создании файла /etc/passwd из файла /etc/master.passwd поля class, change, expire удаляются, а пароль заменяется на *.
Поле логина (name) не может начинаться с символа (-), так же не
советуется использовать прописные буквы в имени пользователя и разделять
логин символом (.), что может вызвать проблемы при работе с почтой. В
файле /etc/master.passwd поле password зашифровано, если
поле отсутствует, т.е вместо пароля стоит символ *, то доступ к машине
вы не получите. Для быстрого редактирования файла /etc/master.passwd и без последующего применения команды pwd_mkdb(8) применяется команда vipw(8), это тот же редактор vi(1), поэтому перед применение команды vipw(8) ознакомьтесь с man страницей по vi(1).
Пример:
# vipw
root:$1$SJSDMXQE$LRpetLGNt5xO8k980r2om.:0:0::0:0:Charlie &:/root:/bin/csh
toor:*:0:0::0:0:Bourne-again Superuser:/root:
daemon:*:1:1::0:0:Owner of many system processes:/root:/usr/sbin/nologin
operator:*:2:5::0:0:System &:/:/usr/sbin/nologin
bin:*:3:7::0:0:Binaries Commands and Source:/:/usr/sbin/nologin
tty:*:4:65533::0:0:Tty Sandbox:/:/usr/sbin/nologin
kmem:*:5:65533::0:0:KMem Sandbox:/:/usr/sbin/nologin
games:*:7:13::0:0:Games pseudo-user:/usr/games:/usr/sbin/nologin
| При использовании (*) в /etc/master.passwd вместо поля password
запрещается авторизация в системе так как символ (*) не может быть
зашифрованным паролем. Например, для временной блокировки пользователя,
можно использовать вместо поля password в файле /etc/master.passwd
такую комбинацию *LOCKED* или добавить такую комбинацию в начало
пароля, если он существует, а при разблокировке просто её удалить, для
этого Вам понадобится команда vipw(8). Для того, чтобы посмотреть как блокировать аккуант с помощью командной строки прочтите man по команде pw(8).
Поле gecos дающее общую информацию о пользователи, содержит в себе следующие поля, разделённые запятой:
name - полное имя пользователя
office - номер офиса
wphone - рабочий телефон
hphone - домашний телефон
Поле home_dir, определяет путь к домашнему каталогу пользователя, владельцем которого он будет являться.
Поле shell, определяет оболочку пользователя, список доступных оболочек для пользователя можно посмотреть в файле /etc/shells.
Для пользователя root изменять текущую оболочку не рекомендуется, т.к в
случае аварии файловая система /usr может быть не примонтирована, в
следствии чего пользователь root не получит доступ к системе.
Если Вы хотите запретить доступ пользователя к системе, замените его оболочку на /sbin/nologin. Данная программа более корректно, чем другие (пр.: /dev/null) обработает попытку входа пользователя.
При добавлении нового пользователя необходимо выбрать
уникальное имя (login name) которое не будет встречаться в файле /etc/passwd и /etc/mail/aliases.
Так же имя не должно начинаться с символа (-) и содержать в себе символ
(.), и прописные буквы, так как могут возникнуть непредвиденные
ситуации при работе с почтой. Новый пользователь получает уникальный id -
UID и становится членом группы, имя которой совпадает с именем
пользователя, в которой он будет один. Такая стратегия именования группы
позволяет улучшить безопасность и гибкость при управлении доступом. UID
и имя пользователя(login name) являются уникальными в системе и будут
использоваться при осуществлении контроля доступа к файловой системе.
После добавления пользователя в систему, в его домашний каталог
копируются файлы .profile (выполняется при заходе пользователя в систему), если используется оболочка /bin/sh или .cshrc(при старте оболочки) и .login(при заходе пользователя в систему), если используется оболочка /bin/csh. Все эти файлы копируются из каталога /usr/share/skel.
В файле /etc/group находятся все локальные группы
системы. Данный файл можно редактировать любым текстовым редактором на
Ваше усмотрение, т.е чтобы добавить группу достаточно отредактировать
вышеуказанный файл.
Файл состоит из отдельных строк, столбцы в которых
разделены с помощью специального символа (:). Строка состоит из
следующих столбцов или полей:
group - название или имя группы
password - зашифрованный пароль для группы
gid - уникальный номер группы
member - члены данной группы
В данном файле, каждая строка, начинающаяся с символа (#) является комментарием.
Поле group является именем группы, которое определяет доступ пользователям к файлам, являющимися членами данной группы. С полем group
ассоциируется поле gid, которое определяет уникальный идентификатор
группы. Два этих поля неразрывно связаны, точно также как имя
пользователя и его UID. Поле password является необязательным, оно редко используется и поэтому символ (*) никак лучше подходит вместо шифрованного пароля. Поле member
содержит членов группы, виде имён пользователей разделённых между собой
с помощью сивола (,) - запятая. В группе может находится не
больше 200 пользователей. Максимальная длина строки в файле /etc/group 1024 символа.
Управление ресурсами пользователя и ограничения.
Управление ресурсами пользователя осуществляется с
помощью классов, которые определяются в специальном файле /etc/login.conf,
а также задаются пользователю при его добавлении. Если для
пользователя не определён какой-либо класс, то ему присваивается класс -
default. Каждый класс имеет набор характеристик в виде имя=значение.
Для ускорения доступа к данным система непосредственно не читает файл /etc/login.conf, а вместо этого читает файл /etc/login.conf.db, который создаётся специальной командой cap_mkdb(1)
Поэтому после каждого изменения файла /etc/login.conf не забывайте исполнять команду cap_mkdb(1)
Изменить или задать класс пользователю можно в файле /etc/master.passwd, в котором для этого имеется специальное поле class.
Это обсуждалось выше. Пользователь с UID = 0, т.е администратор системы
(root) не имеет действующего класса, к нему применяется запись root в /etc/login.conf или класс default, если запись root отсутствует.
Пользователь может для себя создать индивидуальный файл с настройками ресурсов в домашнем каталоге под названием ~/login.conf, этот файл использует тот же синтаксис, что и файл /etc/login.conf,
но он содержит только запись id с именем . В этом файле
пользователь может только уменьшать предоставляемые ему ресурсы, но
никак не увеличивать.
В качестве разделителя полей в файле /etc/login.conf
используется символ (:). Первое поле в файле означает имя класса,
который в последующем будет применяться к тому или иному пользователю.
Каждое поле в файле /etc/login.conf может принимать следующие значения:
bool - если параметр является булевым, то оно может принимать следующие значения - true или false; Просто запись опции в файле /etc/login.conf без указания явного значения означает - true. Для определения false необходимо явно указать.
file - опция принимает значение в виде пути к файлу;
program - опция принимает значение в виде пути к исполняемуму файлу или программе;
list - опция принимает значения в виде списка разделённого запятой или пробелом;
path - опция принимает значения путей, разделённых запятой или пробелом. Тильда (~) раскрывается в домашний каталог пользователя;
number - числовой значение, в десятичном, шестнадцатиричном или восьмеричном виде.
string - в виде строки;
size - размер. По умолчанию принимается в байтах. Может принимать следующие суффиксы для обозначения единиц размеров:
b - байты
k - килобайты
m - мегабайты
g - гигабайты
t - терабайты
Возможно объединение значений с указанием соответствующих суффикосв: 1m30k
time - период времени, по умолчанию выраженный в секундах. В качестве суффикса используются следующие обозначения:
y - год
w - неделя
d - день
h - час
m - минуты
s - секунды
Возможно объединение значений с указанием соответствующих суффиксов: 2h30m
unlimited - отсутствие ограничений
Ограничение ресурсов:
Название опции
|
Тип значения
|
Описание
|
coredumpsize
|
size
|
Ограничивает размер файла coredump
|
cputime
|
time
|
Ограничивает время использования процессора
|
datasize
|
size
|
Максимальный размер данных
|
filesize
|
size
|
Максимальный размер файла. Запрещает создавать файлы больше указанного размера
|
maxproc
|
number
|
Максимальное число процессов которые может создать пользователь
|
memorylocked
|
size
|
Максимальный размер в core memory котрую может заблокировать процесс
|
memoryuse
|
size
|
Максимальный размер памяти которую может использовать процесс
|
openfiles
|
number
|
Максимально количество файлов которые может открыть каждый процесс
|
sbsize
|
size
|
Максимально разрешённый размер сокетбуфера
|
vmemoryuse
|
size
|
Максимально разрешенный размер виртуальной памяти для каждого процесса
|
stacksize
|
size
|
Максимальный размер стека
|
|
Ресурсы могут ограничиваться как мягкими, так и жёсткими
ограничениями, разница между ними состоит в том, что жёсткие
ограничения пользователь не сможет увеличивать, а мягкие сможет, но не
больше чем жёсткое значение. Для обозначения мягких и жёстких
ограничений используются специальные суффиксы -max и -cur. Пр: filesize-max
Окружение пользователя:
Название опции
|
Тип значения
|
Дефолт
|
Описание
|
charset
|
string
|
|
Устанавливает значение переменной окружения $MM_CHARSET. Пр: KOI8-R
|
hushlogin
|
bool
|
false
|
Разрешает (false) показывать файл /etc/motd при
загрузке или запрещает (true). Тоже самое что присутствие файла
~/.hushlogin в домашнем каталоге.
|
ftp-chroot
|
bool
|
false
|
Делать chroot(2) пользователя в его домашнем каталоге при заходе по FTP. Применительно только к стандартному демону ftpd(8).
|
ignorenologin
|
bool
|
false
|
Логин не блокируется nologin.
|
label
|
string
|
|
Политика MAC (maclabel(7)) применяемая к пользователю.
|
lang
|
string
|
|
Устанавливает значение переменной окружения $LANG. Пр: ru_RU.KOI8-R
|
manpath
|
path
|
|
Определяет пути поиска man страниц
|
nocheckmail
|
bool
|
false
|
Показывать состояние почтового ящика при заходе пользователя в систему.
|
nologin
|
file
|
|
Если данный файл существует то отображается его содержимое при
заходе в систему и сессия закрывается. Можно указать данную опцию в
классе для пользователя и заблокировать для него вход в систему если
даже у него в файле /etc/master.passwd установлена оболочка.
|
path
|
path
|
|
Определяет пути поиска выполняемых файлов или программ.
|
priority
|
number
|
|
Определяет первоначальный приоритет пользователя (nice(1)).
|
requirehome
|
bool
|
false
|
Требуется ли пользователю рабочий домашний каталог. Если его нет то пользователь не сможет войти в систему.
|
setenv
|
list
|
|
Устанавливает переменные окружения в виде переменная=значение разделённые запятой
|
shell
|
prog
|
|
Оболочка пользователя. Имеет приоритет над оболочкой указанной в файле /etc/master.passwd.
|
term
|
string
|
|
Определяет тип терминала.
|
timezone
|
string
|
|
Устанавливает значение переменной окружения $TZ. Зоны находятся /usr/share/zoneinfo.
|
umask
|
number
|
022
|
Определяет права на создаваемые файлы. Права рассчитываются вычитанием маски из 666 а на каталог из 777.
|
welcome
|
file
|
./etc/motd
|
Файл приветствия который показывается при заходе пользователя в систему.
|
|
Авторизация пользователя:
Название опции
|
Тип значения
|
Дефолт
|
Описание
|
copyright
|
file
|
|
Дополнительный файл содержащий информацию о кооперайтах
|
host.allow
|
list
|
|
Список удалённых хостов с которых пользователи данного класса могут заходить на машину.
|
host.deny
|
list
|
|
Список удалённых хостов с которых пользователи данного класса не могут заходить на машину.
|
login_prompt
|
string
|
|
Строка выводимая при запросе логина login(1)
|
login-backoff
|
number
|
|
Определяет величину задержки умноженную на 5 секунд между
неправильными логинами после того как исчерпаются попытки входа параметр
ниже. Применимо к неудалённому терминалу.
|
login-retries
|
number
|
10
|
Количество разрешённых неправильных попыток входа прежде чем логин будет признан неудачным.
|
passwd_format
|
string
|
|
Формат в котором будет шифроваться новый пароль. Значения которые
можно использовать - 'md5' 'blf' 'des'. Советую по умолчанию
использовать формат шифрования - 'blf' так как это наиболее
криптостойкий алгоритм.
|
passwd_prompt
|
string
|
|
Приветствие для пароля.
|
times.allow
|
list
|
|
Список периодов времени в течение которых заходить в систему можно
|
times.deny
|
list
|
|
Список периодов времени в течение которых заходить в систему запрещено
|
ttys.allow
|
list
|
|
Список терминалов или групп терминалов которые пользователь с
данным классом может использовать. Группы терминалов указаны в файле
/etc/ttys(5)
|
ttys.deny
|
list
|
|
Список терминалов или групп терминалов которые пользователю с
данным классом запрещено использовать. Группы терминалов указаны в файле
/etc/ttys(5)
|
warnexpire
|
time
|
|
Период времени за который необходимо предупреждать пользователя об истечении срока действия учётной записи.
|
warnpassword
|
time
|
|
Период времени за который необходимо предупреждать пользователя об истечении срока действия пароля.
|
|
В опциях host.allow и host.deny разделителем хостов является запятая.
В опциях times.allow и times.deny записи разделяются запятой. Значения периодов времени записываются в 24 -х часовом формате, отделённых друг от друга дефисом.
Для примера: MoThSa0200-1300 Данная запись
расшифровывается следующим образом: доступ пользователю разрешён по
понедельникам, четвергам, субботам в период с 2 -ч часов ночи до часу
дня. Если обе опции в пользовательском классе отсутствуют, то доступ
разрешается в любое время. Если период времени разрешённый в опции times.allow запрещается периодом времени в файле times.deny, то приоритет имеет опция times.deny.
В опциях ttys.allow и ttys.deny содержаться записи tty устройств, разделённые запятой (без префикса /dev/) и список ttygroups (смотрите getttyent(3) и ttys(5))
к которым пользователь данного класса имеет или не имеет доступ. Если в
опции нет ни одной записи, то пользователь имеет неограниченный доступ.
Параметры пароля такие как минимальная длинна
(minpasswordlen) и параметр отвечающий за предупрждение, если
пользователь вводит пароль только в нижнем регистре (minpasswordcase) не
поддерживаются, для этих ограничений применяется pam модуль pam_passwdqc(8).
Задание классов для системных пользователей является очень
хорошим средством индивидуального ограничения пользователя, но
используйте это средство осознанно и с осторожностью.
Для управления пользователями и группами будут полезны следующие команды:
pw(8) - создание, удаление, изменение, отображение пользователей и групп;
adduser(8) - интерактивное добавление нового пользователя;
rmuser(8) - удаление пользователя из системы;
id(1) - отображение имени пользователя, UID и групп в которых он состоит с указанием их GID;
finger(1) - отображает информацию о системном пользователе;
users(1) - показывает список текущих пользователей;
who(1) - показывает тех кто находится в системе;
whoami(1) - показывает эффективный id пользователя соответствующий имени;
last(1) - показывает когда пользователь пользовался терминалом;
lastlogin(8) - показывает информацию о последнем использовании терминала;
lastcomm(1) - показывает список последних выполняем команд пользователем;
ac(8) - показывает время, которое пользователь находился в системе;
sa(8) - показывает статистику по пользователям;
passwd(8) - смена пароля пользователю;
chpass(1) - смена пароля пользователя;
chfn(1) - изменение пользовательских данных;
groups(1) - показывает кто в каких группах состоит;
chgrp(1) - изменение группы;
chkgrp(8) - проверка синтаксиса файла групп;
Для полноценного использования команд lastcomm(1), sa(8)
Вам необходимо включить учёт используемых ресурсов. Учёт используемых
процессами ресурсов представляет собой метод защиты, при котором
администратор может отслеживать использование системных ресурсов и их
распределение между пользователями для нужд системного мониторинга и
минимального отслеживания команд пользователей.
Для того что бы включить систему учёта используемых ресурсов Вам необходимо выполнить несколько действий.
1.mkdir /var/account
2.touch /var/account/acct
3.accton /var/account/acct
4.echo 'accounting_enable="YES"' >> /etc/rc.conf
|
После выполнения 3 действия Вы уже можите использовать команды lastcomm(1), sa(8). Команда accton(8) включает систему учёта используемых ресурсов.
Практика:
(Для более подробной информации о командах обязательно читайте манны)
Использование системы учёта ресурсов, команда lastcomm(1) и sa(8):
fdesktop1# lastcomm root
lastcomm - root ttyp0 0.023 secs Tue May 19 02:25
cron -F root __ 0.004 secs Tue May 19 02:25
sh - root __ 0.005 secs Tue May 19 02:25
atrun - root __ 0.004 secs Tue May 19 02:25
man - root ttyp0 0.032 secs Tue May 19 02:24
sh - root ttyp0 0.019 secs Tue May 19 02:24
more - root ttyp0 0.071 secs Tue May 19 02:24
zcat - root ttyp0 0.025 secs Tue May 19 02:24
man - root ttyp0 0.038 secs Tue May 19 02:24
sh - root ttyp0 0.020 secs Tue May 19 02:24
zcat - root ttyp0 0.030 secs Tue May 19 02:24
more - root ttyp0 0.039 secs Tue May 19 02:24
lastcomm - root ttyp0 0.014 secs Tue May 19 02:24
man - root ttyp0 0.013 secs Tue May 19 02:24
sh - root ttyp0 0.031 secs Tue May 19 02:24
|
fdesktop1# sa
73 9.617re 0.03cp 0avio 2804k
9 3.187re 0.01cp 0avio 1383k more
13 3.196re 0.00cp 0avio 4158k sh
9 3.197re 0.00cp 2avio 3484k man
9 0.026re 0.00cp 0avio 1547k zcat
7 0.003re 0.00cp 0avio 2386k sa
7 0.002re 0.00cp 0avio 4726k lastcomm
5 0.001re 0.00cp 0avio 4516k ***other
7 0.001re 0.00cp 0avio 4584k mv
|
Добавление нового пользователя в систему, будем использовать команду pw(8):
# pw useradd test -s /bin/sh -c "Test users" -m -b /home -e 03-06-2009 -p 02-6-2009
| Давайте разберём наше действие:
-s - указывает какой терминал будет использоваться, поле shell
-с - комментарии к созданному пользователю, поле gecos
-e - время жизни аккуанта, поле expire. Формат поля аналогичен опции '-p'
-p - время жизни пароля, поле change. Формат задания даты или времени таков:
dd-mm-yy[yy], где dd - день, mm - месяц, yy[yy] - год. Или используется следующий
формат: +0mhdwoy, где m - минуты, h - часы, d - дни, w - недели, o - месяц, y - год
-m - заставляет создать домашний каталог пользователя и скопировать в него стандартные файлы
и каталога /usr/share/skel
-b - базовая директория в которой будет находится домашний каталог пользователя, поле home_dir
-L - задаёт класс для пользователя из файла login.conf, поле class
Результаты работы, из файла /etc/master.passwd:
test:*:1002:1002::40:30:Test users:/home/test:/bin/sh
|
Более интерактивная команда adduser(8), она имеет конфигурационный файл, в котором вы можите предопределить вводимые данные.
Как видим пользователь у нас не имеет пароля, поэтому не сможет войти в
систему, для того что бы задать пароль используем команду passwd(8):
# passwd test
Changing local password for test
New Password:
Retype New Password:
|
Для более корректного удаления пользователя из
системы используйте команду rmuser(8), данная команда не просто удаляет
пользователя из файла /etc/master.passwd, но и все его данные в
системе:
1.Удаляет пользовательский crontab(1), если он существует
2.Удаляет задания пользователя, созданные командой at(1)
3.Отправляет всем процессам работающим от имени этого пользователя сигнал SIGKILL
4.Удаляет пользователя из файла /etc/passwd
5.Удаляет домашнюю директорию пользователя, включая символические ссылки на домашний каталог
6.Удаляет входящие письма из каталога /var/mail
7.Удаляет все файлы владельцем которых является пользователь из каталогов /tmp, /var/tmp и /var/tmp/vi.recover
8.Удаляет пользователя из всех группы, в которых он состоит (файл /etc/groups)
9.Удаляет все очереди сообщений, общую разделяемую память, семафоры
владельцем которых является пользователь. (Для справки: все это
интерфейсы межпроцессорного взаимодействия)
Используйте утилиту rmuser(8) с параметром '-y' что бы она не спрашивала подтверждения на удаление.
Пример удаления без опции '-y' и с опцией 'y':
fdesktop1# rmuser test
Matching password entry:
test:*:1002:1002::0:0:Test users:/home/test:/bin/sh
Is this the entry you wish to remove? y
Remove user's home directory (/home/test)? y
Removing user (test): mailspool home passwd.
fdesktop1# pw useradd test -s /bin/sh -m -b /home -c "Test users"
fdesktop1# rmuser -y test
Removing user (test): mailspool home passwd.
|
Посмотрим теперь информацию о существующих пользователях, для этого будем использовать каманды id(1), finger(1):
fdesktop1# id root
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
|
Как видим утилита показывает информацию, к каким группам принадлежит
пользователь. У данной команды есть много полезных опций, поэтому
почитайте манн.
fdesktop1# id -P root
root:$1$SJSDMXQE$LRpetLGNt5xO8k980r2om.:0:0::0:0:Charlie &:/root:/bin/csh
fdesktop1# finger root
Login: root Name: Charlie Root
Directory: /root Shell: /bin/csh
On since Sun May 17 23:10 (MSD) on ttyp0 from 192.168.0.2
New mail received Wed Feb 18 01:21 2009 (MSK)
Unread since Fri Feb 13 00:52 2009 (MSK)
No Plan.
|
Давайте теперь узнаем кто сейчас находится в системе, для этого будем использовать команды users(1) и who(1):
$ who
root ttyp0 May 17 23:10 (192.168.0.2)
atrium ttyp1 May 17 23:19 (192.168.0.2)
$ users
atrium root
|
Создадим новую группу:
fdesktop1# echo 'test:*:200:atrium' >> /etc/group
fdesktop1# id atrium
uid=1001(atrium) gid=20(staff) groups=20(staff),200(test)
|
Мы создали новую группу 'test' и сразу же добавили в неё пользователя 'atrium'.
fdesktop1# pw groupadd list -M atrium,root
fdesktop1# pw groupshow list
list:*:1002:atrium,root
|
С помощью прекрасной команды pw(8) мы создали группу 'list' и добавили в неё пользователя atrium и root. Так же посмотрели созданную группу.
Главная > Операционные системы > UNIX > BSD > FreeBSD
|