Команда sudo ( s ubstitute u ser and do , подменить пользователя и выполнить ) позволяет строго определенным пользователям выполнять указанные программы с административными привилегиями без ввода пароля суперпользователя root . Если быть точнее, то команда sudo позволяет выполнять программы от имени любого пользователя, но, если идентификатор или имя этого пользователя не указаны, то предполагается выполнение от имени суперпользователя root . Таким образом, использование sudo позволяет выполнять привилегированные команды обычным пользователям без необходимости ввода пароля суперпользователя root . Список пользователей и перечень их прав по отношению к ресурсам системы может быть настроен оптимальным образом для обеспечения комфортной и безопасной работы. Например, команда sudo в Ubuntu Linux, используется в режиме, позволяющем выполнять любые задачи администрирования системы без интерактивного входа под учетной записью root .
Настройки sudo довольно несложные, и тем не менее, позволяют реализовать гибкую систему распределения полномочий отдельных пользователей в многопользовательской среде.
How to enable root login(GUI) in Ubuntu 20.04 | 2021
Командная строка sudo может быть использована в следующих форматах:
sudo -h | -K | -k | -V
sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
sudo [-AbEHknPS] [-C num] [-g group] [-h host] [-p prompt] [-u user] [VAR=value] [-i|-s] [ ]
sudo -e [-AknS] [-C num] [-g group] [-h host] [-p prompt] [-u user] file
Параметры командной строки:
-A, —askpass — использовать вспомогательную программу для ввода пароля
-b, —background — выполнить команду в фоновом режиме
-C, —close-from=num — закрыть все дескрипторы файлов >= num
-E, —preserve-env — сохранить пользовательское окружение при выполнении команды
-e, —edit — редактировать файлы вместо выполнения команды
-g, —group=group — выполнить команду от имени или ID указанной группы
-H, —set-home — установить для переменной HOME домашний каталог указанного пользователя
-h, —help — показать справку и выйти
-h, —host=host — выполнить команду на узле (если поддерживается модулем)
-i, —login — запустить оболочку входа в систему от имени указанного пользователя; также можно задать команду
-K, —remove-timestamp — полностью удалить файл с timestamp
-k, —reset-timestamp — объявить недействительным файл timestamp
-l, —list — показать список прав пользователя или проверить заданную команду; в длинном формате используется дважды
-n, —non-interactive — автономный режим без вывода запросов пользователю
-P, —preserve-groups — сохранить вектор группы вместо установки целевой группы
-p, —prompt=prompt — использовать указанный запрос пароля
-S, —stdin — читать пароль из стандартного ввода
-s, —shell — запустить оболочку от имени указанного пользователя; также можно задать команду
Как Получит Права Супер Пользователя root | linux ubuntu обзор для начинающих
-U, —other-user=user — в режиме списка показывать права пользователя
-u, —user=user — выполнить команду (или редактировать файл) от имени или ID указанного пользователя
-V, —version — показать сведения о версии и выйти
-v, —validate — обновить временную метку пользователя без выполнения команды
— — прекратить обработку аргументов командной строки
Примеры использования команды sudo :
sudo –l — отобразить список команд, доступных для выполнения текущему пользователю. Кроме списка команд отображаются параметры среды, которые будут применяться при их выполнении.
sudo –ll — отобразить список команд, доступных для выполнения текущему пользователю в длинном (расширенном) формате.
В данном формате вместо краткого синтаксиса для списка разрешенных команд в виде (ALL : ALL) ALL отображается подробное описание прав пользователя:
sudo lshw -C network — отобразить информацию о сетевом оборудовании с правами суперпользователя root
sudo –l –U user1 — посмотреть список команд, доступных для выполнения пользователю user1 . Для выполнения данной команды пользователь должен быть root или иметь право на выполнение команды sudo -l , что обеспечивается настройками утилиты sudo в файле /etc/sudoers
sudo ipmitool sensor — выполнить команду ipmitool sensor с правами root .
sudo su — выполнить команду su , т.е. создать сеанс суперпользователя root
sudo -i — запустить командную оболочку с правами суперпользователя root . Для выполнения данной команды пользователь должен иметь право на выполнение программы оболочки в среде sudo , например — /bin/bash
sudo ls /usr/local/protected — получить список файлов каталога, доступного только root
sudo -u user2 ls ~ — получить список файлов домашнего каталога пользователя user2
sudo -u www vi ~www/htdocs/index.html — редактировать файл ~www/htdocs/index.html от имени пользователя www
sudo -g adm view /var/log/syslog — просмотреть файл системного журнала, доступного только суперпользователю root и членам группы adm
sudo -u user1 -g users2 vi /home/users2/textfile.txt — редактировать текстовый файл как пользователь user1, с принадлежностью к первичной группе users2
sudo -E /usr/bin/firefox — запустить браузер firefox от имени суперпользователя root , сохранив параметры среды текущего пользователя. Возможность выполнения команд с сохранением среды пользователя должна быть разрешена параметром SETENV в настройках файла конфигурации sudo
Файл конфигурации /etc/sudoers
Настройки sudo определяется содержимым файла /etc/sudoers . Поскольку ошибочные данные в данном файле могут привести к серьезным проблемам доступа к ресурсам системы, рекомендуется выполнять его изменение с помощью специального редактора sudoedit ( в некоторых дистрибутивах — visudo ), который поддерживает функции проверки синтаксиса и значительно снижает риск создания неработоспособной конфигурации sudo .
Содержимое файла /etc/sudoers определяет имена пользователей и групп, перечень выполняемых программ, необходимость введения паролей, и некоторые другие настройки, связанные с формированием переменных окружения при смене пользователя. Кроме данного файла, настройки sudo могут определяться содержимым файлов из каталога /etc/sudoers.d , что позволяет структурировать систему предоставления прав на использование sudo в виде набора файлов с осмысленными именами, что полезно при большом количестве пользователей и сложной системе разграничения прав. Имена файлов конфигураций в каталоге /etc/sudoers.d могут быть любыми, но их содержимое должно полностью соответствовать формату файла /etc/sudoers .
Синтаксис настроек в файле /etc/sudoers позволяет использовать специальные псевдонимы ( Alias-ы ), с помощью которых значительно упрощается как настройка, так и восприятие конфигурационной информации sudo .
В файле конфигурации /etc/sudoers возможно использование четырех разновидностей псевдонимов:
User_Alias — списки пользователей, для которых настраивается политика использования sudo .
Runas_Alias — списки пользователей, от имени которых может быть задано выполнение команд через sudo .
Host_Alias — списки узлов, с которых выполняется подключение к системе.
Cmnd_Alias — списки команд, использующиеся в настройках, выполняемых директивами файла /etc/sudoers
Host_Alias ADMCOMPS = localhost, server, admin — определяет псевдоним ADMCOMPS , который определяет группу компьютеров с именами localhost, server, admin .
Host_Alias MAILSERVERS = 192.168.0.100, smtp2 — определяет группу из двух компьютеров с указанными IP и именем. Возможно использование адресов подсетей.
User_Alias ADMINS = jsmith, admusr — определяет группу ADMINS , в которую входят пользователи с именами jsmith и admusr .
Аналогичным образом можно создать псевдонимы для различных наборов команд, доступных для выполнения в sudo :
## Группа команд, для работы в сети, псевдоним Networking
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
# Группа команд для управления установкой и удалением программ, псевдоним SOFTWARE
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
# Группа команд для управления системными службами, псевдоним SERVICES
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
Аналогичным образом можно создать псевдонимы для групп команд, выполнение которых делегируется одиночным или объединенных псевдонимами пользователей.
Основная часть настроек в файле /etc/sudoers задает правила, определяющие, какие пользователи, каких компьютеров, какие команды могут выполнять. Формат записей:
user — имена или псевдонимы пользователей.
MACHINE — имена или псевдонимы компьютеров
COMMANDS — секция команд, включающая имена или псевдонимы команд и дополнительные параметры.
Обычно, в файле /etc/sudoers присутствует директива, разрешающая выполнение пользователю root любых команд при любом подключении к системе:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Аналогичным образом можно разрешить выполнение через sudo всех команд для пользователя, например, с именем user
user ALL=(ALL) ALL
При данной настройке, у пользователя будет запрашиваться пароль ( его личный, а не пароль суперпользователя root ). При необходимости, можно настроить секцию команд таким образом, чтобы пароль не запрашивался, с использованием параметра NOPASSWD :
user ALL=(ALL) NOPASSWD: /usr/bin/su, /usr/bin/drakxconf — пароль будет запрашиваться при выполнении пользователем user через sudo всех команд, кроме su и drakxconf
Использование псевдонимов позволяет уменьшить необходимое число записей для определения прав пользователей, которые могут подключаться к системе с разных компьютеров и входить в разные группы:
ADMINS localhost=(ALL) NOPASSWD:ALL — разрешить группе пользователей, определенной псевдонимом “ADMINS” выполнять любые команды при подключении через петлевой интерфейс “localhost” без ввода пароля..
ADMINS ALL= NETWORKING, SOFTWARE — разрешить группе пользователей, объединенных псевдонимом “ADMINS” выполнять группы команд, объединенные псевдонимами “NETWORKING” и “SOFTWARE”.
Для существующих в системе групп пользователей можно также разрешать выполнение отдельных команд или групп команд:
%users localhost=/sbin/shutdown -h now — разрешить локальным пользователям выключение компьютера.
%operators ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom — разрешить членам группы “operators” монтирование и размонтирование указанных устройств.
%powerusers ALL=NETWORKING, NOPASSWD: /usr/bin/su — разрешить членам группы “powerusers” выполнять команды группы “NETWORKING” с вводом пароля и команду “su” без пароля.
Довольно часто возникает необходимость исключения разрешения на выполнение отдельных команд из списка, объединенных псевдонимом . В этом случае, перед именем команды или псевдонима ставится восклицательный знак – !
ADMINS ALL= ALL, !NETWORKING — разрешить группе пользователей, объединенных псевдонимом “ADMINS” выполнение всех команд, кроме команд, объединенных псевдонимом “NETWORKING”
В следующем примере, используется конфигурация команд, разрешающая выполнение через sudo для всех пользователей группы “ADMINS”, всех команд, кроме команд смены оболочки :
ADMINS ALL= ALL, !/bin/bash, !/usr/bin/su
Кроме настроек доступа, в файле /etc/sudoers присутствуют директивы Defaults , определяющие некоторые настройки путей исполняемых файлов и создание переменных окружения при выполнении команд:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults env_keep = «COLOS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS»
Defaults env_keep += «MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE»
Defaults env_keep += «LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES»
Defaults env_keep += «LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE»
Defaults env_keep += «LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY»
По умолчанию, если интервал выполнения команд с использованием sudo , не превышает 5 минут, то повторный ввод пароля не требуется. Однако, это значение можно изменить, добавив значение timestamp_timeout в минутах:
В данном случае, если команда sudo будет выполняться не позже, чем через 1 минуту после ввода пароля для предыдущей команды, то повторно пароль запрашиваться не будет. Если значение “timestamp_timeout” сделать равным нулю, то пароль будет запрашиваться при каждом запуске sudo , если сделать отрицательным ( -1 ), — то повторный ввод пароля не будет запрашиваться никогда.
Для исключения возможности выполнения sudo-команд при подключении через ssh без авторизации, по умолчанию, должна использоваться команда “ssh –t “:
# Disable «ssh hostname sudo «, because it will show the password in clear.
# You have to run «ssh -t hostname sudo «.
Для определения дополнительного каталога с файлами конфигурации пользователей sudo используется директива:
## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
Подробную справку по использовании sudo можно получить с помощью команд:
Источник: white55.ru
Root
root — Администратор системы, предопределенный суперпользователь в linux, обладающий всеми правами.
По умолчанию пользователи linux не обладают правами на изменение системных компонентов, это повышает безопасность системы, её гораздо труднее сломать или заразить вирусом. Чтоб изменять системные файлы конфигурации, устанавливать или удалять программы или даже источники программ, нужно обладать правами root-пользователя.
В ROSA Linux можно выполнять действия с правами администратора-root по разному, вы можете выбрать самый удобный для вас способ:
Работа в консоли
Использование sudo
Если вы зашли в систему под первым пользователем, созданным при инсталляции ROSA Linux, то для такого пользователя доступна команда sudo. Эта команда позволяет выполнять действия «как бы из под администратора», только нужно ввести пароль пользователя системы еще раз. Например, если в консоли ввести
sudo mc
вас попросят ввести пароль пользователя и, при правильном вводе, вы запустите Midnigth commander с правами администратора, что позволит редактировать файлы конфигурации, копировать и удалять файлы.
Нужно заметить, что sudo разрешено для всех пользователей, входящих в группу wheel. Если не хотите, чтоб sudo было доступно пользователю, или наоборот хотите добавить право sudo для самостоятельно созданных пользователей, удалите или добавьте пользователя в группу wheel в «Управлении пользователями»
Использование su
Если команда sudo пришла к нам из Ubuntu и может быть отключена для пользователей, то команда su (SuperUser) встроена в дистрибутив «коренным» образом, потому возможности ее несколько шире. В отличие от sudo она требует не ввода пароля пользователя, а ввода пароля root — вы его указывали при инсталляции. Пользоваться в консоли ей так же просто:
su
После ввода пароля root команда su переводит консоль в режим суперпользователя, root. Это индицируется символом # в начале строки команд и позволяет вводить дальнейшие команды уже не повторяя каждый раз ввод пароля. Если вы хотите запустить из-под root графическую программу, например dolphin — просто su (как, впрочем, и просто sudo) недостаточно. Нужно использовать команду
su —
однако для запуска программ в графике есть и более простое решение — использование графических оболочек над su и sudo
Графический интерфейс для выполнения действий с правами администратора root
Редактирование файла конфигурации
В KDE-версии ROSA Linux редактирование файлов настройки сделано просто — в контекстном меню есть вызов редактора kwrite(root) — с запросом прав администратора. Также дополнительно можно установить пакет kde-rootactions-servicemenu и получить в контекстном меню целый букет операций над объектами с правами администратора.
Запуск программы с правами администратора
Проще всего запустить графическую программу с правами администратора, вызвав окно ввода команды alt+F2 и введя команду
kdesu если вы используете KDE или Plasma gksu если вы используете GNOME или MATE
Вход под root
В Rosa Linux графический вход под пользователем root выключен, т.е. вы не можете зайти, выбрав этого пользователя в менеджере входа в систему. Но это не значит, что зайти под root вообще нельзя — такой вход действует в текстовом режиме и активно используется при сбоях графического режима.
Для входа под root в текстовой консоли нужно в нее перейти, например нажатием Ctrl+Alt+F2, а потом ввести по запросу системы имя root и пароль. Это можно сделать в любой момент работы с системой, даже перед выбором пользователя при окончании ее загрузки.
Источник: wiki.rosalab.com
Root и другие пользователи [+группы] в Linux
Здравствуйте, уважаемые посетители, читатели, други и недруги, случайные личности, постоянные клиенты и прочие, так сказать, человеки. Мы продолжаем знакомить Вас с Linux-системами, и эта статья из цикла, посвященного Linux, попытается продолжить базовое знакомство и потихоньку погружать Вас в реальность опытного линуксоида, которая (реальность) таки не всегда сурова, особенно, когда есть знания и материалы на нашем ресурсе, но не всегда бывает и добра.
Сразу оговоримся, что в каком бы дистрибутиве Вы не работали (будь то Mint, Debian , Ubuntu , Fedora , Mandriva , Slackware , Gentoo и т.д. и т.п. – сейчас различных дистрибутивов линукса насчитывается порядка 600 или даже больше, если не считать совсем уж мелкие проекты), суть этой работы не изменится. Отличаться могут команды, потому как используются разные менеджеры пакетов. Сегодня мы более подробно затронем такие понятия как:
- Кто же такой суперпользователь,
- Что такое пользователи и группы в Linux- системах.
Прежде чем начать повествование, надо себе представлять, что Linux — это таки многопользовательская операционная система. Что такое многопользовательская система, думаю, знает каждый, но все же повторюсь для тех, кто не совсем знаком с этим понятием.
Всякое-разное о многопользовательской Linux и администраторском аккаунте Root
1. Многопользовательская система
Итак, еще раз. Linux является многозадачной многопользовательской (сколько много мног’ов :)) операционной системой. Это означает, что одновременно с системой могут работать несколько пользователей, да и каждый из них может запускать несколько приложений. И при этом, например, Вы можете зайти в систему локально, а другой пользователь – удаленно, воспользовавшись протоколами удаленного доступа ( telnet, ssh, ftp ).
Это очень удобно. Приведем пример, чтобы было понятно, о чем идет речь. Предположим, Вам понадобилось распечатать документ, который есть на рабочем компьютере, а на домашнем его нет.
При наличии интернета и компьютера, настроенного соответствующим образом, это не составит особого труда, ибо Вы спокойно зайдете в систему, скопируете нужный Вам файл и распечатаете его там, где вам это удобно. И даже если кто-то в момент Вашего подключения уже работает с системой, то таки Вы не будете мешать друг другу. В Windows такая возможность тоже есть, но только после установки соответствующего программного обеспечения, и при этом Вы не сможете войти в систему, чтобы «не помешать» другому пользователю, который уже в ней находится. Вместе вы работать не сможете, ибо будете мешать друг другу. Всё, что Вы будете делать, будет отражаться на мониторе пользователя (т.е. рабочий стол получится как бы общий), и если не предупредить пользователя, что Вы удаленно зашли в систему, он подумает, что с его компьютером что-то не так (случай, конечно, не 100 %, но в большинстве своём это факт).
Вывод:
В Linux- системах несколько пользователей могут работать с системой и даже не подозревать о существовании друг друга, пока не воспользуются командой (например, who) . Linux изначально разрабатывалась как многопользовательская система с возможностью удаленного подключения как в текстовом, так и в графическом режиме. Windows в основе своей всегда была (и, наверное, долго останется) системой персонального, ни с чем совсем сильно не связанного компьютера, а средства взаимодействия по локальной сети всегда шли в виде своего рода «довеска». Кроме того, Linux всегда опиралась на открытые протоколы, большая часть которых является стандартом в мире Unix -систем. Microsoft , напротив, делает ставку на собственные протоколы, естественно, закрытые и не всегда совместимые со своими предыдущими версиями.
2. Суперпользователь (root)
Вот мы выяснили (точнее говоря, немного прояснили), что представляет из себя многопользовательская система. Теперь поговорим о том, кто же такой в Linux- системах пользователь root .
Условно и «сленгово» говоря — это царь и бог :). Пользователь root обладает ВСЕМИ полномочиями в системе, вплоть до её полного и безвозвратного удаления, т.е. это, так сказать, системный администратор в отдельно взятой операционной системе.
Любая команда, введенная в терминале, таки будет выполнена безоговорочно и бесповоротно. Так что работать под root -ом в любых Linux ( unix )-системах не приветствуется и даже, можно сказать, не принято. Например, кто-то решил «подшутить» и выложил в интернете вредоносную программу, а Вы взяли и скачали её, да еще и начали устанавливать ее на своем компьютере (трудно представить себе таких экстремалов, но все же — а вдруг найдутся такие 🙂 ). Если запуск этой программы будет произведен через суперпользователя, то Ваша система может быть легко уничтожена, а вот запуск этой программы от имени простого пользователя ни к чему не приведет — система просто откажется выполнять ее, сославшись на то, что у Вас не хватает полномочий. Это лишний повод присмотреться, а нужно ли Вам вообще это устанавливать. Вот поэтому в Linux (unix)-системах вход под именем пользователя root запрещен.
В одних дистрибутивах Вы не сможете войти как root в графическом режиме, но сможете зайти через консоль (грубо говоря, терминал) комбинацией клавиш Ctrl + Alt + F2 (как, например, в Fedora ), а в других дистрибутивах Вы вообще не сможете войти как root — ни через графический режим, ни через комбинацию клавиш, ни через консоль (к такому дистрибутиву, например, относится Ubuntu ). Встает вопрос — а как тогда устанавливать нужные программы, минуя этого суперпользователя? Для этого существует «временное разрешение» на выполнение нужных операций в виде команд sudo или su . Чем же отличаются эти команды друг от друга?
Давайте начнем с sudo . Эта команда позволяет запустить любую команду с привилегиями root . Но использовать эту команду могут не все пользователи, а только те, которые внесены в файл / etc/sudoers (в этом файле в доступной форме расписывается — каким пользователям или группам можно выполнять команду sudo , а это значит, что рядовой пользователь, не внесенный в этот файл, даже при сильном своем желании не сможет воспользоваться правами root ).
Отступление
О каталоге /etc мы поговорим в другой раз — потому что это отдельная тема. Но хочется сказать, что в этом каталоге содержатся почти все настройки системы (кроме пользовательских, пользовательские настройки хранятся в домашнем каталоге пользователя /home ), при этом в каталоге /etc находится множество текстовых файлов. А поскольку файлы текстовые, то их можно редактировать любым текстовым редактором, что очень упрощает работу с системными файлами и повышает надежность системы. К слову, даже если удалить один из конфигурационных файлов каталога /etc , система продолжит работу как ни в чем не бывало! Конечно, она будет работать не так, как до удаления этого файла, но все же она, в отличие от Windows , будет работать.
Теория это, конечно, хорошо, но давайте немного попрактикуемся. Например, вам нужно отредактировать файл /etc/sudoers , для чего заходим в терминал и вводим:
Откроется окно программы gedit :
..Где мы производим нужное редактирование, сохраняем и закрываем этот файл. В Linux- системах очень много текстовых редакторов, с помощью которых можно редактировать файлы, — это и вышеупомянутый gedit , и nano , и vi , и много других, — посему Вы можете воспользоваться любым. Вот как будет выглядеть открытие файла через редактор nano :
Если мы введем без sudo ту же команду:
..то файл откроется, но сохранить изменения, внесенные Вами, не получится, поскольку у Вас не будет тех полномочий, которые требуются для редактирования.
Видите, кнопка « Сохранить » неактивна.
Теперь о команде su .
Команда su позволяет получить доступ к консоли (терминалу) root ЛЮБОМУ пользователю (даже если этот пользователь не внесен в список файла /etc/sudoers ), но при условии, что он знает пароль root . Разницу прочувствовали?
Вывод :
Команда su предназначена для администраторов системы, а sudo — для остальных пользователей, которым только иногда нужны права root.
Отступление :
Для многих пользователей команда su — получение прав суперпользователя. Это не совсем верно. Команда su вызывает оболочку другого пользователя в системе, т.е. позволяет получить права ДРУГОГО пользователя, который должен быть указан аргументом к этой команде. Попробуйте ввести команду su root или su [имя_вашего_пользователя] и посмотрите как среагирует эта команда.
Я бы рекомендовал использовать один важный параметр «-» (тире), который существенно изменяет её работу. При выполнении команды » su — » вызывается оболочка регистрации в системе. Это часто сбивает с толку новичков: » su » предоставляет Вам только права другого пользователя, » su — » позволяет войти под именем другого пользователя.
Второе означает, что вместе с предоставлением прав у вас изменится текущий рабочий каталог, домашний каталог и переменные окружения. Использование команды su без параметра «-» чревато проблемами — запущенная таким образом программа сохраняет свои настройки в каталоге вызывающего, а не вызываемого пользователя (помните, Вам предоставляются только права). Если этот пользователь root — Вы получите в своем домашнем каталоге файлы настроек программы, к которым не будете иметь доступа. Следует ли говорить, что запустив в дальнейшем ту же самую программу из-под своего аккаунта, Вы, в лучшем случае, не сможете сохранить свои настройки, в худшем — программа вообще не запустится. Лучше вообще не использовать команду su для запуска программ со своими переменными окружения, для этого более подходит команда sudo . Не запутал я вас еще ? 🙂
И, тем не менее, заходить в систему под суперпользователем можно всегда, даже если эта учетная запись ограничена или отключена, например, в Ubuntu нужно просто задать пароль для пользователя root командой sudo passwd root . Сначала система запросит ваш пользовательский пароль, затем новый пароль и его подтверждение. Учетную запись root в ubuntu можно потом отключить командой sudo passwd -l root , но.. После закрытия учетной записи могут быть проблемы с входом в систему в режиме восстановления. На мой взгляд, в ubuntu суперпользователя лучше не включать, а пользоваться командой
Немного практики.
Давайте добавим нового пользователя в систему. Для этого нужно от суперпользователя ввести всего 2 команды:
Обратите внимание на знак # перед командой. Таким знаком обозначается, что команду отдает суперпользователь (он же root , он же бог и властелин, если перед командой стоит значок $ — то команда будет выполняться от простого пользователя).
Вот он, наш новый пользователь системы Dron . Мы его создали и завели пароль на эту учетную запись.
Если пароль задан слишком простой, то Вам выдастся предупреждение, что пароль слишком доступный:
И так будет до бесконечности, пока Вы не создадите нормальный и таки взломоустойчивый пароль.
При создании нового пользователя для него в системе создастся каталог / home , куда скопируется содержимое каталога /etc/skel (в нем находится весь «джентльменский» набор, который должен быть в любом пользовательском каталоге).
Помимо этого в файле /etc/passwd создается запись, короче, наш новый пользователь Dron будет полноправным пользователем системы.
Удалить пользователя из системы так же просто, как и завести его. Достаточно набрать команду:
3. Группы пользователей
Иногда, для удобства работы, пользователей объединяют в группы. По умолчанию один пользователь не имеет доступа к домашнему каталогу другого пользователя (например, пользователь galina не будет иметь доступ к домашнему каталогу Dron и наоборот, Dron не будет иметь доступа к домашнему каталогу galina ). Но если нескольких пользователей объединить в одну группу, то у каждого из них будет доступ не только к своему домашнему каталогу, но и к домашним каталогам других пользователей.
Полезность таких объединений очевидна. Обычно добавлять/удалять/изменять учетные записи принято через командную строку, но хотелось бы затронуть графические конфигураторы (это маленькие утилиты, которые упрощают жизнь начинающим пользователям или тем, кто любит работать в графическом интерфейсе). С другой стороны, я хочу показать, что работать в linux ( unix )-системах можно разными способами: можно через командную строку, а можно использовать графический интерфейс — кому что больше по душе. В каждом дистрибутиве есть свои конфигураторы, и они могут отличаться. Например, в Fedora для редактирования пользователей и групп служит конфигуратор system-config-users .
Еще раз вернитесь к рисунку, где мы удаляли пользователя Dron из системы. В системе остался один пользователь – galina. Выделите его, нажмите на кнопку « Свойства » и Вы узнаете много интересного :). Например, обратите внимание на вкладку « Группы », где можете включить пользователя в ту или иную группу, просто поставив галочку:
С каждым новым пользователем создаются и новые группы. Если у пользователя galina на вкладке « Группы » поставить галку на группе « Dron », то у galina будет доступ к домашнему каталогу пользователя Dron (а вот у Dron таких полномочий не будет).
Хочу обратить Ваше внимание на один момент — с каждым новым выходом релиза конфигураторы из системы потихоньку пропадают (что, на мой взгляд, печально). Их или заменяют на другие, или вообще убирают из дистрибутива за ненадобностью. Некоторые из них могут быть установлены по умолчанию, некоторые надо устанавливать самим, это зависит от Ваших потребностей. Если при вводе команды запуска конфигуратора система скажет, что такой команды нет, скорей всего этот конфигуратор у Вас не установлен и можно попробовать установить его.
Давайте попробуем потренироваться на другом дистрибутиве (все предыдущие картинки относятся к дистрибутиву Fedora 16 ), например, на ubuntu 12.10 (этот дистрибутив тоже популярен среди населения). Отвлекусь и напомню, что в каком бы дистрибутиве Вы не сидели, смысл работы будет идентичен, отличаться будут только команды. В данном конкретном случае в ubuntu есть конфигуратор gnome — system — tools , и он по умолчанию не установлен в системе. Чтобы воспользоваться всеми прелестями этого конфигуратора, для начала установите его командой:
sudo apt-get install gnome-system-tools.
Пошел процесс установки данной утилиты:
Обратите внимание, что для установки данного пакета требуется разрешить зависимости (о зависимостях мы уже говорили в предыдущей статье, а теперь наглядно это продемонстрируем), т.е. будут установлены дополнительные пакеты для того, чтобы утилита корректно работала.
Потом в поиске можно набрать «группы» или «пользователи» и появится иконка утилиты gnome-system-tools
Или запускаем утилиту командой users — admin из терминала (командной строки):
И нашему взору представляется графический интерфейс настроек пользователей и групп в ubuntu :
Все современные дистрибутивы Linux неплохо русифицированы, а поэтому более подробно останавливаться на рассмотрении этой утилиты мы не будем, но главные моменты осветим.
Понятно, что чтобы добавить нового пользователя, нужно нажать кнопку «Добавить» , чтобы удалить созданного пользователя – нажать кнопку «Удалить» . Чтобы изменить тип учетной записи – нужно щелкнуть по кнопке «Изменить» , напротив поля « Тип учетной записи ». Существует 3 вида учетной записи:
- Администратор ( root ) – пользователь может администрировать систему
- Пользователь – пользователь может работать в системе, но не может администрировать её (использовать команду sudo , устанавливать программы, управлять пользователями и т.д., т.п.)
- Другое – эта учетная запись с особыми параметрами доступа, которые устанавливаются вручную. Для этого нужно воспользоваться вкладкой « Дополнительные параметры ». На вкладке « Привилегии пользователя » можно задать, какие операции может выполнять пользователь, а какие – нет.
На вкладке « Дополнительно » Вы можете отключить учетную запись, изменить группу, ID пользователя, можете даже выбрать другой интерпретатор и домашний каталог.
Если Вам необходимо разрешить пользователю использовать sudo , то в окне « Параметры пользователей » выделите учетную запись пользователя, нажмите кнопку « Дополнительные параметры » и на вкладке « Привилегии пользователя » разрешите « Администрирование системы ».
Чтобы управлять группами – нужно воспользоваться кнопкой « Управление группами ».
Вы увидите список групп и кнопки « Добавить » (ну понятно же, что эта кнопка добавляет новую группу), « Удалить » (удаляет группу) и « Свойства » (с помощью этой кнопки Вы легко добавите/исключите членов группы). Все очень просто и интуитивно понятно.
На этом мы закончим нашу очередную лекцию :). Надеюсь, что я Вас не утомил? Согласитесь, что в принципе не так уж и страшна эта система, как о ней говорят. Если есть что дополнить (добавить), милости прошу, добавляйте в своих комментариях.
Послесловие
Вот такая вот получилась полутеоретическая и немножко практическая, но таки важная статья для тех, кто постигает линукс и кому он интересен.
Мало-помалу будем двигаться дальше. Оставайтесь на связи, читайте статьи в этой рубрике, комментируйте, предлагайте темы и всё такое прочее.
P.S. За существование данной статьи спасибо члену команды Pantera
Мы в соц.сетях: ВКFacebookTwitter
Белов Андрей (Sonikelf) Заметки Сис.Админа [Sonikelf’s Project’s] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226
Источник: sonikelf.ru