Архив рубрики: Публикации

Пошаговая установка freebsd 11 для чайников



























2/5 — (11 голосов)

Как обычно, сначала нам нужно скачать установочный образ, и только потом может быть выполнена установка и настройка freebsd 11.

Шаг 1. Загрузка образа

На официальном сайте есть несколько версий для разных архитектур, нам нужна amd64 или x86, в зависимости от количества оперативной памяти, которую вы желаете использовать.

Мы будем устанавливать последнюю версию FreeBSD 11.1, но если позже выйдет более новая версия, то я думаю, что статья будет все еще актуальна и для нее.

Шаг 2. Запись образа на диск

Далее вам нужно записать полученный образ на диск или на флешку. Вы можете использовать один из известных вам методов для этого. Например, в Linux вы можете использовать Unetbootin или Etcher, а в Windows есть Rufus.

Далее вставьте носитель в компьютер и измените настройки BIOS так, чтобы загрузка выполнялась из вставленного носителя. Чтобы войти в BIOS, во время загрузки нажмите одну из клавишей: F2, F11, F12 перед загрузкой операционной системы. Затем перейдите на вкладку “Boot” и поставьте там ваш носитель на первое место.

Установка FreeBSD 11

Шаг 1. – Запуск установки.

При первой загрузке нас встречает меню загрузчика FreeBSD.(Рис.4)

  1. Boot Multi User [Enter] –  Загрузка в многопользовательском режиме.
  2. Boot Single User – Загрузка в однопользовательском режиме.
  3. Escape to loader prompt – Переход в командную строку загрузчика.
  4. Reboot – Перезагрузка.

Жмём [Enter]  для выбора первого пункта, или можно подождать 10 секунд и нас автоматически перенаправит к стандартной установке.

Меню загрузчика FreeBSD.

Рис.4 – Меню загрузчика FreeBSD.

Далее нас приветствует уже установщик FreeBSD.(Рис.5)


[перевод] Добро пожаловать в FreeBSD! Вы хотите начать установку или использовать live CD? [/перевод]

  • – Установка.
  • – Переход в консоль.
  • –  Загрузка в режиме Live CD.

Выбираем , Жмём “Enter”.

Установщик FreeBSD.

Рис.5 – Установщик FreeBSD.

Шаг 2. – Выбор раскладки.

Выбираем раскладку. Русская раскладка мне не нужна, меня устраивает раскладка по умолчанию (английская). Жму “Continue with default keymap”.(Рис.6)

Выбор раскладки.

Рис.6 – Выбор раскладки.

Шаг 3. – Имя сервера.

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

Я ввожу – “freebsditdeer”, Жмём .(Рис.7)

Имя сервера FreeBSD.

Рис.7 – Имя сервера FreeBSD.

Шаг 4. – Выбор компонентов.

Выберите дополнительные системные компоненты для установки(Рис.8):

  • base-dbg – Пакеты для отладки системы.
  • doc – Дополнительная документация.
  • kernel-dbg – Пакеты для отладки ядра.
  • lib32-dbg – Пакеты для отладки 32х битных приложений.
  • lib32 – Библиотека совместимости для 32x битных приложений.
  • ports – Дерево портов.
  • src – Дерево исходного кода системы.
  • tests – Тестирование.

Выбор дополнительных системных компонентов для установки.

Рис.8 – Выбор дополнительных системных компонентов для установки.

По умолчанию отмечены lib32 и ports. Для стандартной серверной сборки этих компонентов достаточно. Лично я ничего больше выбирать не буду. а вы – на свое усмотрение. Выбираем (пробелом), а после  жмём < OK >.

Шаг 5. – Разметка диска.

Выбор способа разметки диска.(Рис.9)

  • Auto (UFS) – Автоматическая разметка диска.
  • Manual – Ручная разметка диска.
  • Shell – Ручная разметка через консоль.
  • Auto (ZFS) – Установка на Raid.

Я выбираю автоматическую разметку диска. – Auto (UFS).  Идём далее…

Выбор способа разметки диска.

Рис.9 – Выбор способа разметки диска.

Нам предлагается выбрать куда именно устанавливать FreeBSD: < Entire Disk > – весь диск, или < Partition > – Раздел диска.(Рис.10) Если у вас на жестком диске не одна система, то выбирайте  раздел, но лично у меня чистый диск, предназначенный только для FreeDSD. Я жму – < Entire Disk >.

Выбор расположения системы.

Рис.10 – Выбор расположения системы.

Выберите таблицу разделов. Я выбираю GTP, Жмём < OK >.(Рис.11)

Выбираем таблицу разделов.

Рис.11 – Выбираем таблицу разделов.

Проверьте предложенную разметку диска. По завершении нажмите кнопку «Finish».(Рис.12)

Предложенная разметка диска.

Рис.12 – Предложенная разметка диска.

Даём согласие на применение новой разметки диска. Жмём < Commit >.(Рис.13)

Даём согласие на применение новой разметки диска.

Рис.13 – Даём согласие на применение новой разметки диска.

Шаг 6. – Установка базовой системы.

Установка базовой системы проходит в автоматическом режиме, без участия пользователя. Просто ждём пару минут…(Рис.14)

Установка базовой системы.

Рис.14 – Установка базовой системы.

Шаг 7. – Ввод пароля root.

Вводим пароль суперпользователя root. Из соображений безопасности при вводе пароля на экране ничего меняться не должно, не пугайтесь что пароль у вас не пишется, всё так и должно быть.(Рис.15)

Ввод пароля суперпользователя.

Рис.15 – Ввод пароля суперпользователя.

Шаг 8. – Настройка сети.

Выбираем сетевую карту(интерфейс), так как у меня она одна, то выбирать не приходится. Жмём  < OK >.(Рис.16)

Выбор сетевого интерфейса.

Рис.16 – Выбор сетевого интерфейса.

“Хотим ли мы настроить IPv4 для этого интерфейса?” – Конечно хотим как же нам без сети… Жмём < Yes >.(Рис.17)

Хотим ли мы настроить IPv4 для этого интерфейса?

Рис.17 – Хотим ли мы настроить IPv4 для этого интерфейса?

“Вы хотите использовать DHCP для настройки этого интерфейса?” – Для сервера важно иметь статический(постоянный) IP адрес, для того чтобы он не менялся необходимо прописать его вручную, либо зарезервировать на DHCP сервере, я выбираю первый вариант – прописать вручную, а значит DHCP сервер нам не нужен. Жмём < NO >. (Рис.18) Идём далее…

Вы хотите использовать DHCP для настройки этого интерфейса?

Рис.18 – Вы хотите использовать DHCP для настройки этого интерфейса?

Вводим свои настройки.(Рис.19)

  • IP Address – Вводим IP адрес нашей freebsd.
  • Subnet Mask – Маску сети.
  • Default Router – Шлюз по умолчанию.

Вводим настройки сетевого интерфейса.

Рис.19 – Вводим настройки сетевого интерфейса.

“Хотим ли мы настроить IPv6 для этого интерфейса?” – Нет не хотим. Жмём < NO >.(Рис.20)

Хотим ли мы настроить IPv6 для этого интерфейса?

Рис.20 – Хотим ли мы настроить IPv6 для этого интерфейса?

Предлагается ввести адреса DNS серверов. Если вы получали настройки по DHCP то поля с адресами уже будут заполнены.(Рис.21)

Я ввожу IP адрес своего роутера(шлюза) – 192.168.3.1 и на всякий случай DNS Google – 8.8.8.8. Жмём < OK >.

Вводим DNS сервера.

Рис.21 – Вводим DNS сервера.

Шаг 9. – Выбор локации.

Выбираем свое местоположение, для определения временной зоны. Я проживаю в Санкт-Петербурге и время тут не отличается от московского.

Выбираю регион – “8 Europe”(Рис.22), страну –  “39 Russian Federation”(Рис.23) и часовой пояс – “2 MSK+00 – Moscow area”,подтверждаю выбор – жму < Yes >.(Рис.24)

 Выбор региона.

Рис.22 – Выбор региона.Выбор страны.

Рис.23 – Выбор страны.Выбор часового пояса.

Рис.24 – Выбор часового пояса.

Шаг 10. – Настройка даты и времени.

Настройка даты и времени, Если что-то не совпадает – меняйте. У меня расхождений нет. Дважды Жму < Skip >.(Рис.25)(Рис.26)

Настройка даты.

Рис.25 – Настройка даты.Настройка времени.

Рис.26 – Настройка времени.

Шаг 11. – Настройка автозапуска служб.

Выберите службы, которые вы хотите запускать при загрузке.(Рис.27)

  • local_unbound – Локальное кеширование.
  • sshd – Демон для удаленного подключения по SSH.
  • moused – Поддержка PS/2 клавиатур.
  • ntpd – Сервер времени.
  • powerd – Динамически настраиваемая частота процессора, в зависимости от нагрузки системы.
  • dunpdev – Включить дампы сбоя ядра в /var/crash.

Вам не помешает sshdntpd и powerd. Лично я оставлю только powerd. В следующих статьях мы настроим sshdntpd вручную. Выбираем(пробелом) и жмем < OK >.

Добавление служб в автозагрузку.

Рис.27 – Добавление служб в автозагрузку.

Шаг 12. – Настройки безопасности.

Выберите параметры  безопасности системы.(Рис.28)

  1. Hide processes runing as other users – Скрыть процессы, выполняемые другими пользователями.
  2. Hide processes runing as other groups – Скрыть процессы, выполняемые другими группами пользователей.
  3. Disable reading kernel message buffer for unprivileged users – Отключение чтения буфера сообщений ядра для непривилегированных пользователей.
  4. Disable process debugging facilities for unprivileged users – Отключение средств отладки процессов для непривилегированных пользователей.

  5. Randomize the PID of newly created processes – Рандомизировать PID вновь созданных процессов.
  6. Insert stack guard page ahead of the growable segments – Вставить страницу защиты стека перед растущими сегментами.
  7. Clean the /tmp filesystem on system startup – Очистка каталога /tmp при запуске системы.
  8. Disable opening Syslog network socket (disables remote logging) – Отключить открытие сетевого сокета Syslog (отключает удаленную регистрацию).
  9. Disable Sandmail service – Отключить службу Sendmail.

Отмечаем(пробелом) 3, 4, 7, 8 и если не собираетесь устанавливать на FreeBSD почтовый сервер то и 9. жмём < OK >.

 Выбор параметров безопасности системы.

