Если берёте сторонний пакет, да не под ту версию KDE, то неудивительно, что не работает.
« Последнее редактирование: 23.01.2017 19:15:10 от Cвасти_Linux »
Алексей ЕФАНОВ, г. СПб.; ноутбук Lenovo Т420; BaseAlt Workstation 10.1 МАТЕ (x86_64)
Нажмите TAB после ввода dolphin — имя не полное, д.б. типа dolphin4
# dolphinbash: dolphin: команда не найдена
dolphin* может быть в /usr/bin/, а может и не быть.Если он не в /usr/bin/, то путь поиска может(должен) быть описан в PATH. Что такое PATH можно прочитать даже в руководстве пользователя по MS-DOS. (см. содержимое пакетов *dolphin* через -qpvl)
К сожалению, я не могу проверить на своём компьютере — у меня другой дистрибутив. Советую сделать следующее: — открыть свойства К-меню (по правой клавише мыши); — найти в списке менеджер Dolphin; — открыть свойства (по правой клавише мыши) и найти строку с точной командой запуска. В качестве примера привожу фото для менеджера Caja.
В пятых кедах работает.
Всё дело в волшебных пузырьках $PATH
Повезло только потому, что он *.noarch.rpm , т.е. не содержит процессорно-зависимых компотент, которые содержат бинарный код и обычно зависит еще от других библиотек (других пакетов). Ну и какие-либо особенности дистрибутива Росы, которые могли быть задействованы в этом пакете, совпали с особенностями Алт.
« Последнее редактирование: 06.02.2017 23:23:25 от Alexander Yereshenko »
Примечание: Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.
В Linux, благодаря системе полномочий, можно четко разграничивать доступ пользователям на файлы, различные возможности, к сервисам и пр.
Существует три вида прав:
Так же используется три категории пользователей, к которым эти права могут применяться:
Эти права применяются для каждого файла, а т.к. все в системе Linux, даже устройства, считаются файлами, то, получается что эти права применимы ко всему.
- Как узнать владельца
- Получение прав суперпользователя (root)
- Управление доступом к командам перехода в режим суперпользователя
- Краткое сравнение команд su и sudo
- Вход через su —
- Вход через sudo
- Предназначение root-прав в Linux
- Безопасность использования прав суперпользователя
- Команда sudo и примеры ее использования
- Переключение на суперпользователя
- Предоставление и отзыв прав суперпользователя
- Создание нового пользователя с root
- Для существующей учетной записи
- Откат прав суперпользователя
- Команды chown и chgrp
- Права доступа
- Изменение прав доступа
- Цифровое обозначение
- Дополнительно
- Установка Nautilus-admin
- Открытие папки от имени администратора
- Редактирование файла от имени администратора
- Открытие директории от имени администратора
- Открытие папки в файловом менеджере (Nautilus)
- Поиск и открытие папки через Dash
- Открытие папки в командной строке (Терминал)
- Символ тильды (~)
- Pwd
- Символ ‘/’
- Символ ‘-‘
- Открытие папки в Терминале через Диспетчер файлов
- Открытие папки в Диспетчере файлов через командную строку
- Доступ к папке от имени администратора из диспетчера файлов
- Вход под суперпользователем
- Переключение на суперпользователя в терминале
- Получение прав root без переключения
- Графически приложения от имени суперпользователя
- Выводы
- Специальные права доступа к файлам в Linux
- Как посмотреть права доступа к файлам в Linux
- Как изменить права файла в Linux
Как узнать владельца
Чтобы узнать информацию о владельце графически, выберите файл, кликните по нему ПКМ-свойства и перейдите во вкладку «Права». В графическом интерфейсе доступны изменения прав на файл по категориям пользователей.
Чтобы узнать владельца в консоли, введите следующую команду.
Первая колонка (занимаюшая 10 символов) — это права доступа.
Первый символ указывает на тип записи. Здесь может быть одно из следующих значений:
Вторая и третья колонки — владелец и группа, соответственно.
После этого в каждой строке идет три группы символов rwx, определяющих права доступа для различных категорий пользователей:
Команда chmod (change mode – сменить режим) предназначена для изменения прав доступа к файлам и каталогам в Unix-подобных операционных системах.
Синтаксис команды выглядит следующим образом:
Например, следующей командой мы разрешаем чтение и запись всем пользователям, чтобы они могли пополнять каталог c фильмами и музыкой на медиасервере :
# chmod -R 666 /home/media
Ключи необязательны. Устанавливать права можно двумя способами: с помощью буквенного обозначения прав (rwx) и с помощью числового в восьмеричной системе счисления.
Команда chown (change owner — смена владельца) — утилита, предназначенная для изменения владельца и/или группы для указанных файлов.
Синтаксис программы выглядит следующим образом:
# chown новый_владелец:новая_группа имя_файла
Новый владелец файла:
# chown petr:petr /home/petr/disk.iso
Новый владелец каталога:
# chown petr:petr /home/vasya
Новый владелец каталога и его содержимого:
# chown -R petr:petr /home/vasya
Начинающему системному администратору
Получение прав суперпользователя (root)
Виртуальная консоль Linux организована на основе текстовых возможностей графического контроллера, в том числе работы через фреймбуфер.
Как описано в Глава 7. Основы работы в Linux Справочника пользователя ALT Linux 2.4 Master
В процессе работы Linux активно несколько виртуальных консолей. Каждая виртуальная консоль доступна по нажатию Alt и функциональной клавиши с номером этой консоли. Так, в ALT Linux после загрузки системы функции системной консоли берёт на себя 12-я виртуальная консоль (Alt-F12). Если запущена графическая подсистема X11, она занимает седьмую консоль, а для переключения в текстовый режим описанные клавиши нужно нажимать вместе с Ctrl: Ctrl-Alt-F1, Ctrl-Alt-F2 и т. д.
Если вы переключитесь в виртуальную консоль, то увидите приглашение на вход вида:
где Lada — имя вашего компьютера.
Вводите имя root и пароль root:
Lada login: root
Password:
при вводе пароля ничего не высвечивается — это сделано специально, для безопасности.
Далее, например, вызываем mc (файловый менеджер с текстовым интерфейсом) и работаем в нём, если нет предпочтений вроде zsh.
Управление доступом к командам перехода в режим суперпользователя
В дистрибутивах ALT для управления доступом к важным службам используется подсистема control. Для получения текущего состояния войдите через login в root и дайте команду без параметров, например:
Для того чтобы посмотреть что значит та или иная политика, дайте команду control имя_службы help, например
Для задания новой политики можно задать control имя_службы новая_политика, например:
что запретит использовать команду sudo всем, кроме root (а самому root уже в настройках sudo по умолчанию запрещено её использовать).
Примечание: Как видно из приведённых выше команд, команды su и sudo по умолчанию позволено использовать только пользователям, входящим в группу wheel.
Краткое сравнение команд su и sudo
1. Режим работы по умолчанию:
Далее все команды до команды exit выполняются в режиме суперпользователя.
Выполняется только одна конкретная команда.
2. Запрашиваемый пароль по умолчанию:
— запрашивает пароль root;
— запрашивает пароль пользователя для первой команды, для следующих в течение определённого времени вообще не запрашивает пароль.
3. Каждая команда самостоятельна и настраивается отдельно.
По умолчанию в большинстве дистрибутивов ALT sudo запрещено
Вход через su —
Описание su —
Вход через sudo
В дистрибутивах Linux пользовательские привилегии предоставляются путем открытия доступа к root. Наличие таких прав позволяет использовать функциональность операционной системы более широко и выполнять необходимые действия в корневом каталоге.
Давайте детально обсудим, что может суперпользователь в Linux, как настроить root и для чего нужна команда
Предназначение root-прав в Linux
Права обычного пользователя в Linux крайне ограничены. Он может управлять только своим каталогом и открывать для чтения определенные файлы из корня. Доступ для их изменения или установки программ отсутствует, что делает привилегии суперпользователя крайне важными при настройке ОС и решении разных проблем. Обычный пользователь ограничивается следующим набором прав:
При наличии рут-прав у юзера появляется гораздо больше возможностей и расширяются границы взаимодействия с операционной системой. Становятся доступными любые действия со всеми папками и файлами.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Безопасность использования прав суперпользователя
Если с предназначением root-прав в Linux все понятно, то вот к безопасности их использования есть вопросы. В основном, относится это к серверным машинам, поскольку риск взлома домашнего компьютера очень мал, да и кому нужны файлы обычного пользователя, чтобы ради этого затевать процедуру взлома. Если вы используете Linux как обычную операционную систему, работаете с документами и стандартными программами, используйте root для установки приложений и защиты системы от случайных изменений, которые могут внести другие пользователи компьютера.
С серверной частью все гораздо сложнее, поскольку рут как таковой не предоставляет полной защиты. Часто используемые пароли взламываются путем перебора или поиском бэкдора. Поэтому не стоит полагаться исключительно на защиту паролем, если вы владеете файлами сайтов или используете сервер для других целей. Займитесь настройкой файрвола, если это повысит уровень защиты.
Команда sudo и примеры ее использования
тесно связана с root в Linux, поскольку отвечает за передачу прав суперпользователя и позволяет от его имени выполнять команды в Терминале. Существует несколько ее вариаций, использующихся при разных обстоятельствах. Подходит эта команда как для выполнения всего одного действия, так и для передачи прав на всю текущую сессию.
Самый простой пример использования – запуск программы от имени суперпользователя. Для этого вводится:
sudo program \ program – название приложения, которое вы хотите запустить
применяется для установки софта, команда в таком случае обретает вид:
sudo apt install program
В следующем разделе статьи речь пойдет о передаче прав суперпользователя, что тоже реализуемо при помощи . Я рассмотрю два полезных аргумента. Советую ознакомиться с ними, если хотите упростить выполнение действий через Терминал.
Переключение на суперпользователя
Еще раз уточню, что команда идеально подходит для получения необходимых привилегий без переключения учетной записи. Ее можно использовать как для выполнения одного действия, так и нескольких. Если вы желаете временно получить рут-права через эту команду, введите . В первом случае домашний каталог остается текущим, а во втором меняется на /root.
Примерно так же работает и команда , но она обладает дополнительными аргументами, которые следует уточнить:
Вы уже сами решайте, какой вариант хотите использовать, и готовы ли смириться со всеми ограничениями и недостатками, которые накладывает каждый из них.
Предоставление и отзыв прав суперпользователя
Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.
Создание нового пользователя с root
Допустим, что вы, единственный юзер в Linux, хотите создать еще одну учетную запись с правами суперпользователя. В таком случае алгоритм действий обретет следующий вид:
Для существующей учетной записи
Если учетная запись уже добавлена, в консоли остается ввести только одну команду, чтобы добавить пользователя в группу sudo и разрешить ему получение рут-прав. Сама команда представлена ниже, вам остается только скопировать ее и поменять имя юзера.
Используйте предыдущую инструкцию для проверки внесенных изменений.
Откат прав суперпользователя
Если вдруг вы решили, что одна из учетных записей больше не должна состоять в группе sudo, отзовите права, введя команду:
Это была вся основная информация о правах суперпользователя в Linux. Вы знаете, что дают такие привилегии, как их правильно использовать и управлять пользователями. В качестве рекомендации скажу, что всегда нужно читать текст ошибок, появляющихся в Терминале, если что-то пошло не так. Это позволит вам быстрее решить проблему без траты времени на поиски в Google.
Операционные системы на базе Linux являются многопользовательскими, и поэтому вопрос разграничения доступа к файлам и директориям является важным и требующим внимания.
Механизм разграничения доступа базируется на именах пользователей, а также на названиях групп пользователей, состав которых изменяет и определяет root пользователь (суперпользователь). Пользователь может входить в одну или несколько групп и иметь права доступа в зависимости от группы, в которую он входит.
При создании файла у него появляется владелец, то есть пользователь, который запустил процесс его создания. Также определяется группа, которая будет иметь права на этот файл. Изменять владельца файла и группу файла можно при помощи команд chown и chgrp.
Команды chown и chgrp
Команда chown (расшифровывается как “change owner”) используется для изменения владельца файла. При этом выполнять изменение владельца должен обязательно суперпользователь. Вам нужно ввести название команды, затем имя пользователя, которого вы собираетесь сделать владельцем файла, и в конце название файла:
# chown имя_пользователя название_файла
Команда chgrp (сокращение от “change group”) используется для изменения группы файла. При этом выполнить команду может как суперпользователь, так и владелец файла, но он обязательно должен быть членом группы, которой он хочет передать права на файл. Вам нужно ввести команду, название группы файлов, которой вы передаете права, а затем название файла:
# chgrp название_группы название_файла
Сразу расскажу о полезном ключе -R (расшифровывается как “recursively”). Он позволяет применять команду не только к текущей директории, но и ко всем поддиректориям. Ключ можно использовать и с chown, и с chgrp. Использовать такую рекурсивную команду удобно в случае большой вложенности.
Права доступа
Зачем настраивать права доступа?
Права доступа всегда необходимо назначать и разграничивать – это крайне важный момент обеспечения безопасности вашей Linux-системы. В случае, когда хакеру удастся получить доступ к одному из ваших пользователей, грамотно настроенные права доступа к файлам и каталогам не дадут ему возможности сделать много неприятностей. Иными словами, настройка прав доступа даст вам возможность максимально ограничить ваши данные от попадания в чужие руки (естественно, если речь не идет о root или sudo пользователях без ограничений, которые могут изменять любые права под себя).
Как смотреть права доступа?
После ввода этой команды вы увидите содержимое текущего каталога, а также информацию о владельце и правах доступа.
Пример отобразившейся информации:
Разберемся, что означают эти строки.
Первая буква в выводе обозначает тип файла. Самые популярные обозначения, которые вы будете встречать чаще всего, это:
Помимо них есть и другие обозначения:
Три следующие буквы, которые идут после первой, означают те права доступа, которые имеет пользователь-владелец этого файла или каталога. Расшифровываются они следующим образом:
Поэтому по записи
-rw-r–-r— 1 root root May 6 20:28 file1.txt
можно сказать о том, что это обычный файл, владельцем которого является пользователь root, и он может читать и изменять этот файл.
Следующие три буквы, которые идут после определения прав для владельца файла или каталога, означают права доступа для группы, которая владеет этим файлом.
В рассматриваемом нами примере выше у группы root будут права только на чтение файла.
Наконец, последние три буквы – это права доступа для всех остальных пользователей и групп, в том числе для абсолютно посторонних людей (если доступ в каталоги и файлы открыт на других ресурсах).
Изменение прав доступа
Для назначения и изменения прав доступа используется команда chmod (сокращенно от change mode). Она вводится в командную строку по следующей логике:
chmod кто=права файл/каталог
Вместо «кто» вам нужно подставить обозначение того, для кого будет назначены права доступа. Существуют следующие обозначения:
Далее вместо «права» вам нужно ввести обозначение права, которое вы хотите дать этому пользователю или группе. О существующих правах уже было рассказано выше. Эти права будут даны вместо имеющихся.
Наконец, вместо «файл/каталог» вам нужно написать в команде название файла или каталога, права к которому вы хотите изменить.
Допустим, вы хотите, чтобы файл logs все сторонние (остальные) пользователи могли только читать. Для этого вам нужно ввести вот такую команду:
Даже если до этого у пользователей было больше прав (например, они могли еще и изменять файл), то теперь у них останется только право на чтение:
Вы можете комбинировать обозначения тех, кому хотите изменить права доступа. Например, если нужно изменить права доступа сразу и для владельца, и для группы, то можно написать вот так:
В этом случае владелец и группа смогут читать и изменять файл file1.txt.
Комбинировать можно и сами файлы или каталоги (если вы хотите изменить права сразу для нескольких файлов):
chmod ug=rw file1.txt file2.txt
Добавление и исключение прав
Еще один интересный нюанс – вы можете также использовать знаки плюса (+) и минуса (-). Это полезно в тех случаях, когда вы хотите предоставить (добавить) или убрать (лишить) какие-либо права.
К примеру, команда
даст остальным пользователям возможность редактировать этот файл.
Также можно копировать (передавать) права доступа между разными пользователями. Допустим, вам нужно, чтобы остальные пользователи имели такие же права, как и владелец файла. Тогда вам нужно ввести следующую команду:
Но менять сами права при вводе команды такой конструкции нельзя.
Цифровое обозначение
Наверняка вы ни раз сталкивались с тем, что папкам или файлам даются права доступа в виде цифр. Например, 754, 755, 774 и т.д.
Каждая из цифр – это то же обозначение прав доступа для владельца, группы и остальных пользователей соответственно.
чтение (r) – 4, запись (w) – 2 и выполнение (x) – 1. Если сложить все эти права, то получится 7 – такое право доступа может быть у владельца файла. Группа может иметь право на чтение и запись (4+2) – обозначается 1. И так далее.
Чтобы было понятнее:
Такая запись пошла из двоичного кодирования восьмеричных цифр, то есть 754 – это восьмеричная запись 9 бит, которые задают права для файла или каталога.
При желании вы можете использовать команду chmod с цифровым кодированием:
644 – владелец файла может читать и изменять файл, а остальные пользователи (в том числе и группа) – только читать;
777 – все пользователи могут читать, изменять и выполнять файл.
Помните, что права доступа всегда выставляются от владельца файла к группе файла, а затем к остальным пользователя; то есть больше всего прав (или хотя бы точно не меньше) должно быть у владельца.
Дополнительно
Изменять права доступа можно не только через командную строку, но в различных файловых менеджерах, где это обычно более удобно и наглядно. Например, в Total Commander выставление прав выглядит следующим образом:
Последние версии Debian, такие как Debian 10, поставляются с файловым менеджером по умолчанию под названием Nautilus. Этот файловый менеджер с открытым исходным кодом, созданный для рабочих столов GNOME, даёт нам возможность управлять нашими файлами и приложениями. Он также позволяет нам открывать и редактировать наши файлы и папки в качестве администратора Debian. Другие возможности, которые он предоставляет, включают:
Установка Nautilus-admin
Откройте Терминал через поиск Debian Application Launcher следующим образом:
Выполните следующую команду от имени администратора:
Введите Y, когда появится запрос об использовании дополнительного дискового пространства.
Открытие папки от имени администратора
В этом примере мы хотим получить root доступ к директории Downloads, мы получим доступ к ней следующим образом:
Вам будет предложено предоставить информацию для аутентификации, после чего вы сможете получить доступ к содержимому папки.
Редактирование файла от имени администратора
Предположим, я хочу отредактировать защищенный файл ‘.pwd.lock’, расположенный по адресу /etc. Когда я открою его обычным способом, я получу следующее сообщение:
Обходной путь — открыть файл через Nautilus следующим образом:
После предоставления данных аутентификации вы сможете получить доступ и редактировать содержимое файла.
При работе с файлами и папками в качестве администратора Linux нам часто приходится получать доступ и редактировать файлы и папки, требующие прав root. Обычно мы выполняем эту задачу через Терминал Ubuntu (утилита командной строки), используя функцию sudo. Однако, когда нам нужно редактировать файлы, требующие прав root, через графический интерфейс, нам необходимо иметь надежное обходное решение для этого.
Последние версии Ubuntu, например Ubuntu, поставляются с файловым менеджером по умолчанию под названием Nautilus. Этот файловый менеджер с открытым исходным кодом, созданный для рабочих столов GNOME, дает нам возможность управлять нашими файлами и приложениями. Он также позволяет нам открывать и редактировать наши файлы и папки в качестве администратора Ubuntu. Другие возможности, которые он предоставляет, включают:
Ubuntu поставляется с этой утилитой по умолчанию; вы можете установить ее, выполнив действия, описанные в следующем разделе.
Следующие шаги помогут вам установить файловый менеджер Nautilus на вашу систему Ubuntu:
Откройте Терминал через Ctrl+Alt+T или через тире Ubuntu.
Nautilus будет установлен в вашей системе. Вы можете проверить это, введя Nautilus в Ubuntu Dash следующим образом:
Теперь файловым менеджером в вашей системе является Nautilus.
Открытие директории от имени администратора
Если вы хотите отредактировать файл, например, файл конфигурации системы, который требует прав root, файловый менеджер Nautilus позволяет вам редактировать этот файл от имени администратора. Вам просто нужно получить доступ к этому файлу, а затем щелкнуть правой кнопкой мыши и выбрать в меню команду Редактировать от имени администратора.
Предположим, я хочу отредактировать защищенный файл ‘evm’, расположенный по адресу /sys/kernel/security. Когда я открою его обычным способом, я получу следующее сообщение:
Файловый менеджер Nautilus, который вы научились устанавливать и использовать в этом руководстве, избавит вас от необходимости использовать терминал каждый раз, когда вы хотите получить доступ и отредактировать содержимое защищенного файла или папки в вашей системе Ubuntu.
Открытие папок в Ubuntu — это одна из основных задач, которую вы будете выполнять ежедневно как обычный пользователь Ubuntu. Хотя существует множество способов сделать это, у каждого из нас есть свои предпочтения, когда дело доходит до доступа к папкам в нашей системе.
В этой статье мы расскажем о нескольких способах:
Открытие папки в файловом менеджере (Nautilus)
Последняя версия Ubuntu — Ubuntu 22.04, поставляется с файловым менеджером по умолчанию под названием Nautilus. Этот файловый менеджер с открытым исходным кодом, созданный для рабочих столов GNOME, дает нам возможность управлять нашими файлами и папками.
Вы можете получить доступ к файловому менеджеру Nautilus следующими способами:
1. Поиск термина ‘Nautilus’ в системном Dash:
2. Поиск термина Files или File Manager в системном тире:
3. Доступ к диспетчеру файлов из значка Files в панели Ubuntu Dock/Activities.
По умолчанию диспетчер файлов открывается в вашей домашней папке. В Ubuntu вы можете открыть нужную папку, дважды щелкнув по ней или выбрав один из вариантов из меню правой кнопки мыши:
Поиск и открытие папки через Dash
Поиск в Dash позволяет открыть папку напрямую, а не просматривать ее из диспетчера файлов. Просто введите имя папки в Dash, и результаты поиска будут отображены на основе ваших критериев.
Простым щелчком мыши вы можете открыть соответствующую папку (см. путь в случае отображения нескольких результатов поиска).
Открытие папки в командной строке (Терминал)
Командная строка Ubuntu, Терминал, также является не основанным на пользовательском интерфейсе подходом к доступу к вашим папкам. Вы можете открыть приложение Терминал либо через системный Dash, либо с помощью сочетания клавиш Ctrl+Alt+T.
Вот некоторые команды и символы, которые помогут вам в просмотре папок в командной строке:
Команда cd или change directory позволяет вам изменить каталог, или, другими словами, открыть новую папку. Когда вы открываете Терминал, вы находитесь в своем домашнем каталоге. Следующая команда поможет вам открыть нужную папку:
На снимке выше, перешли в директорию Documents помощью команды cd. В командной строке терминала по умолчанию отображается текущая папка, в которой вы находитесь.
Символ тильды (~)
В случае использования учетной записи root, домашней директорией является /root в корне.
Pwd
Команда pwd означает печать рабочего каталога. Если вы хотите узнать точный путь к каталогу, в котором вы сейчас находитесь, просто выполните следующую команду:
Символ ‘/’
Символ / в команде cd поможет вам напрямую открыть корневую папку.
Символ ‘..’ в команде cd помогает перейти на один уровень каталога вверх:
Символ ‘-‘
Символ ‘-‘ в команде cd помогает вернуться в предыдущую папку, в которой вы находились до перехода в текущую папку. Эту команду можно представить как кнопку «Предыдущий канал» на пульте дистанционного управления телевизором.
Открытие папки в Терминале через Диспетчер файлов
Для того чтобы открыть папку из Диспетчера файлов в приложении Терминал:
Щелкните выбранную папку правой кнопкой мыши и выберите в меню пункт Открыть в терминале следующим образом:
Открытие папки в Диспетчере файлов через командную строку
Если вы находитесь в командной строке Ubuntu и хотите открыть определенную папку в файловом менеджере UI, вы можете воспользоваться одним из следующих двух способов:
Доступ к папке от имени администратора из диспетчера файлов
Предположим, что вам нужно открыть папку, которая требует прав root. Вы можете получить доступ к папке через файловый менеджер UI; щелкните правой кнопкой мыши и выберите в меню пункт Открыть как администратор.
В этом примере мы хотим получить root доступ в директории Documents, мы получим доступ к ней следующим образом:
К настоящему времени вы, должно быть, освоили доступ к папкам Ubuntu как через командную строку, так и через пользовательский интерфейс. Теперь вы даже можете открывать конфиденциальные папки в качестве администратора в Ubuntu.
Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.
В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.
В этой статье мы рассмотрим какие программы нужны для того, чтобы получить права root пользователя linux, как они работают, как выполнять программу с правами root от обычного пользователя и как запускать графические программы с правами root. А также выясним что такое sudo в чем разница su или sudo.
Очень долго перечислять чего не может обычный пользователь Linux, проще сказать на что у него есть право, а именно при стандартной настройке полномочий для файлов в Linux, обычный пользователь может:
Если же нужно сделать что-то большее нам понадобятся права root пользователя linux. У root есть право делать все в вашей файловой системе независимо от того какие права установлены на файл.
Вход под суперпользователем
Вы получите полноценное окружение root с возможностью выполнять все действия, но такой способ очень непрактичный, так как вы теряете все преимущества использования графического интерфейса.
Переключение на суперпользователя в терминале
Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:
Вот ее основные опции:
Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.
Сначала выполним su без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:
Теперь смотрим что получилось:
Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.
И повторим ту же комбинацию:
Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:
Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:
su — test
Более подробно о команде su вы можете почитать в отдельной статье. Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.
Получение прав root без переключения
Чтобы реализовать максимально безопасный интерфейс для работы с правами суперпользователя в Linux была разработана команда sudo. Давайте рассмотрим что такое sudo. Эта команда пишется перед каждой командой, которую нужно выполнить от имени суперпользователя, и для ее выполнения нужно ввести пароль уже не root, а всего лишь вашего пользователя. Так же, как и в предыдущей, в этой утилиты есть свои опции. Сначала рассмотрим синтаксис:
Вы можете выполнить те же эксперименты, только для этой команды, чтобы понять как использовать команду sudo. Например:
sudo -u test ls
Использование sudo — это рекомендованный способ выполнять команды от имени суперпользователя в Linux. Так вы не забудете с чем имеете дело и меньше всего рискуете повредить систему. Более подробно о команде sudo читайте здесь. Но остался еще один нерешенный вопрос — как быть с графическими утилитами? Ведь команда sudo их не запускает, а запускать графическую оболочку от имени root небезопасно. Это мы и рассмотрим далее.
Графически приложения от имени суперпользователя
Для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Они сохраняют все необходимые переменные окружения и полномочия. В KDE это команда kdesu, а в Gnome команда gksu.
Просто наберите gksu или kdesu, а затем нужную команду:
Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:
Программа запросит пароль, уже в графическом окне, а потом откроется файловый менеджер.
Выводы
Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
В операционной системе Linux есть много отличных функций безопасности, но она из самых важных — это система прав доступа к файлам. Linux, как последователь идеологии ядра Linux в отличие от Windows, изначально проектировался как многопользовательская система, поэтому права доступа к файлам в linux продуманы очень хорошо.
И это очень важно, потому что локальный доступ к файлам для всех программ и всех пользователей позволил бы вирусам без проблем уничтожить систему. Но новым пользователям могут показаться очень сложными новые права на файлы в linux, которые очень сильно отличаются от того, что мы привыкли видеть в Windows. В этой статье мы попытаемся разобраться в том как работают права файлов в linux, а также как их изменять и устанавливать.
Изначально каждый файл имел три параметра доступа. Вот они:
Но все эти права были бы бессмысленными, если бы применялись сразу для всех пользователей. Поэтому каждый файл имеет три категории пользователей, для которых можно устанавливать различные сочетания прав доступа:
Именно с помощью этих наборов полномочий устанавливаются права файлов в linux. Каждый пользователь может получить полный доступ только к файлам, владельцем которых он является или к тем, доступ к которым ему разрешен. Только пользователь Root может работать со всеми файлами независимо от их набора их полномочий.
Но со временем такой системы стало не хватать и было добавлено еще несколько флагов, которые позволяют делать файлы не изменяемыми или же выполнять от имени суперпользователя, их мы рассмотрим ниже:
Специальные права доступа к файлам в Linux
Для того, чтобы позволить обычным пользователям выполнять программы от имени суперпользователя без знания его пароля была придумана такая вещь, как SUID и SGID биты. Рассмотрим эти полномочия подробнее.
Теперь давайте рассмотрим как посмотреть и изменить права на файлы в Linux.
Как посмотреть права доступа к файлам в Linux
Конечно, вы можете посмотреть права доступа к файлам в Linux с помощью файлового менеджера. Все они поддерживают эту функцию, но так вы получите неполную информацию. Для максимально подробной информации обо всех флагах, в том числе специальных, нужно использовать команду ls с параметром -l. Все файлы из каталога будут выведены в виде списка, и там будут показаны все атрибуты и биты.
Чтобы узнать права на файл linux выполните такую команду, в папке где находится этот файл:
За права файлов в linux тут отвечают черточки. Первая это тип файла, который рассмотрен в отдельной статье. Дальше же идут группы прав сначала для владельца, для группы и для всех остальных. Всего девять черточек на права и одна на тип.
Рассмотрим подробнее, что значат условные значения флагов прав:
В нашем примере, файл test1 имеет типичные разрешения для программ, владелец может все, группа только чтение и выполнение, а все остальные — только выполнение. Для test2 дополнительно установлен флаг SUID и SGID. А для папки test3 установлен Sticky-bit. Файл test4 доступный всем. Теперь вы знаете как посмотреть права на файл linux.
Как изменить права файла в Linux
Чтобы изменить права на файл в linux вы можете использовать утилиту chmod. Она позволяет менять все флаги, включая специальные. Рассмотрим ее синтаксис:
Опции сейчас нас интересовать не будут, разве что только одна. С помощью опции -R вы можете заставить программу применять изменения ко всем файлам и каталогам рекурсивно.
Категория указывает для какой группы пользователей нужно применять права, как вы помните доступно только три категории:
Действие может быть одно из двух, либо добавить — знак «+», либо убрать — знак — «-«. Что касается самих прав доступа, то они аналогичны выводу утилиты ls: r — чтение, w — запись, x — выполнение, s — suid/sgid, в зависимости от категории, для которой вы его устанавливаете, t — устанавливает sticky-bit. Например, всем пользователям полный доступ к файлу test5:
chmod ugo+rwx test5
Или заберем все права у группы и остальных пользователей:
chmod go-rwx test5
Дадим группе право на чтение и выполнение:
chmod g+rx test5
Остальным пользователям только чтение:
chmod o+r test5
Для файла test6 установим SUID:
chmod u+s test6
А для test7 — SGID:
chmod g+s test7
Посмотрим что получилось:
Как видите, изменить права на файл в Linux очень просто. К тому же вы можете изменить основные права с помощью файлового менеджера.
Вот и все, теперь вы знаете не только что такое права доступа к файлам в Linux, но и как их посмотреть, и даже как их изменить. Это очень важная тема, в которой действительно стоит разобраться новичкам, чтобы использовать свою систему более полноценно. Если у вас остались вопросы, спрашивайте в комментариях!
На завершение хочу предложить неплохое видео про права доступа в Linux:
https://youtube.com/watch?v=ICKs6uEnXWQ%3Ffeature%3Doembed