Как зайти под суперпользователем в linux

Раньше данная проблема решалась достаточно просто: при обладании паролем root можно было зайти в систему под его аккаунтом либо временно получить его права, используя команду su . Потом выполнить все необходимые операции и вернуться обратно под обычного пользователя. В принципе, такая схема работает неплохо, однако у неё есть много существенных недостатков, в частности, невозможно никак (точнее, очень сложно) ограничивать административные привилегии только определённым кругом задач.

Разбираемся с файлами /etc/profile и /etc/bashrc

Павел Соловьёв Full Stack Developer #администрирование 10 сентября, 2015 363

Недавно я столкнулся со следующей проблемой: приложение не сохраняло настройку umask, заданную в профиле root-пользователя, или в файле /etc/profile. Немного разобравшись в вопросе, я понял, что приложение использует только ту настройку umask, которая задана в  /etc/bashrc, не принимая даже те значения, которые являются его же собственными сценариями запуска.

Немного изучив вопрос, я понял, какую функцию выполняют эти файлы, чем они различаются и как они выполняются. Такой вопрос поднимается не часто, поэтому я подумал, что будет полезно рассказать о нем вам.

Для чего нужен файл /etc/profile?

Если вы используете Linux, то вам наверняка знакомы файлы .profile или .bash_profile, размещенные в вашем домашнем каталоге. Эти файлы используются для задания элементов окружения для оболочки пользователя. Таких элементов, как, например, umask, и таких переменных, как PS1 или PATH.

Файл /etc/profile не очень-то отличается от этих файлов. Он используется для задания общесистемных переменных окружения в оболочках пользователя. Иногда это те же переменные, что и в .bash_profile, но этот файл используется для задания первоначальных PATH или PS1 для всех пользователей оболочек системы.

/etc/profile.d