Рис.28 – Выбор параметров безопасности системы.

Шаг 13. – Добавление учетных записей пользователей.

Вы бы хотели сейчас добавить пользователей в устанавливаемую систему? – Я хотел бы, Жму < Yes >.(Рис.29)

Хотите добавить пользователя?

Рис.29 – Хотите добавить пользователя?

Вводим Username и Full name, Я ввожу дважды – firstdeer. Дальше действуйте на свое усмотрение, я все оставляю по умолчанию, Ввожу и подтверждаю пароль.(Рис.30)

Если вы на 11 шаге выбрали sshd, то рекомендую добавить своего пользователя в группу – wheel, чтобы вы смогли авторизоваться по ssh и получить права суперпользователя.

В строке напишите “wheel”- Login group is firstdeer. Invite firstdeer into other groups? []: wheel. Лично я этого делать не буду.

Добавление нового пользователя.

Рис.30 – Добавление нового пользователя.

Нам предоставят для проверки введенную нами информацию и спросят все ли нас устраивает… OK? (yes/no): вводим yes.(Рис.31)

Получим сообщение: adduser INFO: Successfully added (firstdeer) to the user database.(Успешно добавлен (firstdeer) в пользовательскую базу данных.)

Если вам достаточно одного пользователя то на вопрос “Add another user?/Добавить другого пользователя” напишите “no”. Мне достаточно, я и пишу…

Добавить нового пользователя?

Рис.31 – Добавить нового пользователя?

Настройка графического окружения во FreeBSD

После того как freeBSD установлена и запущена, то первое, что мы увидим это командную строку.

Работать в командной строке не то чтобы не удобно, потому что очень даже удобно, а скорее не по используешь машину как развлекательный медиа центр, и то можно из командной строки слушать музыку, короче говоря, зачем нужна во freeBSD графическая среда каждый решает для себя сам, а в этом посте мы пройдем по шагам как превратить командную строку в графическую среду.

Подготовка к настройке

Если только у вас не настроена команда sudo то залогиньтесь под рутом, а если хотите все делать с командой sudo то сначала настройте sudo.

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

chpass username

Так как в freeBSD в основном приходится работать в командной строке (по крайней мере после установки), сразу же что нужно сделать, это заменить оболочку которая идет по умолчанию на более функциональную, например такую как csh (вторая строчка):

#Changing user information for username. Shell: /bin/csh Full Name: username Office Location: Office Phone: Home Phone: Other information:

Следующее, что может понадобиться это немного настроить интернет если мы выходим туда через роутер. Есть такой файлик, называется /etc/resolv.conf, там прописывается ip адресс маршрутизатора. Перейдите в рута и откроете этот файл на редактирование в идущем по умолчанию редакторе ee:

suee /etc/resolv.conf

и добавьте адрес маршрутизатора, в моем случае его адрес 172.22.193.1:

nameserver 172.22.193.1

Для выхода и сохранения нажмите один раз на Esc и два раза на a.

Теперь должен заработать интернет (в случае если он ранее не работал и по причине что описана выше). Чтобы проверить, что интернет работает про пингуем ресурс ya.ru

ping ya.ru PING ya.ru (213.180.193.3): 56 data bytes 64 bytes from 213.180.193.3: icmp_seq=0 ttl=55 time=19.865 ms 64 bytes from 213.180.193.3: icmp_seq=1 ttl=55 time=23.762 ms 64 bytes from 213.180.193.3: icmp_seq=2 ttl=55 time=20.075 ms 64 bytes from 213.180.193.3: icmp_seq=3 ttl=55 time=19.721 ms

Установка оконного сервера Xorg

После того как мы убедились, что связь есть, можно продолжить дальнейшую настройку freeBSD. Так как мы хотим вместо командной строки видеть графическую среду, то для начала нам нужно установить какую-нибудь реализацию X Window System. Одной из таких реализаций является Xorg. Установим пакет Xorg командой pkg install:

pkg install xorg

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

Так как в дальнейшем нам надо будет редактировать текстовые файлы, нам надо установить более удобный редактор чем ee, например vim и файловый менеджер Midnight commander, так как нам надо будет перемещаться по файловой системе:

pkg install vim mc

На данный момент Xorg у нас есть, но это только оконная система или X Window System которая знает как рисовать окна, как их перемещать, как они между собой перерисовываются когда одно закрывает другое, как они должны взаимодействовать с устройствами ввода, в частности как они должны обрабатывать сообщения поступающие от клавиатуры и мыши, короче говоря реализует все базовые функции графической среды. В принципе для того, чтобы работать в графической среде этого будет достаточно, после вызова команды startx появится какая никакая графическая среда. Однако нам нужно FullHD разрешение, рабочий стол, чтобы было красиво, много эффектов и пр., для этого нам надо еще установить какое-нибудь графическое окружение или среду рабочего стола и таких несколько. Самые популярные это GNOME и KDE. Но ни гном ни кеды мне не подходят так как они слишком тяжелые. Лучшим выбором будет более легкий Xfce или MATE. Давайте поставим MATE:

pkg install mate

На данном этапе, если мы пропишем необходимые конфиги в конфигуркционных файлах ~/.xinitrc и /etc/rc.conf и запустим службы dbus и hald, то запустив команду startx мы увидим графическую среду.

Но если мы перезагрузимся, то запуска графической среды мы не увидим, так как она запускается командой startx, а чтобы эту команду ввести нужно сначала залогиниться в систему.

Если нужна графика еще до ввода креденшиналсов, то есть до ввода логина и без всяких запусков startx, то нам понадобиться менеджер экранов Display Managers, но о нем по говорим чуть дальше. А сейчас давайте пропишем все необходимые конфиги, что бы поднималась графическая среда.

Настройка конфигурационного файла /etc/rc.conf

Откройте на редактирование файл /etc/rc.conf:

vim /etc/rc.conf

И добавьте такие строки:

dbus_enable=”YES” hald_enable=”YES”

/etc/rc.conf

hostname=”freebsd” keymap=”ru.koi8-r.kbd” ifconfig_em0=”DHCP” ifconfig_em0=”inet 172.22.193.36 netmask 0xffffff00″ defaultrouter=”172.22.193.

1″ local_unbound_enable=”YES” sshd_enable=”YES” moused_enable=”YES” ntpd_enable=”YES” # Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable dumpdev=”AUTO” dbus_enable=”YES” hald_enable=”YES”

Это означает, что сервисы hald и dbus будут запускаться при запуске системы, а сейчас запустим их вручную:

serivce dbus startserivce hald start

Для того, чтобы появилась графическая среда, все что осталось нам сделать это создать в домашних каталогах всех пользователей желающих работать в графичейской среде файл .xinitrc и поместить туда строчку exec mate-session:

cd # cd без параметров переходит в домашний каталог текущего пользователяecho “exec mate-session”>.xinitrc

Теперь все готово, осталось только запустить команду startx

startx

и вместо командной строки появится рабочий стол среды MATE:

Установка менеджера экранов Slim

Если нужен менеджер экранов, то хорошим выбором будет slim:

pkg install slim

После того как менеджер экранов slim установим добавим его в конфигурационный файл /etc/rc.conf (строчка 14):

hostname=”freebsd” keymap=”ru.koi8-r.kbd” ifconfig_em0=”DHCP” ifconfig_em0=”inet 172.22.193.36 netmask 0xffffff00″ defaultrouter=”172.22.193.1″ local_unbound_enable=”YES” sshd_enable=”YES” moused_enable=”YES” ntpd_enable=”YES” # Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable dumpdev=”AUTO” dbus_enable=”YES” hald_enable=”YES” slim_enable=”YES”

И теперь нам необходимо либо перезагрузиться либо запустить сервис slim. Для запуска сервиса введите:

service slim start

Теперь после выхода из окружения рабочего стола (выбором кнопки Log out), а так же после перезагрузки системы мы уже попадем не в командную строку, а в оконный менеджер, где будет окно ввода логина и пароля:

Guest Additions. Только для людей запускающих FreeBSD на виртуальной машине VirtualBox

Если вы запускаете FreeBSD на виртуальной машине VirtualBox (как я), то для комфортной работы нужно еще до установить Guest Additions, чтобы разрешение было под размеры дисплея, а так же чтобы мышка при попадении в зону окна где работает freeBSD становилась фрибээсдэшной.

А пока для работы в окне VirtualBox нужно щелкнуть мышкой в любом месте окна, таким образом VirtualBox захватит мышку и все команды поступающие от мышки будут направляться на обработку в freeBSD запущенной в виртуалбоксе. Если надо вернуться обратно в ту среду, из которой запущен виртуалбокс, нужно нажать правый ctrl.

Это крайне не удобно, поэтому давайте установим Guest Additions:

pkg install virtualbox-ose-additions

Для того, чтобы guest additions режим стартовал при загрузке системы откроем на редактирование файл /etc/rc.conf

vim /etc/rc.conf

и добавим две строчки (15 и 16):

/etc/rc.conf

hostname=”freebsd” keymap=”ru.koi8-r.kbd” ifconfig_em0=”DHCP” ifconfig_em0=”inet 172.22.193.36 netmask 0xffffff00″ defaultrouter=”172.22.193.

1″ local_unbound_enable=”YES” sshd_enable=”YES” moused_enable=”YES” ntpd_enable=”YES” # Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable dumpdev=”AUTO” dbus_enable=”YES” hald_enable=”YES” slim_enable=”YES” vboxguest_enable=”YES” vboxservice_enable=”YES”

Теперь настроем X11. Перейдите в рута и запустите команду Xorg -configure:

Xorg -configure Warning

Если команду Xorg -configure запустить уже из под запущенного графического режима, то она не запуститься, поэтому перед ее запуском стопоните сервисы dbus и hald:

service dbus stop

service hald stop

service slim stop

При этом в домашнем каталоге рута появится файл xorg.conf.new. Откройте его на редактирование: vim /root/xorg.conf.new

и измените драйвер мыши на Driver ‘vboxmouse’ (строчка 30):

xorg.conf.new

Section “ServerLayout” Identifier “X.

