> For the complete documentation index, see [llms.txt](https://denis-3.gitbook.io/linuxguide-linux-dlya-nachinayushikh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://denis-3.gitbook.io/linuxguide-linux-dlya-nachinayushikh/terminal-linux/prava-dostupa.-superpolzovatel.md).

# Права доступа. Суперпользователь?

## Права доступа

Я, во время объяснения команды `ls` с ключом `-l`, написал, что символы относящиеся к правам доступа, мы оставим на одну из следующих глав. Пришла пора в этом разобраться.&#x20;

Открываем Терминал. Я уже подготовил каталог, с помощью которого мы будем разбираться в этой теме. Вводим `ls` с двумя опциями `A` и `l`. С первым символом мы уже разобрались, а вот с остальными, в этом столбике, ещё нет. После первого символа идут три, скажем, группы, в которых имеются по три символа. Эти символы являются правами доступа к файлу. Для владельца — первые три символа, для группы — вторые три символа и для всех остальных — последние три символа. r(read) — чтение, w(write) — запись и x(execute) — выполнение. Давайте разберём примеры.&#x20;

<figure><img src="/files/WFKG3GzOzgvWfCYqlg6d" alt=""><figcaption></figcaption></figure>

Допустим file.txt. После первого символа идут, как я уже говорил, атрибуты, обозначающие права доступа к файлу, первые из которых для владельца файла. Здесь rw-, то есть чтение и запись. Для группы тоже чтение и запись. А вот для остальных только чтение.&#x20;

Super\_file.txt чуть-чуть отличается от file.txt тем, что как для группы, так и для всех остальных есть право только на чтение. То есть, к примеру, посмотреть содержимое этого файла я могу, а изменить его я не могу.&#x20;

Посмотрим на директорию dir. У директорий r— это чтение, просмотр этой директории, w — это переименование, создание, удаление файлов внутри директории, а x — это вход, переход в эту директорию. Здесь у владельца и группы есть все права, а у всех остальных права есть только на чтение и выполнение (переход в этот каталог).&#x20;

А у super\_dir всё то же, но есть отличие, ведь здесь у группы нет права на запись внутри каталога.&#x20;

А вот ссылка, видимо, решила не ограничивать свои права доступа, ведь здесь у всех есть полные права. Делай, что хочешь! Но на самом деле не всё так, как кажется. Дело в том, что у всех символических ссылок недействительные показатели атрибутов, т. е. они не являются настоящими. Настоящими правами являются те, которые есть у файла, на который ведёт эта ссылка. То есть настоящие права у ссылки link1 — чтение и запись для владельца, и чтение для группы и всех остальных. Получается те же, что и у файла, на которые она ссылается (file.txt). То же самое и с dir\_link.

## chmod

Теперь рассмотрим команду `chmod`, которая расшифровывается, как change mode, а переводится, как «изменить режим». Она, как ни странно, предназначена для изменения прав, режима доступа к файлу или каталогу.&#x20;

Добавим право на запись в file.txt всем остальным. Вводим команду `chmod`, далее категорию пользователей. Владельца, группу, остальных или всех. Они отмечаются символами. u расшифровывается, как user(пользователь)— это владелец файла или каталога, g расшифровывается, как group — группа, o расшифровывается, как others(остальные, другие) — это остальные и a расшифровывается, как all(все) — это и владелец, и группа, и остальные. Допустим, чтобы добавить право на запись остальным для файла file.txt, надо ввести `chmod`, далее `o`. Если ничего не вписать, то права будут изменены у всех, a(all). Следом идёт знак `+`, означающий добавление права, потом режимы прав доступа, у меня на запись, поэтому w. И наконец файл или каталог, которому мы выставляем права. В нашем случае это file.txt. `chmod o+w file.txt`. Вводим и проверяем. Если не вышло сообщение об ошибке и права доступа изменились, значит операция прошла успешно.&#x20;

<figure><img src="/files/1Uzb24ZaWNqsvQSAEQ7Z" alt=""><figcaption></figcaption></figure>

Если мы хотим отнять права, надо вместо плюса поставить минус. К примеру `chmod u-r file.txt`. Эта команда отнимет право на чтение у владельца file.txt.&#x20;

А если мы хотим просто выставить права доступа, то в качестве знака используем равно. К примеру, `chmod ug=rw file.txt`. Эта команда выставит владельцу файла file.txt и группе права только на чтение и запись.

<div><figure><img src="/files/YRLlj6L2NdXPJNz6VcDT" alt=""><figcaption></figcaption></figure> <figure><img src="/files/CmrlekBIkGiLrZEPEPhq" alt=""><figcaption></figcaption></figure></div>

Также есть восьмеричная запись прав доступа. Она более популярна и гораздо удобнее. Допустим, чтобы владельцу файла file.txt дать все права, группе только на чтение и запись, а остальным только на чтение в восьмеричном формате надо ввести `chmod` далее соответствующие цифры. Сначала идёт цифра для владельца файла, далее для группы и потом для всех остальных, и получится трёхзначное число. Все права, это цифра 7, на чтение и запись 6, на чтение 4. Вот и получается число 764. После этого идёт сам файл. `chmod 764 file.txt`. Нажимаем Enter и проверяем. Как видно права изменились под наши предпочтения. А название файла стало зелёным, так как file.txt стал исполняемым, т. е. у него есть права на исполнение (x).

<figure><img src="/files/KQSLuLGNuxmy9qzX1mqX" alt=""><figcaption></figcaption></figure>

Внизу есть таблица в формате <значение - описание - режимы>.

| Восьмеричное значение | Описание                            | Режимы |
| --------------------- | ----------------------------------- | ------ |
| 0                     | Нет прав                            | ---    |
| 1                     | Право только на выполнение          | —x     |
| 2                     | Право только на запись              | -w-    |
| 3                     | Право только на запись и выполнение | -wx    |
| 4                     | Право только на чтение              | r--    |
| 5                     | Право только на чтение и выполнение | r-x    |
| 6                     | Право только на чтение и запись     | r-w    |
| 7                     | Все права                           | rwx    |

## Суперпользователь, su и sudo

Перейдём к суперпользователю.&#x20;

**Суперпользователь или root** — это администратор, у которого есть право на всё! Под его управлением можно делать всё, что захочется с файлом или каталогом вне зависимости от того, какие установлены права: изменять корневой каталог, устанавливать программы и другое. С его правами в Linux совершаются важные для системы операции.

Теперь разберём команду `su`. Эта команда позволяет нам перейти в новую оболочку Терминала под другим пользователем. Если мы введём su без каких-либо опций, то надо будет ввести пароль, и если этот пароль будет верным, то Вы сможете войти в Терминал под суперпользователем. Учтите, что пароль должен соответствовать не Вашему, а паролю пользователя, под которым Вы хотите выполнять команды.

{% hint style="info" %}
Когда вы попробуете ввести `su` в Терминале, терминал запросит ввод пароля. Введя свой пароль, вы увидите ошибку, так как нужно вводить пароль пользователя, под которым выполняется вход, в нашем случае это суперпользователь, а для него пароль обычно не установлен в системе.

<img src="/files/IhBgLYZ4WOKdm3TwDbZd" alt="" data-size="original">
{% endhint %}

Если ввести `su`, а далее другого пользователя, то произойдёт переход в оболочку указанного пользователя, и Вы сможете выполнять команды от его имени. Выйти из оболочки другого пользователя можно уже знакомой нам командой `exit`. Опция `-c`, `--command`, даёт возможность выполнить команду без смены оболочки. Нужно ввести `su`, опцию `-c`, саму команду для выполнения в ординарных кавычках, и пользователя (по умолчанию root).&#x20;

Чтобы запустить программу от имени другого пользователя (по умолчанию суперпользователя), не меняя оболочку, есть команда `sudo`. Эта команда часто используется для обновления, установки и переустановки пакетов, а также других операций, где нужны права суперпользователя. `sudo` даёт временный доступ к этим правам для выполнения отдельных команд. Есть такая команда, как `whoami`. Она показывает имя пользователя текущего сеанса. Смотрите, если ввести просто `whoami`, то будет ваше имя пользователя, под ним и выполняется эта команда. А если ввести `sudo whoami`, то (после ввода **своего** пароля) появится root, так как `sudo` даёт привилегии суперпользователя.&#x20;

<figure><img src="/files/732Sk01LRBUxUSPvmDK2" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://denis-3.gitbook.io/linuxguide-linux-dlya-nachinayushikh/terminal-linux/prava-dostupa.-superpolzovatel.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