Помимо задания элементов окружения, файл  /etc/profile выполняет сценарии внутри /etc/profile.d/*.sh. Если вы хотите задать свои собственные переменные окружения для всей системы, вам следует поместить свою конфигурацию в сценарий оболочки в  /etc/profile.d.

Читайте также:  Linux для настольных ПК – несбывшаяся мечта

Для чего нужен файл /etc/bashrc?

Помимо .bash_profile, в своем домашнем каталоге вы также часто будете встречать файл .bashrc. Этот файл предназначен для задания псевдонимов команд и функций, используемых пользователями оболочки bash.

Аналогично тому, как /etc/profile является общесистемной версией  .bash_profile, файл  /etc/bashrc в Red Hat и файл /etc/ в Ubuntu являются общесистемной версией .bashrc.

Стоит отметить, что в Red Hat реализация /etc/bashrc также выполняет сценариий оболочки в /etc/profile.d, но только если пользовательская оболочка является Интерактивной оболочкой (т.е. Login Shell (стартовой оболочкой))

Когда используются эти файлы?

То, когда выполняется каждый из этих файлов, зависит от типа выполняемого логина. В Linux имеется два типа стартовых оболочек (login shells) — Интерактивные оболочки и Неинтерактивные оболочки. Интерактивная оболочка используется, когда пользователь может взаимодействовать с оболочкой, т.е., например, типичное приглашение командной строки bash. Неинтерактивная оболочка используется, когда пользователь не может взаимодействовать с оболочкой, т.е. выполнение bash-сценариев.

Разница проста: файл /etc/profile выполняется только для интерактивных оболочек, а файл /etc/bashrc – как для интерактивных, так и для неинтерактивных. Вообще-то, в Ubuntu файл /etc/profile вызывает файл /etc/bashrc напрямую.

Интерактивная оболочка и неинтерактивная оболочка: Сравнение

Чтобы на примере сравнить интерактивную и неинтерактивную оболочки, я добавлю переменную в оба файла /etc/profile и /etc/ в своей Ubuntu.

/etc/profile

grep TEST /etc/profile export TESTPROFILE=1

/etc/

grep TEST /etc/ export TESTBASHRC=1 Интерактивная оболочка

Ниже приведен пример интерактивной оболочки. В этом случае были выполнены оба файла /etc/profile и /etc/

su — env | grep TEST TESTBASHRC=1 TESTPROFILE=1 Неинтерактивная оболочка

В этом примере мы выполняем команду через оболочку SSH, которая является неинтерактивной; поскольку это неинтерактивная оболочка, выполняется только файл /etc/

# ssh localhost «env | grep TEST» [email protected]’s password: TESTBASHRC=1 Заключение

В моем случае приложение не признает значение umask, заданное в файле /etc/profile, но признает значение в файле /etc/bashrc. Это говорит о том, что подпроцесс начинается как неинтерактивная оболочка. Поскольку предлагаемый способ изменения переменных окружения заключается в добавлении сценария оболочки в /etc/profile.d, в моем случае лучше задать значение umask в файле /etc/bashrc.

Читайте также:  Как установить Linux: подробнейшая инструкция

bash

Об авторе Павел Соловьёв Комментарии Пока что нет комментариев, вы можете быть первым. Войти или Регистрация , чтобы оставлять комментарии.

Где используется sudo

sudo используется всегда, когда вы запускаете что-то из меню Администрирования системы. Например, при запуске Synaptic вас попросят ввести свой пароль. Synaptic – это программа управления установленным ПО, поэтому для её запуска нужны права администратора, которые вы и получаете через sudo вводя свой пароль.

Однако не все программы, требующие административных привилегий, автоматически запускаются через sudo. Обычно запускать программы с правами администратора приходится вручную.

Кому не стоит переходить на Linux

Есть три весомых причины не переходить на Linux и остаться на “винде”.

Во-первых, если вы играете в топовые игры. Только крутые современные проекты могут удержать вас на Windows, поиграть в популярные сетевые игры вроде CS:GO, Dota 2, Team Fortress 2 или War Thunder можно и на Linux. Есть для бесплатной ОС как порты так и официально выходящие версии многих стратегий, симуляторов, аркад и экшенов.

Если игры для вас не самое главное и вы не против сыграть во что-то 2-5 летней давности, то можно смело переходить на Linux.

Во-вторых, если вы используете специализированное ПО, которые работает только под Windows. Всевозможные узконаправленные приложения, бухгалтерские или управленческие программы, ПО для взаимодействия с банками хоть и устанавливаются на Linux с определенными костылями, рисковать стабильностью рабочих инструментов вряд ли кто-то захочет.

Кому не стоит переходить на Linux

Не радостная ситуация и с распространенным программным обеспечением для профессионалов. То же Photoshop или Pixelmator на Linux заменить практически не чем. Лучший из графических редакторов GIMP имеет довольно скромные возможности, остается только пытаться запустить нужное приложение через среду WINE.

В-третьих, если вы используете редкое оборудование. Подавляющее большинство компонентов компьютера без труда подружатся с Linux и будут работать без проблем. Однако, специфические графические планшеты, карты нелинейного монтажа или сложная аудиоаппаратура, с большой долей вероятности, просто на заведутся.

Читайте также:  Как определить тип файла без расширения

Если же вы используете популярные модели железа, ситуацию исправят несколько команд в терминале.

Во всех остальных случаях можете смело качать дистрибутив Linux и пробовать.

Что делать, если рабочий стол не загружается

Здесь будут представлены 3 самых распространенных варианта решений изучаемого процесса.

При несовместимости драйверов, видеокарты и другого оборудования

Здесь требуется удаление текущего драйвера (оборудования) и установка его нового аналога.

Алгоритм:

  1. Открыть консоль (кратчайший путь – сочетание клавиш Alt, Ctrl, F1).
  2. Ввести логин и пароль пользователя.
  3. Ввести команды для удаления имеющегося драйвера: sudo apt-get purge nVidia* для NVIDIA или sudo apt-get purge fglrx* для AMD.
  4. Иногда стоит еще убрать конфигурацию компонентного файла с помощью соответствующей записи: sudo dpkg-reconfigure xserver-xorg.
  5. Перезагрузить операционную систему с помощью выражения sudo reboot.
  6. Установить новое оборудование: 1) sudo add-apt-repository ppa:oibaf/graphics-drivers; 2) sudo apt-get update; 3) sudo apt-get dist-upgrade; 4) sudo apt-get install vdpau-va-driver; 5) sudo reboot

После этого, проблема будет решена.

При плохом обновлении системы

Техника:

Что делать, если рабочий стол не загружается
  1. Скачать с официального сайта Убунту соответствующий образ программы.
  2. Записать его на флешку или диск.
  3. Согласиться с «переустановкой» Убунту, при этом убедившись в совпадении версий операционной системы. Для сохранности важных файлов перед этим пунктом стоит провести их копирование на другой носитель.
  4. Перезагрузить гаджет.

Проблема будет решена.

При сбое графической оболочки

Здесь надо очистить кеш и перезагрузить компьютер или ноутбук.

Методика:

  1. Открыть консоль (кратчайший путь – сочетание клавиш Alt, Ctrl, F1).
  2. Ввести логин и пароль пользователя.
  3. Сбросить настройки графической оболочки Unity с помощью выражений: dconf reset -f /org/compiz/ и setsid unity.
  4. Сбросить параметры Compiz с помощью записи в командной строке: mv ~/.config/compiz-1/compizconfig ~/.config/compiz-1/
  5. Перезагрузить графический сервер выражением: sudo service lightdm restart.
  6. Перезагрузить компьютер или ноутбук с помощью команды: sudo reboot.

Проблема будет решена.

Испытываем терминал