org Configured” Screen 0 “Screen0” 0 0 Screen 1 “Screen1” RightOf “Screen0” InputDevice “Mouse0” “CorePointer” InputDevice “Keyboard0” “CoreKeyboard” EndSection Section “Files” ModulePath “/usr/local/lib/xorg/modules” FontPath “/usr/local/lib/X11/fonts/misc/” FontPath “/usr/local/lib/X11/fonts/TTF/” FontPath “/usr/local/lib/X11/fonts/OTF/” FontPath “/usr/local/lib/X11/fonts/Type1/” FontPath “/usr/local/lib/X11/fonts/100dpi/” FontPath “/usr/local/lib/X11/fonts/75dpi/” EndSection Section “Module” Load “glx” EndSection Section “InputDevice” Identifier “Keyboard0” Driver “kbd” EndSection Section “InputDevice” Identifier “Mouse0” Driver “vboxmouse” EndSection Section “Monitor” Identifier “Monitor0” VendorName “Monitor Vendor” ModelName “Monitor Model” EndSection Section “Monitor” Identifier “Monitor1” VendorName “Monitor Vendor” ModelName “Monitor Model” EndSection Section “Device” ### Available Driver options are:- ### Values: : integer, : float, : “True”/”False”, ### : “String”, : ” Hz/kHz/MHz”, ### : “%” ### [arg]: arg optional Identifier “Card0” Driver “vboxvideo” BusID “PCI:0:2:0” EndSection Section “Device” ### Available Driver options are:- ### Values: : integer, : float, : “True”/”False”, ### : “String”, : ” Hz/kHz/MHz”, ### : “%” ### [arg]: arg optional #Option “ShadowFB” # [] #Option “DefaultRefresh” # [] #Option “ModeSetClearScreen” # [] Identifier “Card1” Driver “vesa” BusID “PCI:0:2:0” EndSection Section “Screen” Identifier “Screen0” Device “Card0” Monitor “Monitor0” SubSection “Display” Viewport 0 0 Depth 1 EndSubSection SubSection “Display” Viewport 0 0 Depth 4 EndSubSection SubSection “Display” Viewport 0 0 Depth 8 EndSubSection SubSection “Display” Viewport 0 0 Depth 15 EndSubSection SubSection “Display” Viewport 0 0 Depth 16 EndSubSection SubSection “Display” Viewport 0 0 Depth 24 EndSubSection EndSection Section “Screen” Identifier “Screen1” Device “Card1” Monitor “Monitor1” SubSection “Display” Viewport 0 0 Depth 1 EndSubSection SubSection “Display” Viewport 0 0 Depth 4 EndSubSection SubSection “Display” Viewport 0 0 Depth 8 EndSubSection SubSection “Display” Viewport 0 0 Depth 15 EndSubSection SubSection “Display” Viewport 0 0 Depth 16 EndSubSection SubSection “Display” Viewport 0 0 Depth 24 EndSubSection EndSection

Теперь скопируйте этот файл в /etc/X11 с именем xorg.conf:

cp xorg.conf.new /etc/X11/xorg.conf

И последнее, что осталось сделать, это перезагрузиться:

shutdown -r now

Если не был установлен какой-нибудь оконный менеджер, то после перезагрузки вход в систему будет из командной строки.

Введите свои креденшиналсы, и после того как войдете под своим юзером, запустите startx и графическая среда должна развернуться в полный размер дисплея, а принадлежность мышки между виртуалбоксом и средой в которой виртуалбокс запущен будет меняться автоматически, в случае если установлен оконный менеджер, например slim этого делать не надо, так как графическая среда поднимется автоматически.

FreeBSD с разрешением FullHD

Что еще можно поставить

После того как все настроено, можно установить привычный гуевый софт такой как браузер, офис и пр. Давайте установим firefox — браузер, libre office — документы, электронные таблицы, презентации, gimp — графический редактор, rhythmbox — проигрыватель:

pkg install firefox libreoffice gimp rhythmbox

Например так выглядит gimp во freeBSD (это уже среда рабочего стола Xfce):

Если захотите запустить среду рабочего стола Xfce, то установите Xfce командой: pkg install xfce

а затем надо будет прописать в файле ~/.xinitrc строчку:

/usr/local/bin/startxfce4

Линки

Installing Guest Additions causing (Ubuntu) — http://askubuntu.com/questions/526995/installing-guest-additions-causing-problems

Источник: http://dev-blogs.com/freebsd-customize/

I. Создание загрузочной флешки с FreeBSD

1.Вставьте USB флешку в USB разъем.

2. Установите скачанную утилиту Win32 Disk Imager. (прим. I accept the agreement > Next > Next > Install > Finish).

3. В Win32 Disk Imager выберите букву USB флешки и нажмите на синюю иконку. В появившемся окне выберите скачанный Вами ранее IMG-образ с FreeBSD, а затем нажмите Открыть (Рис.1).

Рис.1

.

4. Нажмите Write, затем, в появившемся окне, нажмите Yes. После чего начнётся создание загрузочной USB флешки (Рис.2).

Рис.2

.

5. После завершения создания загрузочной USB флешки нажмите OK  и закройте программу (Рис.3).

Рис.3

.

II. Установка FreeBSD

1. Вставьте загрузочную USB флешку с FreeBSD в разъём USB.

2. Сразу после запуска компьютера необходимо вызвать Boot menu. Т.к. на разных материнских платах и ноутбуках клавиши вызова Boot menu отличаются, ниже приведена таблица (Рис.4) в соответствии с которой Вам необходимо нажать соответствующую клавишу (прим. если у Вас стационарный компьютер, и Вы не знаете какая материнская на нём стоит, обесточьте компьютер, откройте боковую крышку системного блока и посмотрите модель материнской платы).

Рис.4

.

3. Boot menu незначительно отличается на разных моделях и приблизительно выглядит следующим образом (Рис.5, Рис.6).

Рис.5

.

Рис.6

.

4. Выберите загрузку с USB флешки (Рис.5, Рис.6) и нажмите Enter.

5. В меню выберите первый пункт и нажмите Enter (Рис.7).

Рис.7

.

6. В появившемся окне выберите Install и нажмите Enter (Рис.8).

Рис.8

.

7. В разделе раскладки клавиатуры выберите Russian koi8-r и нажмите Enter (Рис.9).

Рис.9

.

8. Выберите Continue with ru.koi8-r.kbd keymap и нажмите Enter (Рис.10).

Рис.10

.

9. Выберите hostname (прим. можно выбрать любое, в дальнейшем его можно будет изменить), затем нажмите Enter (Рис.11).

Рис.11

.

10. В качестве компонентов для установки выберите lib32, ports, src (прим. чтобы отметить компонент как выбранный нужно его выделить и нажать пробел), затем нажмите Enter (Рис.12).

Рис.12

.

11. Выберите автоматическую разметку Auto (UFS), затем нажмите Enter (Рис.13).

Рис.13

.

12. Выберите Entire Disc, затем нажмите Enter (Рис.14).

Рис.14

.

13. Выберите пункт GPT, затем нажмите Enter (Рис.15).

Рис.15

.

14. Удостоверьтесь, что автоматическая разметка произведена верно, затем выберите Finish и нажмите Enter (Рис.16).

Рис.16

.

15. Выберите Commit и нажмите Enter (Рис.17).

Рис.17

.

16. Начнётся процесс установки (Рис.18).

Рис.18

.

17. После окончания установки необходимо придумать, ввести и повторить пароль для суперпользователя (root) (прим. при вводе пароля, символы не отображаются) (Рис.19).

Рис.19

.

18. В появившемся окне выберите сетевой интерфейс (прим. если у Вас их несколько — выберите тот, который вы хотите настроить для доступа к сети), затем нажмите Enter (Рис.20).

Рис.20

.

19. Для настройки IPv4 выберите Yes и нажмите Enter (Рис.21).

Рис.21

.

20. Для получения настроек по DHCP выберите Yes и нажмите Enter (Рис.22).

Рис.22

.

21. В появившемся окне настроек IPv6 выберите No и нажмите Enter (Рис.23).

Рис.23

.

22. В появившемся окне нажмите Enter т.к. Вы получили настройки по DHCP и адрес уже заполнен (Рис.24).

Рис.24

.

23. Выберите необходимый регион (прим. для России это Europe), затем нажмите Enter (Рис.25).

Рис.25

.

24. Выберите страну и нажмите Enter (Рис.26).

Рис.26

.

25. Выберите необходимый часовой пояс, затем нажмите Enter (Рис.27).

Рис.27

.

26. Подтвердите выбор часового пояса выбрав Yes, затем нажмите Enter (Рис.28).

Рис.28

.

27. Выберите дату (прим. если дата указана верно, то просто выберите Skip, в противном случае укажите дату вручную) (Рис.29).

Рис.29

.

28. Выберите время (прим. если время указано верно, то просто выберите Skip, в противном случае укажите время вручную) (Рис.30).

Рис.30

.

29. Выберите компоненты, которые  будут запускаться автоматически при загрузке системы (прим. чтобы отметить компонент как выбранный нужно его выделить и нажать пробел), после выбора компонентов нажмите Enter (Рис.31).

Рис.31

.

30. Выберите третий пункт: Disable reading kernel message buffer for unprivileged users и нажмите Enter (Рис.32).

Рис.32

.

31. Для того, чтобы добавить пользователя выберите Yes и нажмите Enter (Рис.33).

Рис.33

.

32. В строках Username и Full name введите имя пользователя и полное имя (прим. можно указывать любые). В строке Login group введите wheel. Для строк Enter password и Enter password again необходимо придумать, ввести и повторить пароль для пользователя (прим. при вводе пароля символы не отображаются). В остальных строках нажимайте Enter (Рис.34).

Рис.34

.

33. Для подтверждения регистрации пользователя, напротив строки OK? (yes/no) введите yes. Напротив строки Add another user? введите no (Рис.35).

Рис.35

.

34. Выберите Exit и нажмите Enter (Рис.36).

Рис.36

.

35. В появившемся окне выберите No и нажмите Enter (Рис.37).

Рис.37

.

36. Для перезагрузки системы выберите Reboot и нажмите Enter (Рис.38).

Рис.38

.

37. После перезагрузки введите в строке login root, а в строке Password пароль, который вы указывали ранее (прим. см. пункт 17) (Рис.39).

Рис.39

.

III. Установка Xorg и GNOME 3 в FreeBSD

1. Прежде чем устанавливать Xorg и GNOME 3, необходимо проверить соединение с Интернет (прим. особенно это актуально, если доступ осуществляется через роутер). Для этого зайдите через root и введите следующие команды:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 14px !important; line-height: 15px !important;”> # su # ee /etc/resolv.conf




12# su# ee /etc/resolv.conf

Как это показано на Рис.40.

Рис.40

.

