Это не мануал для профи, а заметка для меня. Скорее всего что-то делаю не по фэншуй.
Процесс установки с нуля не такой долгий, но, поскольку я делаю это не для физического сервера, а для теста на VirtualBox, то просто скачаю нужный образ:
FreeBSD 13.0-RELEASE — amd64. Изначально образ запакован, поэтому после распаковки получим файл FreeBSD-13.0-RELEASE-amd64.vhd. Согласно расширению — это файл виртуального жёсткого диска.
1. Открываем VirtualBox
2. Создаём новую виртуальную машину «FreeBSD13»
3. Распакованный файл виртуального жёсткого диска переносим в папку с виртуальной машиной «FreeBSD13»
4. Переходим в менеджер управления виртуальными дисками:
▶ ▶
5. В окошке «Please choose a virtual hard disk file» выбираем распакованный файл с расширением .vhd
6. Сейчас у него размер 5.03GB, изменим значение, например на 20GB, и нажмём кнопку .
7. Закрываем окошко
8. Открываем настройки виртуальной машины «FreeBSD13»:
▶ ▶ ▶ ▶ ▶ :
9. В окошке выбора жёсткого диска, выбираем нужный нам:
Настройка
10. Если запустить эту виртуальную машину, то мы можем залогиниться только под рутом (пароль пустой).
root
11. Пока не забыли, установим для него новый пароль:
passwd
12. Добавим в систему нового пользователя:
adduser
13. Обновим локальную копию репозитория пакетов:
pkg update && pkg upgrade
14. Установим пакет sudo:
pkg install sudo
15. Многие ставят nano, но мне удобнее Midnight Commander:
pkg install mc
Если по умолчанию выбран в качестве шелла sh, то тут mc может выдать предупреждение:
Midnight Commander was built with subshell support, which works with most popular shells, e.g. bash(l), dash(l), tcsh(l), zsh(l), but not sh(l) due to its lack of «precmd» or equivalent hooks which mc(l) needs to read the subshell’s current directory.
$ env SHELL=/bin/sh mc
common.c: unimplemented subshell type 1
read (subshe1l_pty . . . ): No such file or directory (2)Please either use more advanced interactive shell, or start mc(l) with -u (—nosubshell) switch if you’re confined to /bin/sh for some reason.
16. Чтобы с /usr/local/etc/sudoers (просто снимем комментарий):
могли работать члены группы WHEEL, внесём изменения в файл#№ Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL : ALL) ALL
17. При этом необходимо не забыть добавить нашего пользователя в группу WHEEL:
pw groupmod wheel -m denis
Настройка SSH
18. Внесём правки в файл /etc/rc.conf (под рутом или запустив редактор с повышением привилегий):
sshd_enable="YES"
19. Изменим настройки sshd:
PermitRootLogin no
PubkeyAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
20. Создадим ключи для подключения к серверу через PuTTY по SSH:
Здесь я не буду описывать все шаги, а просто оставлю ссылку на одну из прошлых заметок.
21. Убедившись, что логин по ключам проходит нормально, отключаем авторизацию по паролю.
PasswordAuthentication no
Смена шелл
22. Выведем список доступных шеллов:
cat /etc/shells
# $FreeBSD$
#
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells./bin/sh
/bin/csh
/bin/tcsh
23. Под рутом выполним команду для смены шелла пользователю denis:
chsh -s /bin/tcsh denis
24. Изменим горячие клавиши для работы через PuTTY (мне так привычнее):
if ($term == "xterm" || $term == "vt100" \
|| $term == "vt102" || $term !~ "con*") then
# bind keypad keys for console, vt100, vt102, xterm
bindkey "\e[1~" beginning-of-line # Home
bindkey "\e[7~" beginning-of-line # Home rxvt
bindkey "\e[2~" overwrite-mode # Ins
bindkey "\e[3~" delete-char # Delete
bindkey "\e[4~" end-of-line # End
bindkey "\e[8~" end-of-line # End rxvt
endif
25. Для удобства изменю формат строки приглашения:
set prompt = "\n[%N@%m] %~%# "
set promptchars = ">#"
[denis@vboxmachine] /etc>
26. Midnight Commander любит мусорить в хистори строки вида:
cd "`printf '%b' '\0057etc'`"
В связи с этим добавлю маленький костыль:
# Hide space symbol commands from MC
export HISTCONTROL=ignoreboth
- WordPress: Ошибка в плагине WpDiscuz - 08.10.2024
- Windows 10: Уменьшить размер виртуальной машины WSL - 06.10.2024
- Windows 10: Событие EventID 63 в Журнале Приложений - 28.09.2024