Создание
Синтаксис:
useradd <имя пользователя>
* опции не являются обязательными при создании пользователя.
Пример:
useradd dmosk
* в данном примере создается учетная запись dmosk.
Для учетной записи стоит сразу создать пароль:
passwd dmosk
* после ввода, система попросит ввести пароль дважды.
Ключи (опции)
Ключ | Описание и примеры |
---|---|
-b | Задает базовый каталог для домашнего каталогаuseradd dmosk -b /var/home |
-c | Создает комментарий для описания учетной записиuseradd dmosk -c «Пользователя для управления системой» |
-d | Полный путь к домашнему каталогу пользователяuseradd dmosk -d /home/newuser |
-D | Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователейuseradd dmosk -Ds /bin/bash |
-e | Дата, после которой учетная запись устареет.useradd dmosk -e 2017-12-31 |
-f | Число дней, после которого учетная запись с устаревшим паролем будет заблокированаuseradd dmosk -f 0 |
-g | Задает основную группуuseradd dmosk -g altternativegroup |
-G | Задает дополнительные группыuseradd dmosk -G wheel |
-k | Путь к источнику скелета (файлы с шаблонами для нового пользователя)useradd dmosk -k /var/skel |
-m | При создании пользователя создать домашний каталогuseradd dmosk -m |
-M | Не создавать домашний каталогuseradd dmosk -M |
-N | Не создавать основную группу с таким же именем, как у пользователяuseradd dmosk -N |
-o | Разрешает создание учетной записи с повторяющимся UIDuseradd dmosk -u 15 -o |
-p | Задает парольuseradd dmosk -p pass |
-r | Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN — SYS_UID_MAX из файла /etc/login.defs)useradd dmosk -r |
-R | Каталог, в который выполняется chrootuseradd dmosk -R /var/chroot/home |
-s | Путь до оболочки командной строкиuseradd dmosk -s /bin/csh |
-u | Задает UIDuseradd dmosk -u 666 |
-U | Имя группы будет таким же, как у пользователяuseradd dmosk -U |
Актуальный список ключей можно получить командой useradd -h.
Как передать привилегии Sudo
В FreeBSD, как и в других Unix-подобных ОС, пользователи, имеющие доступ к команде sudo, могут запускать команды с привилегиями суперпользователя. То есть, команда sudo расширяет привилегии обычного пользователя до привилегий пользователя root.
В FreeBSD такими привилегиями обладают все пользователи, входящие в группу wheel; причиной такого поведения является следующая строка в файле sudoers (/usr/local/etc/sudoers):
То есть, чтобы пользователь получил расширенные привилегии, нужно добавить его в группу wheel; для этого используйте команду pw groupmod (не забудьте указать имя своего пользователя):
Эта команда добавит указанного пользователя в группу wheel в файле /etc/group, и таким образом пользователь сможет выполнять команды как суперпользователь.
Перечень всех известных программ и утилит о управлению учетными записями и группами пользователей
Ну и в завершении перечислю все возможные приложения и утилиты для мониторинга/изменения/добавления пользователей и групп:
•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) – проверка синтаксиса файла групп;
Смена пароля программами passwd и chpass
Как изменить пароль у пользователя freeBSD? — спросите Вы. Элементарно! — ответит вам любой читавший дальше =).
Программки для смены пароля: passwd и chpass.passwd — это обычный способ изменения собственного пароля пользователя, или пароля другого пользователя суперпользователем.
Предствим на минутку что Вы простой юзер с именем test и хотите себе поменять пароль:
Теперь представим что Вы суперпользователь и хотите изменить пароль простому смертному юзеру:
Рассмотрим теперь более функциональную примочку — chpass.chpass — может не только менять пароль пользователя, а и остальные его данные.
Только системные администраторы с правами суперпользователя могут изменять информацию и пароли других пользователей с помощью программы chpass. Простые пользователи тоже могут использовать эту программу, но изменять позволено лишь небольшую часть этой информации, и только для своей учетной записи.
И так работа программы chpass для суперюзера:
Локализация Xorg
осталась неизменной, так как основная масса DE, WM и X-Apps в настоящее время ориентирована на работу с UTF-8, больше не нужно использовать shell-wrapper’ы или переопределять переменную LANG для их запуска.
фонты в Xorg:
— при использовании , необходимо использовать фонты с поддержкой iso10646
— misc содержат исправленные фонты iso10646, но по умолчанию не прописаны в , если есть привычка использования алиасов, придется прописать их самостоятельно.
Например, как советует Markus Kuhn Unicode fonts and tools for X11.
— фонты misc с iso10646 и остальные фонты с iso10646, необходимо указывать первыми в
например так:
Вы можете установить собственные предпочтения.
посмотреть установленные фонты:
— посмотреть фонты iso10646
графические эмуляторы терминала с encoding, примеры с KOI8-R:
— mate-terminal, gnome-terminal:
переменные среды LANG,CHARSET в соответствии с использованием locale, например на удаленной стороне, или для локальной работы с файлами в KOI8-R – xterm с encoding
Управление пользователями и переменная $EDITOR
Такие инструменты управления пользователями, как chpass и vipw (как и многие другие инструменты администрирования системы), запускают текстовый редактор, когда возникает необходимость внести изменения. Вообще говоря, эти программы определяют предпочтительную программу текстового редактора, исходя из содержимого переменной окружения . С помощью этой переменной можно назначить редактором по умолчанию vi, Emacs или какой-нибудь другой имеющийся редактор. Я рекомендую использовать Vigor (/usr/ports/editors/vigor), клон редактора vi(1) с анимированным помощником в виде скрепки, благодаря которому пользователи, привыкшие к Microsoft Office, будут чувствовать себя увереннее.
Как узнать, какие оболочки установлены в системе
Чтобы изменить оболочку по умолчанию для пользователя, нужно знать, какие оболочки доступны и как они правильно называются.
Один из способов узнать правильные названия оболочек и пути до исполнимых файлов — это запустить следующую команду:
chsh -l
Но предыдущая команда срабатывает не на всех дистрибутивах (работает на Arch Linux, но не работает на производных Debian).
Поэтому можно воспользоваться универсальным методом — посмотреть содержимое файла /etc/shells:
cat /etc/shells
В файле shells собраны пути к действующим оболочкам входа.
/etc/shells — это текстовый файл, который содержит полные пути к действующим оболочкам входа. Этот файл просматривается программой chsh и доступен для запроса другими программами.
Имейте в виду, что есть программы, которые обращаются к этому файлу, чтобы узнать, является ли пользователь обычным пользователем; например, демоны FTP традиционно запрещают доступ пользователям с оболочками, не включёнными в этот файл.
Настройка sudo (root права) пользователю во FreeBSD
sudo
pkg update
pkg install sudo
# cd /usr/local/etc # ls -l sudoers -r--r----- 1 root wheel 3646 20 авг. 21:36 sudoers
# chmod u+w /usr/local/etc/sudoers
# mcedit /usr/local/etc/sudoers
... ## ## Runas alias specification ##
##
## User privilege specification
##
root ALL=(ALL) ALL
sysadmin ALL=(ALL) ALL
## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALLNOPASSWDsu
$ su service zabbix-server restart
Удаление пользователей используя rmuser
И так добавить — добавили. Теперь нужно знать как удалить /> Помните «ломать — не строить!» Удалить куда проще чем добавить пользователя и назначить ему нужные настройки и права.
Удаляем следующей программой: rmuserЧто может эта программа:
- Удаление записи пользователя из crontab (если она присутствует).
- Удаляет задачи at, принадлежащие пользователю.
- Уничтожает все процессы, принадлежащие пользователю.
- Удаляет пользователя из локального файла паролей.
- Удаляет домашний каталог пользователя (если он принадлежит пользователю).
- Удаляет принадлежащую пользователю входящую почту из /var/mail.
- Удаляет все файлы, принадлежащие пользователю, из каталогов с временными файлами, например /tmp.
- Наконец, удаляет имя пользователя из всех групп, которым оно принадлежит, в /etc/group.
Если желаете что бы программа не грузила Вас всеми этими вопросами — используйте параметр -y (rmuser -y) фактически мы соглашаемся на все условия.
Управление пользователями и группами используя pw
Ну и самое вкусное в конце. pw — это утилита командной строки для создания, удаления, модифицирования и отображения пользователей и групп. Она функционирует как внешний интерфейс к системным файлам пользователей и групп. У pw очень мощный набор параметров командной строки, что делает это программу подходящей для использования в shell скриптах, но новым пользователям она может показаться более сложной, чем другие представленные здесь команды.
Добавим юзера test с помощью утилиты pw:
Пояснение использованных ключей:-s – указывает какой терминал будет использоваться, поле shell-с – комментарии к созданному пользователю, поле gecos-e – время жизни аккуанта, поле expire. Формат поля аналогичен опции ‘-p’-p – время жизни пароля, поле change. Формат задания даты или времени таков:
dd-mm-yy, где dd – день, mm – месяц, yy – год. Или используется следующий
формат: +0mhdwoy, где m – минуты, h – часы, d – дни, w – недели, o – месяц, y — год-m – заставляет создать домашний каталог пользователя и скопировать в него стандартные файлы
и каталога /usr/share/skel-b – базовая директория в которой будет находится домашний каталог пользователя, поле home_dir-L – задаёт класс для пользователя из файла login.conf, поле class
Что бы создать группу noname и переместить в нее пользователя test используем следующую комбинацию:
Что бы добавить пользователя test в уже существующую группу wheel используем:
Расписывать все возможности pw можно долго. Основные возможности перед Вамм.
Установка FreeBSD 13.0
2. После загрузки образа установщика FreeBSD запишите его на носитель (CD/DVD или USB) и загрузите систему со вставленным носителем. После загрузки системы с установочным носителем появится следующее меню.
Меню загрузки FreeBSD
3. По умолчанию меню будет ждать ввода данных пользователя в течение 10 секунд, прежде чем загрузиться установщик FreeBSD. Или мы можем нажать клавишу «Backspace«, чтобы продолжить установку, а затем нажать клавишу «Enter«, чтобы загрузиться в FreeBSD. После завершения загрузки появится приветственное меню со следующими опциями.
Выберите Пункт Установка FreeBSD
Нажмите Enter, чтобы выбрать опцию по умолчанию «Установить«. Или вы можете выбрать «Shell» для доступа к программам командной строки для подготовки дисков перед установкой. Так же можно выбрать опцию «Live CD«, чтобы попробовать FreeBSD перед ее установкой. Но здесь мы будем использовать опцию по умолчанию «Установить«, так как мы устанавливаем FreeBSD.
4. Далее отображается список ключевых раскладок, просто выберите опцию по умолчанию, чтобы продолжить.
Выбор раскладки клавиш FreeBSD
5. Далее укажите имя хоста для системы, я использовал freebsd.tecmintlocal.com как мое имя хоста.
Установить имя хоста
6. Выберите компоненты для установки для FreeBSD, по умолчанию каждый параметр предварительно выбран.
Выберите компоненты для установки на FreeBSD
7. На этом шаге нам нужно разбить диск на разделы для нашей установки. Здесь у вас будет четыре варианта:
- Auto (ZFS) – Эта опция автоматически создает зашифрованную корневую систему на ZFS с использованием файловой системы ZFS с поддержкой загрузочных сред.
- Auto (UFS) – Этот параметр автоматически создает разделы диска с использованием файловой системы ZFS.
- Вручную – Этот параметр позволяет продвинутым пользователям создавать настраиваемые разделы из параметров меню.
- Shell – Эта опция позволяет пользователям создавать настраиваемые разделы с помощью инструментов командной строки, таких как fdisk, gpart и т. Д.
Выберем опцию «Вручную» для создания разделов в соответствии с нашими потребностями.
Ручное разделение дисков FreeBSD
8. После выбора «Ручное секционирование‘ откроется редактор разделов с выделенным диском»ad0» и выберите Создать для создания допустимой схемы секционирования.
Выберите Раздел диска FreeBSD
9. Затем выберите GPT, чтобы создать таблицу разделов. GPT обычно является наиболее предпочтительным методом для компьютеров amd64. Старые компьютеры, которые не совместимы с GPT, должны использовать MBR.
Выберите раздел GPT
Созданный раздел GPT
Создание пользователя
Для создания пользователя проще всего использовать утилиту adduser, которая основана на команде pw. Команда adduser добавляет пользователя в систему, выполняя все необходимые действия в файлах passwd, master.passwd и group, и создает новый домашний каталог. Команду можно запустить в интерактивном режиме (т.е., с запросами информации о новом пользователе) или в нон-интерактивном режиме (что удобнее при создании группы пользователей). В данном руководстве рассматривается использование команды в интерактивном режиме.
Чтобы использовать adduser в интерактивном режиме, что позволяет создавать одного пользователя за один раз, просто запустите команду без аргументов:
На данном этапе нужно будет предоставить информацию о новом пользователе, ответив на серию вопросов. Эти вопросы выглядят так (условные ответы на них выделены красным):
Многие поля можно оставить незаполненными, это установит значения по умолчанию (как, например, в вышеприведенном коде); однако есть и пара важных строк:
- Username: введите имя нового пользователя.
- Login group is <user>. Invite <user> into other groups?: это поле позволяет добавить пользователя в другие группы, указав названия групп через пробел. Обычно это используется для предоставления новому пользователю привилегий sudo путем добавления его в группу wheel. В FreeBSD пользователи группы wheel могут запускать команды с привилегиями суперпользователя. Чтобы оставить пользователю его стандартные права, не заполняйте это поле.
Все остальные поля довольно очевидны; везде, кроме поля для паролей, можно оставить значения по умолчанию. Более подробное описание всех полей можно получить при помощи команды man adduser.
После заполнения полей на экране появится основная информация о новом пользователе.
Просмотрите информацию о пользователе и, если все верно, ответьте yes в поле «OK?», после чего пользователь будет добавлен в систему, а на экране появится подтверждение:
Затем команда спросит, нужно ли создать еще одного пользователя:
Если больше не нужно создавать пользователей, выберите no. В противном случае введите yes и повторите весь вышеописанный процесс
Удаление пользователей используя rmuser
И так добавить — добавили. Теперь нужно знать как удалить Помните «ломать — не строить!» Удалить куда проще чем добавить пользователя и назначить ему нужные настройки и права.
Удаляем следующей программой: rmuserЧто может эта программа:
- Удаление записи пользователя из crontab (если она присутствует).
- Удаляет задачи at, принадлежащие пользователю.
- Уничтожает все процессы, принадлежащие пользователю.
- Удаляет пользователя из локального файла паролей.
- Удаляет домашний каталог пользователя (если он принадлежит пользователю).
- Удаляет принадлежащую пользователю входящую почту из /var/mail.
- Удаляет все файлы, принадлежащие пользователю, из каталогов с временными файлами, например /tmp.
- Наконец, удаляет имя пользователя из всех групп, которым оно принадлежит, в /etc/group.
Если желаете что бы программа не грузила Вас всеми этими вопросами — используйте параметр -y (rmuser -y) фактически мы соглашаемся на все условия.
Разметка диска FreeBSD
10. После создания таблицы разделов, вы можете видеть, что диск был изменен на таблицу разделов GPT, выберите «Создать«, чтобы определить разделы.
Схема раздела FreeBSD GPT
11. Теперь нам нужно определить три раздела для /boot, Swap, . Я собираюсь определить свой размер раздела следующим образом.
- /boot – Размер 512 МБ
- Swap размером 1 ГБ
- Размер 15 ГБ
Выберите ‘Создать‘ и определите разделы один за другим, при первой загрузке «Тип«должен быть» freebsd-boot» и размер здесь я использовал 512K и нажмите OK, чтобы создать следующий раздел подкачки.
Создание загрузочного Раздела
Выберите ‘Создать‘ и установите раздел подкачки введите 1 ГБ и нажмите OK.
Создать раздел Подкачки
Затем снова выберите ‘Создать‘ и создайте раздел. Теперь используйте оставшееся место для раздела /. Используйте тип freebsd-ufs и точку монтирования
Создание Корневого Раздела
12. После создания всех разделов мы получим нижеприведенный макет. Выберите ‘Готово‘, чтобы перейти к следующему шагу установки.
Разделы диска FreeBSD
13. После создания дисков следующее окно предоставляет последний шанс отредактировать изменения до того, как выбранные диски будут отформатированы. Если вы хотите внести изменения, выберите , чтобы вернуться в главное меню секционирования, или выберите , чтобы выйти из программы установки без изменения каких-либо изменений на диске. Но здесь нам нужно выбрать «Commit«, чтобы начать установку, и нажать ‘Enter‘.
Разделы диска FreeBSD
14. Как только установщик отформатирует все выбранные диски, он инициализирует разделы для загрузки и проверки всех выбранных компонентов. А затем загруженные компоненты извлекаются на диск. Как показано на рисунке ниже.
Извлечение архива FreeBSD
15. Как только все запрошенные дистрибутивы будут извлечены на диск, в следующем окне появится первый экран конфигурации после установки. Здесь вам нужно установить пароль «root‘ для нашего сервера FreeBSD.
Установка пароля Root в FreeBSD
Программа для смены оболочки пользователя — chsh
chsh — измените оболочку входа пользователя на постоянной основе.
Если вы временно хотите изменить шелл, то установите его и запустите. Примеры команд запуска различных оболочек:
sh bash pwsh dash zsh
chsh используется для изменения оболочки входа в систему. Если оболочка не указана в командной строке, chsh запрашивает её.
chsh поддерживает нелокальные записи (kerberos, LDAP и т.д.), если они связаны с libuser, в противном случае используйте ypchsh, lchsh или любую другую реализацию для нелокальных записей.
Синтаксис команды:
sudo chsh -s ОБОЛОЧКА
В качестве ОБОЛОЧКИ нужно указать одну из оболочек, как они перечислены в файле /etc/shells.
chsh примет полный путь к любому исполняемому файлу в системе.
Поведение по умолчанию для пользователей без полномочий root — принимать только оболочки, перечисленные в файле /etc/shells, и выдавать предупреждение для пользователя root. Его также можно настроить во время компиляции, чтобы выдавать предупреждение только для всех пользователей.
Изменение учетных записей: passwd(1), chpass(1) и другие
Управление пользователями заключается не только в создании и удалении учетных записей. Время от времени эти учетные записи необходимо изменять. Система FreeBSD включает в себя некоторые инструменты, предназначенные для редактирования учетных записей, самыми простыми из которых являются passwd(1), chpass(1), vipw(8) и pw(8). Все они работают с тесно взаимосвязанными файлами /etc/master.passwd, /etc/passwd, /etc/spwd.db и /etc/pwd.db. Для начала мы рассмотрим эти файлы, а затем перейдем к обзору указанных выше инструментов.
Файлы /etc/master.passwd, /etc/passwd, /etc/spwd.db и /etc/pwd.db хранят информацию об учетных записях пользователей. Каждый файл имеет свой формат и свое назначение. Файл /etc/master.passwd является источником информации для аутентификации и содержит пароли пользователей в зашифрованном виде. У обычных пользователей нет прав для просмотра содержимого файла /etc/master.passwd. Однако им должна быть доступна основная информация, хранящаяся в учетных записях, иначе как непривилегированные программы смогут идентифицировать пользователя? В файле /etc/passwd перечислены все учетные записи без привилегированной информации (например, без зашифрованных паролей). Содержимое этого файла доступно для чтения любому пользователю, оттуда он может извлекать основные сведения об учетной записи.
Информация из учетной записи требуется многим программам, а синтаксический анализ текстовых файлов, как известно, — процедура достаточно медленная. В наши дни мощных ноутбуков слово медленная теряет свой смысл, но это было насущной проблемой во времена, когда стиль диско шагал по Земле. По этой причине в системах BSD появились файлы базы данных, которые создаются на основе /etc/master.passwd и /etc/passwd. (Другие UNIX-подобные системы обладают похожей функциональностью, реализованной на основе других файлов.) Файл /etc/spwd.db создается непосредственно из /etc/master.passwd и содержит секретную информацию о пользователях, этот файл доступен для чтения только пользователю root. Файл /etc/pwd.db доступен для чтения всем пользователям, но содержит ограниченный набор сведений, содержащихся в файле /etc/passwd.
Всякий раз, когда какая-либо программа управления пользователями изменяет информацию об учетной записи, хранящейся в файле /etc/master.passwd, FreeBSD запускает pwd_mkdb(8) для обновления трех других файлов. Например, все три программы, passwd(1), chpass(1) и vipw(8), позволяют вносить изменения в основной файл с паролями и все три программы вызывают pwd_mkdb(8) для обновления информации во взаимосвязанных файлах.
Изменение пароля
Для изменения пароля используется программа passwd(1). Пользователи могут изменять свои собственные пароли, а пользователь root имеет право изменять пароли любых пользователей. Чтобы изменить свой собственный пароль, достаточно просто ввести в строке приглашения к вводу команду .
# passwd
Если вы изменяете свой собственный пароль, passwd(1) сначала потребует ввести текущий пароль. Сделано это для того, чтобы никто другой не смог изменить пароль без ведома самого пользователя. Вообще, когда вы покидаете терминал, было бы желательно всегда завершать сеанс работы с системой, но даже если вы этого не делаете, эта простая проверка, которую проводит passwd(1), обезопасит вас от проделок шутников. После этого нужно будет дважды ввести новый пароль и все. Если вы обладаете привилегиями суперпользователя и вам требуется изменить пароль другого пользователя, просто передайте программе passwd имя этого пользователя в виде аргумента.
# passwd mwlucas
Обратите внимание: пользователю root необязательно знать старый пароль другого пользователя — пользователь root может изменить учетную информацию любого пользователя в системе, как ему заблагорассудится