Суперпользователь
С консолью немного разобрались. Теперь вы можете запускать
необходимые команды. Но некоторые команды требуют прав
суперпользователя, и о нем мы сейчас и поговорим.
Как я уже сказал выше, пользователь имеет полноценный доступ только
к своей домашней директории. Но это не означает что вы не можете
удалить что-нибудь из директории /bin/ или добавить туда что-нибудь
новое. Можно, с помощью суперпользователя.
Суперпользователь, это пользователь, который обладает
неограниченными правами. Его логин root. Его домашняя директория
/root/, такая же как у вас /home/login.
Раньше была практика заводить для этого пользователя свой пароль и
при необходимости логиниться и делать что нужно. В Ubuntu эта ситуация
кардинальным образом изменилась.
Кроме доступа к директориям и файлам вы также "ограничены" доступом
к запуску определенных программ. Для чего это нужно? Эти программы
могут влиять на деятельность системы и вы должны знать, что вы делаете.
Чтобы ограничить вас от выполнения какой-либо "опасной" программы
случайно, используется это ограничение. Также оно нужно, если на
компьютере работает несколько пользователей и есть администратор. Он
должен выполнять конфигурацию системы, а пользователи могут выполнять
обычную работу.
Давайте попробуем создать файл в директории, куда пользователь не
имеет доступа. Команда touch создает пустой файл, или обновляет время
создания существующего файла. Попробуем создать файл /var/test.
touch /var/test
Ключевое выражение здесь "Permission denied". Если вы видите такое
сообщение или похожее - это означает что вам нужно запустить команду от
имени суперпользователя и вы знаете что вы делаете.
Чтобы запустить команду от имени суперпользователя используйте следующий синтаксис.
sudo команда
Ключевое слово sudo и следующая за ним команда означает запуск этой команды от имени суперпользователя. Давайте попробуем.
sudo touch /var/test
Вы увидите запрос на ввод пароля.
И вот тут проблемы возникают не только у новичков, но даже у тех кто уже использовал другую систему Linux.
Как я уже сказал, раньше нужно было заводить пароль для пользователя
root и действовать от его имени. Теперь же команда sudo позволяет все
сделать прозрачно. Как видно на рисунке выше, запрашивается пароль вашего пользователя.
Вводите тот пароль, который вы используете при логине и нажимайте ввод.
При вводе пароля в консоли, вы не увидите никаких символов, даже *. Просто вводите пароль и нажимайте ввод!
Вот и все, файл создан.
Чтобы не засорять файловую систему, удалите файл следующей командой.
sudo rm /var/test
Обратите внимание на то, что пароль у вас не был запрошен. Это
происходит потому, что создалась временная sudo-сессия и ближайшие n
минут вам не придется заново вводить пароль.
Если нужно запустить команду от имени суперпользователя, используйте синтаксис sudo команда Чтобы всё время не вводить пароль и работать в консоли от имени суперпользователя, используйте комманду:
sudo su
у вас будет всё время надпись, типа: root@greengoodween: /home/greengoodween
GKSU
В примерах выше вы сами вручную запускаете команды, которые требуют
суперпользователя. Но есть, например, некоторые графические приложения,
которые требуют прав суперпользователя.
Если открыть пункт меню "System - Администрирование - Окно входа в систему"...
... то вы увидите запрос для ввода пароля суперпользователя.
Как уже было сказано выше, необходимо ввести пароль своего пользователя.
В чем разница между sudo и gksu? Для чего нужна эта разница?
Делают они одно и тоже, разница в том, что sudo запрашивает пароль в консоли, а gksu - показывает ввод пароля в диалоге.
Т.е. если вам нужно выполнить команду в консоли - используйте sudo,
а если вы запускаете графическое приложение - используйте gksu.
А как его использовать? Открывать консоль и печатать "gksu команда"
? Да, это сработает, но таким образом вы теряете преимущества команды
gksu, т.к. программа будет запущена из консоли и вы не сможете закрыть
консоль. Если вы это сделаете - программа закроется...
Можно использовать gksu в ярлыках на запуск программы или используя запуск приложений через горячие клавиши Alt+F2. Alt+F2Если вы нажмете Alt+F2, то вы увидите запрос на запуск команды.
Здесь можно запускать любую команду.
Допустим, мы хотим запустить редактор файлов gedit (рассмотрен в
следующей статье) с правами суперпользователя. Для этого используйте
команду:
gksu gedit
... где gksu это аналог sudo, но пароль будет запрошен через диалог, а не через консоль.
Если вы напишите команду "sudo gedit" и нажмете Run, то вы ничего не увидите, т.к. консоли, собственно говоря и нету.
Если вам нужно запустить графическую программу, например редактор, с правами суперпользователя - используйте команду gksu команда в диалоге запуска программ (Alt+F2) Частичная блокировкаРассмотрим еще один пример, где необходимы права суперпользователя.
Заходим в пункт меню "System - Администрирование - Дата и время".
И что же мы видим?
Мы видим отображение текущего времени и даты. Но мы не можем
изменить дату! Т.е. пользователю позволяется посмотреть текущие
настройки для каких-то своих целей, но не позволяется их изменять. Это
и есть частичная блокировка приложения.
Нажмите Unlock.
Вы увидите запрос пароля. Опять таки, не забываем, что мы вводим пароль своего пользователя.
После этого вы сможете отредактировать дату и время.
На главную Читать дальше
Форум Обратная связь
|