2. В строке nameserver должен быль прописан адрес DNS-сервера (прим. у Вас этот адрес будет другой), если  его нет — пропишите адрес вручную (Рис.41).

Рис.41

.

3. После того как Вы проверили (прим. или прописали вручную) адрес DNS-сервера, нажмите Esc. В появившемся окне выберите leave editor и нажмите Enter (Рис.42).

Рис.42

.

4. Выберите пункт save changes и нажмите Enter (Рис.43).

Рис.43

.

5. Для установки Xorg введите:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> # pkg install xorg




1# pkg install xorg

Затем в строке Do you want to fetch and install it now введите Y (Рис.44).

Рис.44

.

6. В строке Proceed with this action введите Y, после чего начнётся установка Xorg (Рис.45).

Рис.45

.

7. Для установки GNOME 3 введите:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> # pkg install gnome3




1# pkg install gnome3

Как это показано на Рис.46.

Рис.46

.

8. В строке Proceed with this action введите Y, после чего начнётся установка GNOME 3 (Рис.47).

Рис.47

.

9. Для настройки автоматического запуска GNOME 3 введите:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> # ee /etc/rc.conf




1# ee /etc/rc.conf

Как это показано на Рис.48.

Рис.48

.

10. Допишите в самом конце строчку:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> gnome_enable=”YES”




1gnome_enable=”YES”

Затем нажмите Esc (Рис.49).

Рис.49

.

11. В появившемся окне выберите leave editor и нажмите Enter (Рис.50).

Рис.50

.

12. Выберите пункт save changes и нажмите Enter (Рис.51).

Рис.51

.

13. Для перезагрузки введите:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”> #reboot




1#reboot

Как это показано на Рис.52.

Рис.52

.

14. После перезагрузки, для входа в систему потребуется ввести пароль, который Вы указали ранее и нажмите Sign In (Рис.53).

Рис.53

.

15. После ввода пароля загрузится рабочий стол (Рис.54).

Рис.54

.

 Установка FreeBSD и графической оболочки GNOME 3 завершена.

.


[spoiler title=”Источники”]

  • https://losst.ru/ustanovka-freebsd-11
  • https://itdeer.ru/ustanovka-freebsd-11-1/
  • https://crb-otradnoe.ru/konfiguratsiya/poshagovaya-ustanovka-freebsd-11-dlya-chajnikov.html
  • https://lyapidov.ru/setup-freebsd-and-gui-from-usb/


[/spoiler]


2020-07-27T15:39:49
Linux

Работа с процессами в Linux



























3.2/5 — (4 голоса)

Команда ps выводит список текущих процессов на вашем сервере. Используется обычно в сочетании с командой grep и more или less.

Примечание: more и less – дополнительные команды, которые помогают фильтровать и разбивать на страницы выходные данные ps, так как они часто бывают довольно длинными.

Как использовать команду ps

Общий синтаксис команды ps выглядит следующим образом:

ps [OPTIONS]

По историческим причинам и из соображений совместимости команда ps принимает несколько различных типов параметров:

  • Опции стиля UNIX, перед которыми стоит одна черточка.
  • Варианты стиля BSD, используемые без тире.
  • Длинные опции GNU, начинающиеся с двух тире.

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

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

ps

Вывод включает в себя информацию о shell (bash) и процессе, запущенном в этой оболочке (введенная вами команда ps):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

Четыре колонки помечены PID, TTY, TIMEи CMD.

  • PID- Идентификатор процесса. В большинстве случаев при запуске psкоманды наиболее важной информацией, которую ищет пользователь, является идентификатор процесса. Знание PID позволяет убить сбойный процесс.
  • TTY – Название управляющего терминала для процесса.
  • TIME – Совокупное время ЦП процесса, показанное в минутах и ​​секундах.
  • CMD – Имя команды, которая использовалась для запуска процесса.

Вывод выше не очень полезен, так как он не содержит много информации. Настоящая сила команды ps появляется при запуске с дополнительными опциями.

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

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

Форма BSD:

ps aux

  • Опция a указывает ps вывести на дисплей процессы всех пользователей, за исключением тех процессов, которые не связаны с терминалом и процессами группы лидеров.
  • В u – подставки для ориентированных на пользователя формате, который обеспечивает подробную информацию о процессах.
  • Опция x в ps перечисляет процессы без управляющего терминала. В основном это процессы, которые запускаются во время загрузки и работают в фоновом режиме.

Команда будет отображать информацию в одиннадцати столбцах USER, PID, %CPU, %MEM, VSZ, RSS, STAT, START, TTY, TIMEи CMD.

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00 [kthreadd] …

Мы уже объяснили метки PID, TTY, TIMEи CMD. Вот объяснение других меток:

  • USER – Пользователь, который запускает процесс.
  • %CPU- Процесс использования процессора .
  • %MEM – Процент резидентного установленного размера процесса к физической памяти на машине.
  • VSZ – Размер виртуальной памяти процесса в KiB.
  • RSS- Размер физической памяти , используемой процессом.
  • STAT- Код состояния процесса, который может быть Z (zombie), S (sleeping), R (running)  .. и т. д.
  • START – время, когда команда началась.

Чтобы напечатать дерево процессов, добавьте опцию f. Это укажет ps отобразить древовидное представление дочерних процессов.

ps auxf

Команда ps также позволяет вам сортировать вывод. Например, чтобы отсортировать вывод на основе использования памяти, вы бы использовали:

ps aux –sort=-%mem

форма  UNIX:

ps -ef

  • Опция e указывает ps отобразить все процессы.
  • f – полноформатный список, который содержит подробную информацию о процессах.

Команда будет отображать информацию в столбцах UID, PID, PPID, C, STIME, TIME и CMD.

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00 [kthreadd] …

Метки, которые еще не объяснены, имеют следующее значение:

  • UID – То же USER, что и пользователь, который запускает процесс.
  • PPID – Идентификатор родительского процесса.
  • C- То же %CPU, что процесс загрузки процессора.
  • STIME- То же START, что и время начала команды.

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

ps -f -U andreyex -u andreyex

Пользовательский формат

Опция o позволяет указать, какие столбцы будут отображаться при выполнении команды ps.

Например, чтобы напечатать информацию только о PID и COMMAND вы бы выполнить одну из следующих команд:

ps -efo pid,commconsole-bash ps auxo pid,comm

## Использование команды ps может использоваться в сочетании с другими командами через трубопровод. Если вы хотите отобразить вывод команды ‘ps’, по одной странице за раз передайте его в команде less:

console-bash ps -ef | less

Выходные данные команды ‘ps’ могут быть отфильтрованы с помощью grep, например, чтобы показать только процесс, принадлежащий пользователю root, вы должны запустить:

