Работа с RHEL сервером

Root пользователь

  • это специальный аккаунт и группа пользователей в UNIX-подобных системах с идентификатором (UID, User IDentifier), владелец которого имеет право на выполнение всех без исключения операций.

  • В UNIX системах пространство поделено на kernel space и user space. Доступ к процессам в kernel space имеет только пользователь, у которого на это есть разрешения

    • Root пользователь по-умолчанию имеет все разрешения на все процессы в ядре

Подключение через GUI

  • Осуществляется выбором пользователя в списке экрана входа

  • Отсюда же доступны некоторые опции для подключения

Подключение через консоль

  • При подключении через ssh или иным способом пользователя встречает окно ввода логина и пароля, после ввода которых открывается доступ к shell

Виртуальные терминалы

  • В начале развития компьютерных систем применялась схема, при которой к серверу (мейнфрейму) осуществлялось подключение через терминалы (аналог ПК для ввода данных)

  • Каждый такой терминал был подключен по кабелю и для каждого создавался раздел /dev/tty в системе

  • С развитием удаленного доступа подключение к серверу стали осуществлять посредством vty - виртуального терминала, но обозначение раздела в системе сохранилось прежним

  • Для логина доступны tty1 - tty6

  • Если в систему установлена графическая оболочка, то она привязывается к tty1

  • Для смены между виртуальными терминалами используется команда chvt (change virtual terminal)

    • Или Ctrl+Alt+fn

Использование su

  • su (switch user) используется для работы в shell от имени другого пользователя

    • Используется для открытия root shell

    • Для root используется для тестирования функциональностей, доступных какому-либо пользователю

  • Для работы su необходимо знать пароль пользователя, через которого будет исполняться команда

  • su - полный доступ к shell из под пользователя

[admin@centos8 ~]$ su -
Password: 
[root@centos8 ~]# exit
logout
[admin@centos8 ~]$ 
[admin@centos8 ~]$ su - linda
su: user linda does not exist

Использование sudo

  • sudo позволяет исполнить команду из под другого пользователя

  • sudo также требует пароль пользователя

  • Пользователи должны быть авторизованы для использования sudo

    • Авторизация настраивается в файле /etc/sudoers и /etc/sudoers.d/*

    • Для редактирования используется visudo

  • Доступ к sudo имеют пользователи в группе wheel

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL

## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

## Allows members of the users group to mount and unmount the
## cdrom as root
# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

## Allows members of the users group to shutdown this system
# %users  localhost=/sbin/shutdown -h now

## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d

Использование SSH

  • SSH (Secure Shell) - используется для защищенного подключения

  • Идентификация происходит за счет использования ключей хоста

    • После первичного подключения ключи хоста содержатся в ~/.ssh/known_hosts

  • Вся важная информация отправляется через шифрованный канал

  • ssh -X или ssh -Y отображает графический экран целевого сервера локально

[admin@centos8 ~]$ sudo ssh -X localhost
[sudo] password for admin: 
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:8od3UakQsOMP5GNDUirxRQplFzRLs6+2V0yfK7e1k+c.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
root@localhost's password: 
Warning: No xauth data; using fake authentication data for X11 forwarding.
Activate the web console with: systemctl enable --now cockpit.socket

Last updated