Skip to content

Commit

Permalink
Обновлено: sudo, PR #164
Browse files Browse the repository at this point in the history
  • Loading branch information
OlegShchavelev committed Feb 10, 2024
1 parent 660a8f3 commit 645111e
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 62 deletions.
1 change: 1 addition & 0 deletions _data/navbar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@ export const docs = [
items: [
{ text: 'APT', link: '/apt-get' },
{ text: 'Сизиф', link: '/sisyphus' },
{ text: 'Sudo', link: '/sudo' },
{ text: 'Ядро', link: '/kernel' },
{ text: 'EPM', link: '/epm' },
{ text: 'Flatpak', link: '/flatpak' },
Expand Down
66 changes: 4 additions & 62 deletions docs/main/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,26 +39,7 @@

### Поддерживается установка Flatpak-пакетов?

`Flatpak` – это прогрессивный формат самодостаточных пакетов для GNU/Linux. Данный способ полностью совместим с **ALT Regular Gnome**, для использования необходимо установить приложения и подготовить его к работе.

Для установки приложений можно подключить `Flathub` — крупнейший репозиторий приложений формата Flatpak:

::: code-group

```shell[apt-get]
su -
apt-get install flatpak-repo-flathub
```

```shell[epm]
epm install flatpak-repo-flathub
```

```shell[flatpak]
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
```

:::
`Flatpak` – это прогрессивный формат самодостаточных пакетов для GNU/Linux. Данный способ полностью совместим с **ALT Regular Gnome**, для использования [необходимо установить приложения и подготовить его к работе](/flatpak).

### Как правильно обновлять систему?

Expand Down Expand Up @@ -118,48 +99,9 @@ apt-get autoremove
su -
apt-get reinstall foo-bar
```
### Как включить sudo?

Для выполнения комманд в терминале, связанных с установкой и обновлением програм, изменением системных файлов и конфигураций необходимы права суперпользователя.
Для выполнения комманд в режиме суперпользователя в alt linux нужно прописать в консоли "su -" и ввести пароль суперпользователя (root пароль), для перехода в него.
Пример: обновление системы
::: code-group
### Почему `sudo` не работает из коробки?

```shell[apt-get]
su -
apt-get update
apt-get dist-upgrade
```

```shell[epm]
su -
epm full-upgrade
```

:::

Но в большинстве linux дистрибутивов все эти операции выполняются с помощью комманды sudo, которая добавляется перед другой коммандой и запрашивает пароль суперпользователя перед применением.
Для домашнего использования не так важны тонкие настройки безопасности и ограничения, поэтому следуя официальной wiki alt linux, можем пойти лёгким путём.

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

```su -
control sudowheel enabled
exit
```
Теперь для обновления системы достаточно прописать
::: code-group

```shell[apt-get]
sudo apt-get update
sudo apt-get dist-upgrade
```

```shell[epm]
sudo epm full-upgrade
```

:::
Пароль вводится только после первой комманды, так как после ввода sudo некоторое время для ввода последующих комманд с применением sudo нет необходимости в их подтверждении вводом пароля.
Образ ALT Regular Gnome выполняет несколько задач, к примеру использование актуальной версии рабочего окружения GNOME, однако все образы семейства ALT Regular предоставляет возможность простого создание производных дистрибутивов. Безусловно пользователю предоставляется возможность настроить [sudo](/sudo) самостоятольно.

Источники: https://www.altlinux.org/Sudo и https://www.altlinux.org/Su
Альтернативный вариантом вариантом использованием комманды `su -` и авторизации под привилегированным пользователем без изменения коммандного интферфейса.
114 changes: 114 additions & 0 deletions docs/system/sudo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# SUDO

Sudo (su “do”) — позволяет пользователю с привелигированными права делегировать полномочия, чтобы предоставить определенным пользователям (или группам пользователей) возможность запускать некоторые (или все) команды от имени root или другого пользователя, предоставляя журнал аудита команд и их аргументов.

## Быстрая настройка sudo

Для быстрого разрешения всех привелигированных прав пользователям входящее в группу `wheel`:

```shell
su -
control sudowheel enabled
exit
```

Проверим, результат, наберем `sudo -l`, необходимо вывести пароль для подтверждение операции:

::: details Пользователю `oleg` присвоенны привелегированные права:
```
Соответствие записей Defaults для oleg на alt-gnome:
env_keep+="DISPLAY XAUTHORITY"
Пользователь oleg может выполнять следующие
команды на alt-gnome:
(ALL) ALL
```
:::

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

```shell
su -
control sudowheel disabled
exit
```

Проверим, результат, наберем `sudo -l`:

::: details У пользователя `oleg` отсутствует привелегированные права:
```
Извините, пользователь oleg не может запустить sudo на alt-gnome.
```
:::


## Детальная настройка sudo

Разрешить все привелигированные права для пользователя `oleg` на устройстве `alt-gnome`

```shell
oleg alt-gnome=(ALL) ALL
```

Разрешить определенные комманды (apt-get, rpm, fdisk) для пользователя `user` на устройстве `localhost`

```shell
oleg alt-gnome=(ALL) /usr/bin/apt-get,/usr/bin/rpm,/sbin/fdisk
```

Разрещить все привелегированные права для пользователей входящую в группу `wheel`

```shell
WHEEL_USERS ALL=(ALL) ALL
```

Создадим правило в файле `10-oleg` размещенный в директории `/etc/sudoers.d/`:

```shell
su -
echo "oleg alt-gnome=(ALL) ALL" >> /etc/sudoers.d/10-oleg
exit
```

Проверим, результат, наберем `sudo -l`, необходимо вывести пароль для подтверждение операции:

::: details Пользователю `oleg` присвоенны привелегированные права:
```
Соответствие записей Defaults для oleg на alt-gnome:
env_keep+="DISPLAY XAUTHORITY"
Пользователь oleg может выполнять следующие
команды на alt-gnome:
(ALL) ALL
```
:::

## Полезные команды при настройке sudo

Разрешены привелигированные права пользователю:

```shell
sudo -l
```

:::info
Необходимо быть авторизированным под пользователем для которого вы хотите проверить cтатус
:::

Добавить пользователя `oleg` в группу `wheel`:

```shell
gpasswd -a oleg wheel
```

Узнать имя устройства через терминал:

```shell
hostname
```

::: details Пример ответа hostname:
```
alt-gnome.
```
:::

0 comments on commit 645111e

Please sign in to comment.