console-bash ps -ef | grep root “ `

Выбор конкретных процессов

Вы можете вывести определенные процессы с помощью ps с помощью различных критериев выбора.

Например, если вы знаете идентификатор процесса PID, вы можете просто использовать следующую команду:

ps -p

Например:

ps -p 22813

Вы можете выбрать несколько процессов, указав несколько идентификаторов процесса следующим образом:

ps -p “

Например:

ps -p “22813 28599”

Вы также можете указать их с помощью списка, разделенного запятыми:

ps -p ,

Например:

ps -p 22813,28599

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

ps -C <команда>

Например:

ps -C nginx

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

ps -G
ps –Group

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

ps -G “accounts”
ps –Group “accounts”

Вы также можете выполнять поиск по идентификатору группы GID вместо имени группы с помощью строчной буквы g следующим образом:

ps -g
ps –group

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

ps U

Например:

ps U gary

Обратите внимание, что это показывает человека, чьи учетные данные используются для запуска команды. Например, если вы вошли в систему как gary и запустите указанную выше команду, она покажет всю команду, которую вы выполняете. Если вы входите в систему как tom и используете sudo для запуска команды, то приведенная выше команда покажет команду tоm’а, которую запускает gary, а не tom.

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

ps -U “gary”

Форматирование вывода команды ps

По умолчанию вы получаете четыре столбца, когда используете команду ps: PID, TTY, Time, Command. О них написано в начале статьи.

Вы можете получить полный список, выполнив следующую команду:

ps -ef

Опция -e, показывает все процессы, а -f показывает полную информацию: UID – идентификатор пользователя выполняющего команду, PID – это идентификатор процесса команды, PPID – идентификатор родительского процесса, который отпустил команду, C – количество дочерних процессов, STIME – это время начала процесса, TTY, TIME, CMD.

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

ps -eF

Дополнительные столбцы – SZ, RSS и PSR. SZ – это размер процесса, RSS – реальный размер памяти, а PSR – процессор, которому назначена команда.

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

ps -e –format

Доступны следующие форматы: %cpu, %mem, args, c, cmd, comm, cp, cputime, egid, egroup, etime, euid, euser, gid, group, pgid, pgrp, ppid, start, sz, thcount, time, uid, uname и многие другие, ознакомиться с ними в разделе помощи man.

Чтобы использовать форматы, введите следующее:

ps -e –format=”uid uname cmd time”

Вы можете смешивать и сопоставлять элементы по своему усмотрению.


Вывод без опций

PS (process state) — стандартная утилита всех дистрибутивов Linux, используемая через консоль. Ее основное предназначение — отображение информации обо всех запущенных процессах. Количество и детально показываемых сведений зависит от установленных опций, которые выбираются при непосредственной активации самой команды. Об опциях мы поговорим немного позже, а сейчас давайте просто введем ps в «Терминале» и нажмем на Enter.

Использование команды PS в Linux без применения опций

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

Результат использования команды PS в Linux без применения дополнительных опций

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

Вывод списка всех процессов

Утилита PS без указания специальных опций не позволяет получить полезную информацию, которая может пригодиться во время изучения списка активных процессов, поэтому и важно применять аргументы. Первый из них отвечает за отображение абсолютно всех текущих задач, а строка принимает вид ps -A.

Использование команды PS в Linux для вывода всех процессов

В итоге отобразится огромное количество строк, с которыми следует разобраться. Делятся сведения на несколько столбцов. PID отображает идентификационный номер процесса и может использоваться, например, для быстрого завершения работы этой программы или проверки дерева задач. TTY — имя терминала, где запущен текущий процесс. TIME — время работы, а CMD — название команды задачи.

Результат использования команды PS в Linux для вывода всех процессов

Дополнительно можно использовать команду ps -e, чтобы отобразить список всех процессов, если предыдущий вариант вас не устраивает.

Альтернативная команда PS в Linux для вывода всех процессов

Как видно, выдача после активации опции -e получилась точно такая же, как и при вводе аргумента -A.

Результат использования альтернативной опции PS в Linux для вывода всех процессов

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

Использование дополнительных опций команды PS в Linux для вывода в формате BSD

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

Результат использования дополнительных опций PS в Linux для вывода в формате BSD

Полноформатный листинг

Рассмотренные выше примеры позволяли отобразить практически все необходимые сведения, которые могут быть полезны начинающим пользователям. Однако иногда требуется получить более детальный листинг, например, чтобы определить источник вызова процесса. Тогда на помощь придет строка такого вида: ps -ef.

Использование дополнительных опций для полноформатного листинга PS в Linux

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

Результат использования опций для полноформатного листинга PS в Linux

Отображение пользовательских процессов

Опция -x отвечает за отображение процессов, которые были отсоединены от терминала, то есть запущены лично пользователем. Если вы хотите узнать, какие именно задачи были открыты от имени текущей учетной записи, в консоли достаточно будет ввести строку ps -x и нажать на Enter.

Использование опций команды PS в Linux для вывода пользовательских процессов

Вывод будет максимально информативный, но без дополнительных сведений. Однако ничего не помешает задействовать и дополнительные опции, например, -eM для показа контекста безопасности.

Результат вывода пользовательских процессов через команду PS в Linux

Если же требуется получить информацию о данных другого пользователя, измените строку на ps -fU lumpics, где lumpics замените на необходимое имя.

Использование опций команды PS в Linux для вывода процессов конкретного пользователя

В результатах вывода обратите внимание на первый столбец. Вы не найдете там других владельцев кроме указанного в команде до ее активации.

Результат вывода процессов определенного пользователя PS в Linux

Как напечатать дерево определённого процесса

Вы можете получить дерево процессов только нужной вам программы следующим образом (замените sshd на интересующий вас процесс):

ps -f –forest -C sshd

Или так:

ps -ef –forest | grep -v grep | grep sshd

Об опции -C будет рассказано далее в этой статье.

Фильтрация вывода ps по определённым строкам (по имени команды, например)

Вы можете направить вывод из ps через grep и найти нужные записи о процессах по любым строкам. Здесь мы ищем записи, соответствующие поисковому запросу «firefox»:

ps -e | grep firefox

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

Больше столбцов в выводе ps

Чтобы добавить дополнительные столбцы к выводу, используйте параметр -f (полный формат).

ps -ef | less

Дополнительный набор столбцов включён в вывод ps.

Из новых столбов появились:

  • UID: идентификатор пользователя владельца этого процесса.
  • PPID: идентификатор родительского процесса.
  • C: Количество детей, которые есть у процесса.
  • STIME: Время начала. Время, когда процесс был запущен.

Используя опцию -F (дополнительный полный формат), мы можем получить ещё больше столбцов:

ps -eF | less

Если у вас маленькое окно терминала, то столбцы, которые мы получаем в этот раз, требуют прокрутки экрана в сторону, чтобы показать их все. Нажатие клавиши «Стрелка вправо» смещает дисплей влево.

Теперь добавились следующие столбцы:

  • SZ: размер страниц ОЗУ образа процесса.
  • RSS: резидентный размер набора. Это не подкачанная физическая память, используемая процессом.
  • PSR: процессор, которому назначен процесс.

Нужно ли указывать дефис перед опциями ps

В некоторых примерах вы можете увидеть использование ps с опциями без дефиса или с длинными вариантами написания опций в стиле GNU. Для совместимости, ps поддерживает все три формата. Опции без дефиса — это стиль BSD и значение опций с дефисом и без может быть различным!

Пример показа процессов в формате BSD:

ps au # ИЛИ ps axu

В этой команде значение опций следующее:

  • u — ориентированный на пользователя формат
  • a — убирает ограничение «только свои процессы»
  • x — убирает ограничение «только процессы с терминалом»

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

Нужно быть аккуратным, и не забывать ставить дефис если вы используете опции UNIX, поскольку в случае неопределённости ps будет пытаться трактовать в разных вариантах. В этой инструкции кроме рассмотренного примера везде используются опции UNIX.

Заключение

Команда ps является одной из наиболее часто используемых команд при устранении неполадок в системах Linux. Она имеет много вариантов, но, как правило, большинство пользователей используют либо ps aux или ps -ef для сбора информации о запущенных процессах.

Для получения информации обо всех доступных опциях ps введите man ps в своем терминале.


[spoiler title=”Источники”]

  • https://1cloud.ru/help/security/ispolzovanie-komandy-ps-dlya-prosmotra-protsessov-linux
  • https://andreyex.ru/operacionnaya-sistema-linux/komanda-ps-v-linux/
  • https://lumpics.ru/command-ps-in-linux/
  • https://ZaLinux.ru/?p=3596


[/spoiler]


2020-07-27T15:39:49
Linux

Резервное копирование в Linux – команда tar



























Rate this post

Аббревиатура tar предназначена для иллюстрации того, что отдельные файлы GZIP были сжаты настолько широко и максимально плотно, насколько это возможно. Упакованный файл может заканчиваться на .tar.gz и .tar.bz2. Иногда используется двойное окончание – .tar.gz. ZIP, который был разработан для слияния и сжатия, но оказался более мощным и поэтому в значительной степени подавляет файл .tar.

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

Расширения в формате .tar в основном предназначены для операционной системы Linux. В мире Windows они довольно необычны и редко встречаются. По этой причине система не может открыть эти файлы без дополнительного программного обеспечения.

Синтаксис командной строки

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

tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]

  • OPERATION– Разрешается и требуется только один аргумент. Наиболее часто используемые операции:

    • –create( -c) – Создание нового tar-архива.
    • –extract( -x) – Извлечь весь архив или один или несколько файлов из архива.
    • –list( -t) – отобразить список файлов, включенных в архив

  • OPTIONS – Наиболее часто используемые операции:

    • –verbose( -v) – Показать файлы, обрабатываемые командой tar.
    • –file=archive=name( -f archive-name) – Указывает имя файла архива.

  • ARCHIVE_NAME – Название архива.
  • FILE_NAME(s)– список имен файлов, разделенных пробелами, которые нужно извлечь. Если не предусмотрено, весь архив будет извлечен.

При выполнении команды tar вы можете использовать длинную или краткую форму операций и параметров tar. Длинные формы более читабельны, а короткие формы – быстрее. Опции длинной формы имеют префикс двойной тире ( –). Параметры короткой формы имеют префикс с одним тире ( -), который можно опустить.

1. Создание архива tar

С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1, file2 и file3:

tar –totals –create –verbose –file archive.tar file1 file2 file3

Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:

tar –totals -cvf archive.tar file1 file2 file3

Создание архива tar

Создание архива Tar Gz

Gzip – самый популярный алгоритм сжатия tar-файлов. При сжатии архивов tar с gzip имя архива должно заканчиваться либо tar.gzили tgz.

Чтобы создать архив tar.gz из заданных файлов, вы можете использовать следующую команду:

tar -czf archive.tar.gz file1 file2

Опция  -zсообщает tar сжать архив, используя алгоритм  gzip.

Создание архива Tar Bz2

Другим популярным алгоритмом сжатия tar-файлов является bzip2. При сжатии архивов tar с bzip2 имя архива должно заканчиваться либо tar.bz2 либо tbz.

Когда указана опция  -j , tar будет использовать алгоритм bzip2 сжатия архива.

Следующая команда создаст архив tar.bz2 из заданных файлов:

tar -cjf archive.tar.bz2 file1 file2

2. Просмотр содержимого архива

Следующая команда выводит содержимое архива, не распаковывая его:

tar -tf archive.tar

Отображение архива

Листинг архива Tar

Чтобы перечислить содержимое tar-архива, используйте операцию –list( -t).

tar -tf archive.tarfile1 file2 file3

Если вы укажете содержимое архива с помощью параметра –verbose( -v), tar будет печатать больше информации, например, владельца, размера файла, метки времени и т.д.:

tar -tvf archive.tar-rw-r–r– linuxize/users 0 2018-09-08 20:15 file1 -rw-r–r– linuxize/users 0 2018-09-08 20:15 file2 -rw-r–r– linuxize/users 0 2018-09-08 20:15 file3

Извлечение архивов Tar Gz и Tar Bz2

При извлечении сжатых архивов, например, tar.gzили tar.bz2 вам не нужно указывать параметр декомпрессии. Команда такая же, как при извлечении архива tar:

tar -xf archive.tar.gztar -xf archive.tar.bz2

Извлечение определенных файлов из tar-архива

Чтобы извлечь определенные файлы из архива tar, добавьте список имен файлов, разделенных пробелами, которые будут извлечены после имени архива:

tar -xf archive.tar file1 file2

При извлечении файлов вы должны указать свои точные имена, включая путь, как напечатано –list( -t).

Извлечение одной или нескольких каталогов из архива аналогично извлечению файлов:

tar -xf archive.tar dir1 dir2

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

tar -xf archive.tar READMEtar: README: Not found in archive tar: Exiting with failure status due to previous errors

Извлечение файлов из архива Tar с помощью подстановочного знака

Чтобы извлечь файлы из архива на основе шаблона подстановочных знаков, используйте переключатель –wildcards и укажите шаблон, чтобы предотвратить интерпретацию оболочки.

Например, чтобы извлечь файлы, имена которых заканчиваются на .js(файлы Javascript), вы можете использовать:

tar -xf archive.tar –wildcards ‘*.js’

Добавление файлов в существующий архив

Чтобы добавить файлы или каталоги в существующий архив tar, используйте операцию –append( -r).

Например, чтобы добавить файл с именем newfile в archive.tar, вы можете использовать:

tar -rvf archive.tar newfile

Удаление файлов из tar-архива

Используйте операцию –delete для удаления файлов из архива.

Например, чтобы удалить файл с именем file1 из archive.tar, вы можете использовать:

tar –delete -f archive.tar file1

Общая информация по работе с Tar

  1. tar —help — вызов справки по командам и параметрам
  2. man tar  — вызов расширенной документации
  3. официальная документация по команде tar — ссылка

Архивация Zip в Linux

Архиватор zip — это звезда в мире ПО (ну не считая rar) этот формат очень популярен для windows систем и он по умолчанию уже встроен в чистую сборку операционной системы, поэтому только установив виндовус вы уже можете разархивировать файлы в формате zip

но давайте перейдем к делу, в Linux и Unix системах дела обстоят по другому, это формат Tar идет по умолчанию, а вот для zip надо  поставить пакет unzip

Установка:

  1. sudo apt-get update && apt-get upgrade
  2. sudo apt-get install unzip

Создание ZIP архива

Для начала запомним шаблон или синтаксис команды для создания архива zip в linux:

zip [опции] <имя файла.zip=””> [файлы или папки которые будем упаковывать]

Опции для создания архива tar:

  • r (recurse) — рекурсивное создание архива
  • s (size) — разбивка архива на определенный размер k (kB), m (MB), g (GB) или t (TB)
    пример: zip -s 300m <файл 1=”” гб=””>
    на выходе получим:
    file.zip (300 mb, master file)
    file.001.zip (300 mb)
    file.002.zip (300 mb)
    file.003.zip (100 mb)
  • P (password) — запаролировать архив  (можно использовать ключ e тогда пароль будете вводить в отдельной строке со звездочками )
    пример: zip -P мойпароль -r file.zip ./home/nibbl/foto
    пример2: zip -er file.zip ./home/nibbl/foto
  • x — исключаем файлы или каталоги из архива
  • 1-9 — степень сжатия (где 1 без сжатия, а 9 лучшее сжатие)

zip –r  -9 -P 123 — archive.zip /home/nibbl/desktop/myfile 

— данной командой мы заархивировали с сжатием папку myfile создали архив с именем archive.zip и установили пароль на архив 123

Творение tar-архива без сжатия в Linux

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

tar -cf filename.tar file1 file2 fileN

Метеопараметр —cf отвечает за создание архива filename.tar, в который войдут указанные файлы. Вместо файлов смогут быть указаны и директории.

Создание архива с использованием сжатия в Linux

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

Образчик сжатия Gzip:

tar -cvzf filename.tar.gz dir_name

В данном случае мы попытались запаковать папку dir_name в картотека filename.tar.gz. Из указанных параметров -z указывает на использование метода Gzip, а -v выводит результаты процесса творения архива с указанием упакованных файлов или папок.

Читайте также:  Настройка Iptables (примеры) Часть 2

Распаковать zip архив

рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив :

unzip <имя файла.zip=””>

Опции для создания архива tar:

  • d (directory) — указать директорию для разархивации
  • l — вывести список файлов в архиве
  • d — удалить определенный файл или каталог из уже сделанного архива
  • v — показывает детальную информацию по файлам в архиве  ()

unzip <имя файла.zip=””> —  распаковываем архив в категорию в которой находимся
unzip <имя файла.zip=””> -d /home/nibbl/desktop — распаковываем архив на рабочий стол

Общая информация по работе с Zip

  1. zip —help или unzip —help   —  вызов справки по командам и параметрам
  2. man zip или man unzip  — вызов расширенной документации
  3. официальная документация по команде zip — ссылка

 

Прочие возможности tar в Linux

tar предоставляет множество полезных возможностей. Например, возможно указать файлы и каталоги, которые не будут включены в архив, добавить файлы (именованная область данных на носителе информации) в имеющийся архив (1) учреждение или структурное подразделение организации, осуществляющее хранение, комплектование, учёт и использование архивных документов; 2) собрание письменных памятников (рукописей, писем и т), взять список объектов для запаковки из текстового файла и много что ещё. Во всем обилии опций как всегда поможет разобраться

man tar

или же

tar –help

Утилита командной строки tar используется для службы с архивами в операционных системах на базе UNIX. С ее помощью можно архивировать данные и улучшить использование дискового пространства.

Программа для открытия файлов TAR в системе Windows

Особенно популярным и удобным программным обеспечением для распаковки и открытия файлов .tar.gz и .tar.bz2 в Windows является WinRAR.

Winrar признана классикой среди упаковочного ПО и может быть загружена в тестовой версии с сайта производителя WindowsRAR.ru. С ней файлы в системах Windows могут сжиматься намного эффективнее, чем с форматами ZIP. Лучшая и самая важная функция WinRAR понятна и отлично выполняется упаковщиком: экономит место на диске, время передачи. В дополнение к основной задаче, программное обеспечение предлагает множество других инструментов при архивировании файлов.

Главное преимущество WinRaR заключается в том, что она распознает двойные файлы и распаковывает их непосредственно за один шаг. Даже если вы дважды откроете .tar.gz и .tar.bz2, вы сможете напрямую просмотреть отдельные папки, упакованные в него с помощью архиватора. Это особенно удобно и стоит запомнить, поскольку на самом деле в формате .bz есть только один файл .TAR. Только в нем находятся отдельные оригинальные файлы.

Программа для открытия TAR файлов используется в пробной версии бесплатно в течение 40 дней. Далее производитель предложит вам купить лицензию.

Как распаковать TAR файл?

Уже во время установки ПО можно задать параметры, чтобы файлы .tar распаковывались с помощью WinRAR.

Если на жестком диске есть папка в формате .tar.gz, вы можете просто распаковать ее, дважды щелкнув, как и любой другой архив, поддерживаемый WinRAR.

Если вы не отметили TAR во время установки, файлы этого формата все еще можно извлечь, используя WinRAR.

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

Теперь содержимое архива должно отображаться в программе для открытия TAR файлов.

Как открыть и разархивировать файл TAR?

Если вы часто работаете с архивами .TAR, WindowsRAR следует установить в качестве стандартной для распаковки форматов .tar.gz и .tar.bz2. Если формат папки еще не связан с другим ПО сжатия, два раза нажмите папку TAR. Во втором случае кликните правой клавишей по маркеру упакованного файла TAR, выберите параметр “Открыть с помощью”. В новом окне теперь представлены программы, открывающие файлы в формате TAR.

Если WinRAR отсутствует в списке, выберите «Поиск» в нижней области. Теперь проследите путь, по которому расположен архиватор, и установите его как стандартную программу для открытия расширения TAR. Прежде чем подтвердить настройку нажатием «ОК», убедитесь, что в левой части флажок “Всегда открывать тип файла с выбранной программой”.

Примеры

gz

Распаковка .gz файла:

tar -xvf archive.tar.gz 

* при возникновении ошибки This does not look like a tar archive, можно воспользоваться командой gzip -d archive.tar.gz.

bz2

tar -xvjf archive.tar.bz2

* ключ j отвечает за работу с bz2.

Если система ругается на bzip2, значит нужно его установить:

yum install bzip2

apt-get install bzip2

pkg install bzip2

* соответственно, для CentOS (RPM based), Ubuntu (deb based), FreeBSD (BSD based).

Если видим ошибку tar: Unrecognized archive format, воспользуемся следующей командой:

bzip2 -d archive.tar.bz2

gzip

tar -xvzf archive.tar.gzip

* ключ z отвечает за работу с gzip.

tgz

Распаковывается, как gzip:

tar -xvzf archive.tgz

Распаковать в определенную папку

tar -C /home/user -xvf archive.tar.gz

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

Распаковка без вложенной папки

Такой способ можно использовать для распаковки в заранее подготовленный каталог. Будет некий эффект переименовывания каталога или аналог «Распаковать здесь»:

tar -C /home/admin/mytar -xvf admin.tar.gz –strip-components 1

* каталог /home/admin/mytar заранее должен быть создан; –strip-components 1 пропустит одну вложенную папку внутри архива.

Исключение файлов по маске

Если необходимо пропустить некоторые файлы, вводим команду с ключом –exclude:

tar -czvf archive.tar.gz /wwwsite –exclude=’sess_*’

* в данном примере мы создадим архив archive.tar.gz, в котором не будет файлов, начинающихся на sess_.


[spoiler title=”Источники”]

  • https://windowsrar.ru/tar
  • https://andreyex.ru/operacionnaya-sistema-linux/sozdanie-i-izvlechenie-arhivov-s-pomoshhyu-komandy-tar-v-linux/
  • https://losst.ru/komanda-tar-v-linux
  • https://www.nibbl.ru/ubuntu/komanda-tar-i-zip-v-linux.html
  • https://www.linux16.ru/articles/kak-v-linux-raspakovat-tar-gz.html
  • https://www.dmosk.ru/miniinstruktions.php?mini=tar-unix


[/spoiler]


2020-07-27T15:39:49
Linux

Руководство по использованию команды “useradd” в Linux



























Rate this post

 

В этом руководстве показано, как создавать пользователей в Linux с помощью командной строки.

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

Создание

Синтаксис:

useradd <имя пользователя=””> [опции]

* опции не являются обязательными при создании пользователя.

Пример:

useradd dmosk

* в данном примере создается учетная запись dmosk.

Для учетной записи стоит сразу создать пароль:

passwd dmosk

* после ввода, система попросит ввести пароль дважды.

1. Как добавить нового пользователя в Linux

Для создания/добавления нового пользователя используется команда “useradd” с аргументом “username”, где username – это имя нового пользователя, которое будет использоваться для входа в систему.
За один раз можно добавить только одного пользователя, и его имя должно быть уникальным (то есть отличаться от имен других пользователей, уже существующих в системе).

Например, добавляем пользователя “techmint”:


[root@tecmint ~]# useradd tecmint

После выполнения данной команды, новый пользователь будет создан в заблокированном состоянии. Чтобы разблокировать пользовательский аккаунт, необходимо задать его пароль с помощью команды “passwd”.


[root@tecmint ~]# passwd tecmint Changing password for user tecmint. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.

После создания нового пользователя его запись автоматически добавляется в пароль “/etc/passwd” и имеет следующий вид:

tecmint:x:504:504:tecmint:/home/tecmint:/bin/bash

Она состоит из семи разделенных двоеточием полей, каждое из которых имеет свое назначение:

Username: имя пользователя, используемое для входа в систему. Может иметь длинц от 1 до 32 символов.
Password: пользовательский пароль (или символ x), который хранится в зашифрованном виде в файле /etc/shadow.
User ID (UID): каждый пользователь должен иметь User ID (UID) – идентификатор пользователя. По умолчанию UID 0 зарезервирован для root, а UID в диапазоне 1-99 для других предопределенных аккаунтов. UID в диапазоне 100-999 предназначены для пользовательских аккаунтов и групп.
Group ID (GID): идентификатор группы – Group ID (GID), хранится в файле /etc/group file.
User Info: это опциональное поле и оно позволяет вам задать дополнительную информацию о пользователе, например полное имя. Это поле заполняется с помощью команды “finger”.
Home Directory: абсолютный путь к домашней директории пользователя.
Shell: абсолютный путь к командной оболочке пользователя, например /bin/bash.

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

По умолчанию команда “useradd” создает домашнюю директорию пользователя в /home и называет ее именем пользователя. Поэтому, например, для приведенного выше примера, мы увидим домашнюю директорию созданного нами пользователя “tecmint” в “/home/tecmint”.
Однако это действие можно изменить с помощью опции “-d”, указав после нее расположение новой домашней директории. Например, приведенная ниже команда создаст пользователя “anusha” с домашней директорией “/data/projects”.


[root@tecmint ~]# useradd -d /data/projects anusha

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


[root@tecmint ~]# cat /etc/passwd | grep anusha anusha:x:505:505::/data/projects:/bin/bash

3. Создание пользователя с заданным User ID

В Linux каждый пользователь имеет свой собственный UID (Unique Identification Number). По умолчанию при создании нового пользователя ему присваивается userid 500, 501, 502 и т.д.
Но мы можем создать пользователя с заданным userid с помощью опции “-u”. Например, приведенная ниже команда создает пользователя “navin” с userid “999”.


[root@tecmint ~]# useradd -u 999 navin

Теперь мы можем проверить, что пользователь создан действительно с этим идентификатором.


[root@tecmint ~]# cat /etc/passwd | grep tecmint navin:x:999:999::/home/navin:/bin/bash

Замечание: Обратите внимание, что user ID должен отличаться от user ID пользователей, уже существующих в системе.

4. Создание пользователя с заданным Group ID

Аналогично, каждый пользователь имеет свой GID (Group Identification Number). Мы можем создавать пользователей с заданным group ID с помощью опции -g.

В этом примере мы добавим пользователя “tarunika” с заданными UID и GID:


[root@tecmint ~]# useradd -u 1000 -g 500 tarunika

Проверим, правильно ли сработала команда:


[root@tecmint ~]# cat /etc/passwd | grep tarunika tarunika:x:1000:500::/home/tarunika:/bin/bash

5. Добавление пользователя в несколько групп

Опция “-G” используется для добавления пользователя в дополнительные группы. Названия групп разделяются запятой без пробелов.
В приведенном ниже примере мы добавляем пользователя “tecmint” в группы admins, webadmin и developer.


[root@tecmint ~]# useradd -G admins,webadmin,developers tecmint

Теперь проверим, в каких группах числится пользователь, с помощью команды id.


[root@tecmint ~]# id tecmint uid=1001(tecmint) gid=1001(tecmint) groups=1001(tecmint),500(admins),501(webadmin),502(developers) context=root:system_r:unconfined_t:SystemLow-SystemHigh

6. Добавление пользователя без домашней директории

В некоторых ситуациях мы не хотим, по соображениям безопасности, давать пользователям домашние директории. В таком случае, когда пользователь авторизуется в системе сразу после ее запуска, его домашней директорией будет root. Если такой пользователь использует команду su, то он авторизуется в домашней директории предыдущего пользователя.
Для создания пользователя без домашней директории используется опция “-M”. Например, создадим пользователя “shilpi” без домашней директории.


[root@tecmint ~]# useradd -M shilpi

Давайте проверим, что пользователь создан без домашней директории, с помощью команды ls:


[root@tecmint ~]# ls -l /home/shilpi ls: cannot access /home/shilpi: No such file or directory

7. Добавление пользовательского аккаунта с ограниченным сроком действия

По умолчанию, когда мы добавляем пользователя с помощью команды “useradd”, его аккаунт не имеет сроков действия, то есть дата истечения сроков его жизни установена в 0 (никогда не истекает).
Однако мы можем установить дату истечения с помощью опции “-e”, задав дату в формате YYYY-MM-DD. Это полезно при создании временных аккаунтов для каких-то конкретных задач.
В приведенном ниже примере мы создаем пользователя “aparna” со сроком жизни его аккаунта до 27 апреля 2015 года в формате YYYY-MM-DD.


[root@tecmint ~]# useradd -e 2015-03-27 aparna

Далее, проверяем сроки действия аккаунта и пароля с помощью команды “chage”.


[root@tecmint ~]# chage -l aparna Last password change : Mar 28, 2014 Password expires : never Password inactive : never Account expires : Mar 27, 2015 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7

8. Создание пользователя с ограниченным временем действия пароля

Аргумент “-f” используется для того, чтобы задать количество дней, через которое пароль перестанет действовать. По умолчанию его значение равно -1, при этом время действия пароля не ограничивается.
В примере мы задаем для пользователя “tecmint” время действия пароля 45 дней с помощью опций “-e” и “-f”.


[root@tecmint ~]# useradd -e 2014-04-27 -f 45 tecmint

Ключи (опции)

КлючОписание и примеры
























-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Разрешает создание учетной записи с повторяющимся UID
useradd dmosk -u 15 -o
-pЗадает пароль
useradd dmosk -p pass
-rСистемная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN – SYS_UID_MAX из файла /etc/login.defs)
useradd dmosk -r
-RКаталог, в который выполняется chroot
useradd dmosk -R /var/chroot/home
-sПуть до оболочки командной строки
useradd dmosk -s /bin/csh
-uЗадает UID
useradd dmosk -u 666
-UИмя группы будет таким же, как у пользователя
useradd dmosk -U

Актуальный список ключей можно получить командой useradd -h.

Редактирование

Синтаксис:

usermod <имя пользователя=””> [опции]

Пример:

usermod dmosk -G wheel

* эта команда добавит пользователя dmosk в группу wheel

Удаление

Синтаксис:

userdel <имя пользователя=””> [опции]

Пример:

userdel dmosk

Блокировка

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

usermod -L <имя пользователя=””>

Пример:

usermod -L dmosk

Чтобы разблокировать пользователя, вводим:

usermod -U <имя пользователя=””>

Работа с группами

Добавление:

groupadd <группа> [опции]

Редактирование:

groupmod <группа> [опции]

Удаление:

groupdel <группа> [опции]

Примеры работы с учетными записями

Команда useradd

Во-первых, давайте посмотрим на поведение команды useradd по умолчанию. Вы когда-нибудь запускали следующую команду?

useradd NewUser

Мы еще не видели дистрибутив, где эта команда создала полную учетную запись пользователя. Даже после установки пароля для нового пользователя вам потребуется использовать дополнительные параметры.

Например, в нашей системе указанная выше команда добавила следующую запись в файл /etc/passwd.

Команда useradd в Linux

Если вы читали статью о перечислении пользователей в Linux, вы, вероятно, уже знакомы с содержанием файла /etc/passwd. Сначала это выглядит хорошо, но если вы начнете копать, вы скоро заметите, что некоторые вещи не совсем правильные.

Во-первых, второе поле содержит «х». Это означает, что заполнитель для информации о пароле находится в /etc/shadow. Но мы не установили пароль. Это означает, что тестовый пользователь не сможет войти в систему.

Во-вторых, домашний каталог. Дело в том, что /home/test не существует. Даже после того, как вы установили пароль, произойдет ошибка, если пользователь войдет в систему. В зависимости от другой конфигурации ваша система Linux может запретить пользователю входить без действительного домашнего каталога. Скорее всего, пользователь test позволит войти в систему, по крайней мере, в текстовом режиме. Но пользователь test не сможет создать свой домашний каталог.

В-третьих, оболочкой по умолчанию является sh, а не bash. Мы не используем sh как оболочку. Вы, вероятно, тоже не знаете, потому что bash является оболочкой по умолчанию в большинстве дистрибутивов Linux.

В то время как useradd-х поведение можно немного изменить, отредактировав /etc/login.defs, существует мало шансов, что приведенная выше команда создаст полную учетную запись пользователя. Useradd является низкоуровневая утилита. Тем не менее, просмотр настроек в /etc/login.defs может быть полезен.

Синтаксис команды useradd

Команда useradd принимает в качестве аргумента имя пользователя, а также различные опции.

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

useradd опцииимяпользователя

Создание нового пользователя

Чтобы просто создать пользователя используется команда useradd без каких-либо опций. Указывается только имя пользователя.

sudo useradd pupkin

Данная команда создает нового пользователя с системными параметрами по умолчанию, которые прописаны в файле /etc/default/useradd

Чтобы пользователь мог войти в систему, необходимо задать для него пароль. Для этого используем команду:

sudo passwd pupkin

Создание нового пользователя с домашней директорией в /home

Создадим пользователя и его домашнюю директорию.

sudo useradd -m pupkin

Домашняя директория создается по умолчанию в каталоге /home. Имя директории совпадает с именем пользователя.

Создание нового пользователя с произвольной домашней директорией

Чтобы создать пользователя с домашней директорией, расположенной в произвольном месте, используется опция -d, после которой указывается путь до директории. Директорию необходимо создать заранее.

Создаем домашнюю директорию для будущего пользователя:

sudo mkdir -p /users/pupkin

Копируем файлы и директории, которые по умолчанию создаются в домашней директории пользователя в данной системе. Данные файлы находятся в директории /etc/skel

sudo cp -rT /etc/skel /users/pupkin

Создаем пользователя и указываем домашнюю директорию:

sudo useradd -d /users/pupkin pupkin

Меняем права доступа у домашней директории:

sudo chown -R pupkin:pupkin /users/pupkin

Задаем пароль для пользователя:

sudo passwd pupkin

Можно просмотреть информацию о пользователе, которая сохранена в файле /etc/passwd

cat /etc/passwd | grep pupkin pupkin:x:1001:1001::/users/pupkin:/bin/sh

Команда useradd. Создание пользователя с произвольной домашней директорией

Создание нового пользователя с произвольными UID, GID

Каждый пользователь в Linux имеет свой числовой идентификатор — UID, а также идентификатор основной группы пользователя — GID.

При создании пользователя можно задать произвольные номера UID и/или GID. При указании номера группы, группа с этим номером должна быть создана заранее.

useradd -u 1234 -g 1222 pupkin

Создание пользователя с указанием оболочки (shell)

По умолчанию новые пользователи создаются с оболочкой /bin/sh Чтобы задать другую оболочку, используется опция -s /путь/до/оболочки

sudo useradd -m -s /bin/bash pupkin

Смотрите также: Как определить и изменить командную оболочку (shell) в Linux

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

Обычно пользователи в Linux принадлежат нескольким группам. Чтобы при создании нового пользователя задать группы, к которым он будет принадлежать, используется опция -G список,групп

sudo useradd -m -G adm,cdrom,wheel -s /bin/bash pupkin

Смотрите также: «Добавление пользователя в группу. Списки пользователей и групп в Linux»

В чем отличия adduser и useradd?

useradd — это низкоуровневая утилита для создания пользователей в Linux.

adduser — представляет собой более простое решение для создания пользователей и по факту является надстройкой над useradd, groupadd и usermod.

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

Команда Adduser

Adduser недоступен. в некоторых дистрибутивах Linux. На других это мягкая ссылка на useradd. В то время как на некоторых других, это сценарий Perl.

Adduser – это интерактивная утилита высокого уровня. В качестве бэкэнда используется утилита низкого уровня useradd. Настройки в /etc/login.defs будут использоваться при использовании adduser. На дистрибутивах, основанных на Debian, даже страница man рекомендует использовать его с помощью команды useradd.

Вызов adduser только с именем пользователя проведет вас через ряд вопросов.

Команда Adduser

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

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

sudo useradd -d /home/test -m -s/bin/bash -c FullName,Phone,OtherInfo test && passwd test

В опции -с могут быть удалены без проблем, то разделенный запятыми список, который следует будут добавлены комментарии к /etc/passwd. Но даже тогда adduser сохраняет две дополнительные команды.

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

  • –system: добавить системного пользователя. По умолчанию системные пользователи помещаются в группу nogroup. Чтобы добавить системного пользователя в существующую группу, укажите параметр –gid или –ingroup.
  • –home DIR: использовать DIR в качестве домашнего каталога вместо стандартного. При необходимости будет создан каталог и скопированы файлы скелета.
  • –shell SHELL: используйте SHELL вместо значения по умолчанию.
  • –ingroup GROUP: установить первичную группу пользователя на GROUP
  • –add_extra_groups: добавить нового пользователя в дополнительную группу, определенную в файле конфигурации.

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

  • Оболочка по умолчанию
  • Домашний каталог
  • Дополнительные группы
  • Добавить дополнительные группы


[spoiler title=”Источники”]

  • https://linuxinsider.ru/kak-sozdat-polzovatelya-linux/
  • https://www.dmosk.ru/miniinstruktions.php?mini=linux-users
  • http://rus-linux.net/MyLDP/consol/15-primerov-po-useradd.html
  • https://andreyex.ru/linux/komandy-linux-i-komandy-shell/useradd-protiv-adduser-v-chem-raznitsa/
  • https://pingvinus.ru/note/useradd


[/spoiler]


2020-07-27T15:39:49
Linux

Samba-сервер в локальной сети с Linux и Windows



























2.7/5 — (3 голоса)

 

Файловый сервер работает по протоколу SMB/CIFS и позволяет предоставить доступ к общим ресурсам в локальной сети, например, текстовым файлам или сетевым принтерам. Для его развертывания на Windows используются штатные средства ОС, на Linux используется файловый сервер Samba.

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

Схема Samba

Создание и настройка частной сети

Для начала в панели управления должны быть созданы все необходимые для сети серверы.

После создания необходимо объединить все машины в единую локальную сеть через панель управления в разделе Сети. В результате серверы получат локальные IP-адреса.

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

  1. Настройка сетевого адаптера в Ubuntu и Debian
  2. Настройка сетевого адаптера в CentOS
  3. Настройка сетевого адаптера в Windows

Настройка файлового сервера

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

Подготовка системы

Прежде чем приступать к работе продумайте схему хранения данных и доступа к ним. Существую разные типы данных, которые мы будем характеризовать по интенсивности доступа к ним, скажем “холодные данные” отличаются тем, что обращения к ним происходят крайне редко (а к некоторым вообще никогда), но при этом они могут занимать значительные объемы. Это прежде всего резервные копии, инсталляционные пакеты, образа дисков и т.д. и т.п.

Противоположность им “горячие данные” – это данные которые интенсивно используются и изменяются, для файлового сервера примером таких данных может служить файловая информационная база 1С:Предприятия. Между ними находятся обычные данные, характер доступа к которым не имеет каких-либо особенностей.

Исходя из типа данных следует выбирать диски для хранения, для “горячих данных” это должны быть быстрые диски или SSD, а для “холодных” подойдут экономичные модели с упором на большой объем. Также не забывайте про RAID, для защиты данных от аппаратного выхода дисков из строя.

Также продумайте структуру директорий и прав доступа к ним. Разумно будет исходить из следующих соображений: разделяйте диски с данными и системой, чтобы при необходимости можно было заменить их без лишних затруднений или перенести на другой сервер. Храните разные типы данных на разных дисках или разделах, скажем, если на разделе для резервных копий закончится свободное место, то это никак не повлияет на работу баз 1С.

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

samba-debian-001.png

Также обратите внимание на имя компьютера, Samba 4 будет использовать его в качестве NetBIOS имени.

После установки ОС следует изменить настройку лимита на количество одновременно открытых файлов, в Linux это 1024, а в Windows 16384. Для этого откройте файл /etc/security/limits.conf и добавьте в конце две строки:

* – nofile 16384
root – nofile 16384

После чего сервер следует перезагрузить.

Настройка файлового сервера на Linux (Debian/Ubuntu)

Для развертывания файлового сервера на системах Linux используется инструмент SAMBA. Ниже перечислены действия по его установке и настройке.

Прежде всего следует обновить локальную базу пакетов:

apt-get update

Далее установите пакеты из главного репозитория:

apt-get install -y samba samba-client

Создайте резервную копию файла конфигурации Samba:

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

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

mkdir -p /samba/public

Перейдите к этому каталогу и измените режим доступа и владельца:

cd /samba
chmod -R 0755 public

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

mkdir /samba/private

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

groupadd smbgrp

Создайте нужных пользователей с помощью команды useradd:

useradd user1

Добавьте созданных пользователей в группу:

usermod -aG smbgrp user1

Измените группу, которой принадлежит приватная директория:

chgrp smbgrp /samba/private

Задайте пароль, с помощью которого пользователь будет подключаться к каталогу:

smbpasswd -a user1

Откройте файл конфигурации на редактирование с помощью текстового редактора, например nano:

nano /etc/samba/smb.conf

Замените содержимое файла на следующие строки:


[global]workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[public]path = /samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes
[private]path = /samba/private
valid users = @smbgrp
guest ok = no
browsable = yes
writable = yes

Сохраните внесенные изменения, нажав CTRL+X, затем Enter и Y.

Значения параметров выше:

  • global – раздел с общими настройками для Samba сервера
  • workgroup – рабочая группа Windows, WORKGROUP – значение по умолчанию для всех Windows машин, если вы не меняли самостоятельно
  • security – режим безопасности, значение user означает аутентификацию по логину и паролю
  • map to guest – задает способ обработки запросов, bad user – запросы с неправильным паролем будут отклонены, если такое имя пользователя существует
  • wins support – включить или выключить поддержку WINS
  • dns proxy – возможность запросов к DNS
  • public – название общего каталога, которое будут видеть пользователи сети, может быть произвольным и не совпадать с именем директории
  • path – полный путь до общего каталога
  • browsable – отображение каталога в сетевом окружении
  • writable – использование каталога на запись, инверсия read only
  • guest ok – авторизация без пароля
  • force user – пользователь по умолчанию
  • valid users – список пользователей, у которых есть доступ к каталогу, через @ указывается unix-группа пользователей

Проверить настройки в smb.conf можно с помощью команды:

testparm -s

Чтобы изменения вступили в силу, перезапустите сервис:

service smbd restart

Далее нужно настроить firewall, открыв порты, которые использует SAMBA. Настоятельно рекомендуем разрешить только подключения из локального диапазона IP-адресов или виртуальной частной сети. Адресное пространство вашей частной сети вы можете увидеть в панели управления 1cloud.

Замените значение параметра –s в правилах ниже для соответствия адресному пространству вашей частной сети. Как правило префикс сети /24, если вы явно не подразумеваете иного:

iptables -A INPUT -p tcp -m tcp –dport 445 –s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 139 –s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp –dport 137 –s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp –dport 138 –s 10.0.0.0/24 -j ACCEPT

Теперь необходимо сделать так, чтобы указанные выше правила фаервола iptables были сохранены после перезагрузки машины. Для это установим пакет iptables-persistent:

apt-get install iptables-persistent

После установки откроется окно с предложением последовать запомнить текущие правила iptables для IPv4 и IPv6. Подтвердите это действие.

Проверить актуальные правила iptables можно командой:

iptables -L

В выводе команды вы должны увидеть ранее добавленные разрешающие политики (Accept).

Настройка общего ресурса с гостевым доступом

Начнем с самого простого варианта – создадим общий ресурс, доступ к которому может иметь любой пользователь. Для этого добавим в конец файла /etc/samba/smb.conf следующие строки.


[public]comment = Shared for all
path = /samba/public
read only = no
guest ok = yes

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

  • comment – описание ресурса, необязательный параметр;
  • path – путь к директории;
  • read only – режим только чтения, указываем no>;
  • guest ok – разрешен ли гостевой доступ, указываем yes>;

Теперь создадим саму директорию:

mkdir /samba/public

и установим на нее необходимые права, для гостевого ресурса это 777:

chmod 777 /samba/public

Перезапускаем Samba и пробуем получить доступ с любого Windows-клиента.

samba-debian-002.png
Если все сделано правильно, то сервер появится в сетевом окружении, и вы без проблем получите доступ к созданной нами общей папке.

Настройка корзины для общего ресурса

Полезность корзины на файловом сервере, пожалуй не будет отрицать никто. Человеку свойственно ошибаться и будет очень обидно, если ценой ошибки окажется несколько часов работы, но, к счастью Samba позволяет помещать удаленные файлы в корзину.

Для активации корзины добавьте в секцию к общему ресурсу следующие строки:

vfs objects = recycle
recycle:repository = .recycle
recycle:versions = yes
recycle:keeptree = yes

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

Перезапустим Samba и попробуем что-нибудь удалить.

samba-debian-005.png
Несмотря на грозное предупреждение Проводника удаляемые файлы перемещаются в корзину, откуда мы их можем восстановить.

Как видим, работать с Samba не просто, а очень просто, при том, что мы оставили за кадром многие возможности тонкой настройки, многие из которых требуют отдельных статей. Надеемся, что данный материал окажется вам полезным и поможет быстро и без проблем развернуть файловый сервер на Linux.

Настройка общего публичного каталога на Windows