Установка и настройка
В ОС Ubuntu sudo включена по умолчанию, а в Debian, если в процессе установки не был выбран соответствующий пакет, скорее всего будет следующая картина:
Значит, требуется установить недостающий пакет. Обновляем информацию о репозиториях и устанавливаем sudo:
Дожидаемся окончания процесса:
После успешной установки потребуется сконфигурировать sudo, определив, какие пользователи или группы смогут использовать повышение привилегий и в каком объеме. Все эти настройки хранятся в конфигурационном файле /etc/sudoers, однако вносить в него изменения напрямую настоятельно не рекомендуется. Для этих целей используется специальная команда:
которая запускает текстовый редактор с конфигурационным файлом:
За предоставление прав здесь отвечают две строки:
Первая строка назначает права для учетной записи root, вторая устанавливает права для членов группы sudo, которая была создана при установке пакета (знак % перед названием означает, что имя относится к группе пользователей).
Соответственно, у нас есть два основных способа предоставить пользовательской учетной записи право использовать sudo:
Добавить учетную запись пользователя (например, user) в группу sudo на сервере:
После изменения членства в группе, потребуется заново авторизоваться в этой учетной записи для применения новой конфигурации. Данный метод рекомендуется в тех случаях, когда пользователю необходимо предоставить полные права.
Создать в файле новую запись, например, для учетной записи user. Мы добавляем строку по аналогии с root:
Добавлять новую запись рекомендуется в тех случаях, когда список привилегий будет корректироваться (об этом чуть позднее). Если мы внесли изменения в файл, нужно их сохранить нажатием сочетания клавиш Ctrl-O и выйти из редактора — Ctrl-X.
Теперь можно проверить корректность работы:
Команда sudo запрашивает пароль текущего пользователя (в данном случае это user) — вводим его, и, если все сделано правильно, мы увидим содержание системного конфигурационного файла.
Создание пользователя в Linux
Вся информация о пользователях находится в файле /etc/passwd. Мы могли бы создать пользователя linux просто добавив его туда, но так делать не следует, поскольку для этой задачи существуют специальные утилиты. Одна из таких утилит, это useradd. Рассмотрим ее подробнее.
Команда useradd
Это довольно простая команда, которая есть во всех дистрибутивах Linux. Она позволяет зарегистрировать нового пользователя или изменить информацию об уже имеющемся. Во время создания можно даже создать домашний каталог пользователя и скопировать в него системные файлы. Рассмотрим синтаксис команды:
$ useradd опции имя_пользователя
Все довольно просто, дальше нам нужно рассмотреть основные опции команды, с помощью которых вы будете настраивать нового пользователя:
- -b — базовый каталог для размещения домашнего каталога пользователя, по умолчанию /home;
- -c — комментарий к учетной записи;
- -d — домашний каталог, в котором будут размещаться файлы пользователя;
- -e — дата, когда учетная запись пользователя будет заблокирована, в формате ГГГГ-ММ-ДД;
- -f — заблокировать учетную запись сразу после создания;
- -g — основная группа пользователя;
- -G — список дополнительных групп;
- -k — каталог с шаблонами конфигурационных файлов;
- -l — не сохранять информацию о входах пользователя в lastlog и faillog;
- -m — создавать домашний каталог пользователя, если он не существует;
- -M — не создавать домашнюю папку;
- -N — не создавать группу с именем пользователя;
- -o — разрешить создание пользователя linux с неуникальным идентификатором UID;
- -p — задать пароль пользователя;
- -r — создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX;
- -s — командная оболочка для пользователя;
- -u — идентификатор для пользователя;
- -D — отобразить параметры, которые используются по умолчанию для создания пользователя. Если вместе с этой опцией задать еще какой-либо параметр, то его значение по умолчанию будет переопределено.
Теперь, когда вы знаете основные необходимые нам параметры утилиты мы можем перейти к разбору того, как выполняется создание нового пользователя linux. Сначала давайте посмотрим какие параметры будут применены для пользователя по умолчанию:
Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:
Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /bin/bash:
Для того чтобы получать доступ к системным ресурсам пользователю нужно быть участником групп, у которых есть доступ к этим ресурсам. Дополнительные группы пользователя задаются с помощью параметра -G. Например, разрешим пользователю читать логи, использовать cdrom и пользоваться sudo:
Также, можно установить дату, когда аккаунт пользователя будет отключен автоматически, это может быть полезно для пользователей, которые будут работать временно:
Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:
Пожалуй, это все основные примеры как добавить пользователя linux. Дальше нам осталось взглянуть только на работу в графическом интерфейсе.
Создание нового пользователя linux в GUI
Затем откройте «Пользователи»:
Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку «Разблокировать»:
Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:
В открывшемся окне нужно заполнить все поля. Но тут намного больше ограничений, чем в методе через терминал. Вы не можете задать слишком простой пароль, а также нельзя настроить группы. Можно только указать будет ли пользователь включен в группу wheel с помощью выбора типа пользователя — администратор или обычный:
После этого создание пользователя linux завершено, новый пользователь появится в списке.
Основные параметры
Алиас Defaults позволяет задать стандартные параметры для работы утилиты, их мы и рассмотрим в этом разделе. Начинается такой алиас со слова Defaults, дальше идет имя флага. Если перед именем есть символ !, это значит, что флаг нужно включить, в обратном случае выключить:
Отключаем введение при первом использовании:
Суперпользователь не может выполнять sudo:
Теперь если вы попытаетесь выполнить sudo sudo ничего не сработает:
Изменять домашнюю директорию для целевого пользователя, по умолчанию остается папка текущего пользователя в качестве домашней директории:
Сохранять список групп текущего пользователя:
Запрашивать пароль суперпользователя вместо пароля пользователя:
Дальше рассмотрим переменные, которым можно задать значения чтобы установить нужные настройки:
Задать количество попыток ввода пароля перед тем, как sudo прекратит работу, по умолчанию — 3:
Количество минут, которое пройдет перед тем, как sudo будет спрашивать пароль снова, по умолчанию 5. Если установить значение в 0, то пароль будет спрашиваться всегда, независимо от того как давно вы использовали утилиту:
Следующий параметр задает количество минут, пока sudo будет ожидать повторного ввода пароля при неправильном вводе:
Вы можете изменить сообщение, которое будет выводится при запросе пароля:
Можно указать другого пользователя, не root, от которого будут выполняться все команды, для этого используйте:
Вы можете записывать в лог все попытки подключения к sudo:
Затем пробуем проверить работу лога:
Это были все самые интересные параметры настройки работы sudo, которые могут вам понадобиться, дальше мы рассмотрим как задать права доступа sudo для пользователей.
Настройка пользователей sudo
Мы уже рассматривали выше синтаксис настройки действий для пользователей, здесь все сложнее чем с псевдонимами, но разобраться можно. Например, разрешим любому пользователю использовать sudo, от любого хоста и выполнять любые команды:
Такая команда очень небезопасна, она разрешает всем и все. Первое ALL — разрешить всем пользователям, второе ALL — для всех хостов, третье ALL — разрешить вход под любым пользователем и четвертое — разрешить выполнять любою команду. Но куда более часто используется другая конструкция:
Означает то же самое, что и предыдущее, только здесь мы разрешаем использовать sudo не всем пользователям, а только тем, которые состоят в группе wheel.
Тут мы уже ограничили возможный выбор пользователей только пользователем root. Также можно указать группу пользователя, от имени которого он может выполнять команды:
Это значит что можно выполнить команду от имени root или другого пользователя из группы admins. Еще мы можем указать команды, которые может выполнять пользователь. Например:
Пользователь может выполнять только команды mount и umount от имени суперпользователя. Теперь сделаем еще интереснее, пользователь может выполнять mount и umount без пароля, а все остальные команды с паролем:
Также можно ограничивать пользователям по хостах, например, разрешаем использование sudo только из host1:
Осталось еще рассмотреть как применять псевдонимы. Псевдонимы могут быть таких типов:
- User_Alias — псевдоним пользователей, которые будут использовать sudo;
- Runas_Alias — псевдоним пользователей, от имени которых будут выполняться команды;
- Host_Alias — псевдоним хоста;
- Cmnd_Alias — псевдоним команд;
Например, создадим четыре псевдонима и применим их в нашем правиле:
Далее применяем все это в правиле:
Это значит, что пользователи из списка Users смогут выполнять команды Cmds от имени пользователей Amdins на хостах Hosts.
Еще осталось сказать несколько слов о флагах. Флаг NOPASSWD говорит, что не нужно запрашивать пароль при выполнении этого правила. Например, разрешить всем пользователям выполнять команду mount с sudo без пароля:
Также можно запретить выполнять именно эту команду вообще с помощью флага NOEXEC:
Вы можете проверить правильно ли была проведена настройка файла /etc/sudores и посмотреть все созданные правила с помощью команды:
Здесь отображены все установленные флаги и настройки, а также полномочия данного пользователя.
4.4.3. Ограничение доступа root
Вместо того, чтобы полностью закрывать доступ пользователю root, администратор может разрешить доступ только к программам setuid, например, к su или sudo.
4.4.3.1. Команда su
Когда пользователь выполняет команду su, ему предлагается ввести пароль root, и после проверки он попадает в приглашение оболочки root.
Зарегистрировавшись с помощью команды su, пользователь является пользователем root и имеет все права администратора системы. Кроме этого, если пользователь стал root, с помощью команды su он может стать любым другим пользователем системы, не зная его пароля.
Учитывая мощь этой программы, администраторам в организациях, возможно, захочется ограничить круг лиц, имеющих к ней доступ.
Проще всего это можно сделать, добавив пользователей в специальную административную группу wheel. Для этого выполните от имени root следующую команду:
usermod -G wheel |
В этой команде замените именем пользователя, которого следует добавить в группу wheel.
Чтобы проделать то же самое с помощью Менеджера пользователей, выберите в Главное меню (на панели) => Системные параметры => Пользователи и группы или введите в приглашении оболочки команду redhat-config-users. Перейдите на вкладку Пользователи, выберите пользователя из списка и щёлкните в контекстном меню Свойства (или выберите в главном меню Файл => Свойства).
Затем перейдите на вкладку Группы и отметьте группу wheel, как показано на .
Рисунок 4-2. Вкладка Группы
Затем откройте файл настройки PAM для команды su (/etc/pam.d/su) в текстовом редакторе и уберите комментарий в следующей строке:
auth required /lib/security/pam_wheel.so use_uid |
Сделав, это вы откроете доступ к этой программе только пользователям группы администраторов wheel.
Замечание | |
---|---|
Пользователь root по умолчанию включён в группу wheel. |
4.4.3.2. Команда sudo
Команда sudo предоставляют другую возможность получить права администратора. Когда доверенный пользователь перед административной командой указывает sudo, он должен ввести свой пароль. Затем, если его подлинность подтверждается и ему разрешена данная команда, эта команда будет выполняться, как будто она запущена пользователем root.
Общий формат команды sudo показан ниже:
sudo |
В этом примере нужно заменить командой, обычно выполняемой пользователем root user, например, mount.
Важно
Пользователи, запускающие команду sudo должны быть очень внимательны и, покидая свой компьютер, выходить из системы, так как если выполнить эту команду ещё раз в течение пяти минут, она не спросит пароль. Эту настройку можно изменить в файле конфигурации /etc/sudoers.. Команда sudo даёт большую гибкость
Например, только пользователи, перечисленные в файле /etc/sudoers, могут выполнить команду sudo, и эта команда будет выполнена в оболочке пользователя, а не root. Это значит, что оболочка root может быть полностью отключена, как описано в .
Команда sudo даёт большую гибкость. Например, только пользователи, перечисленные в файле /etc/sudoers, могут выполнить команду sudo, и эта команда будет выполнена в оболочке пользователя, а не root. Это значит, что оболочка root может быть полностью отключена, как описано в .
Команда sudo также ведёт исчерпывающий аудит. Каждая успешная попытка входа регистрируется в файле /var/log/messages, а выполненная команда, вместе с именем выполняющего её пользователя в файле /var/log/secure.
Другим преимуществом команды sudo является то, что администратор может открыть пользователям доступ только к нужным им командам.
Администраторы, желающие отредактировать файл конфигурации sudo, /etc/sudoers, должны использовать команду visudo.
Чтобы дать кому-то все привилегии администратора, введите visudo и добавьте в раздел привилегий пользователя примерно такую строку:
juan ALL=(ALL) ALL |
В этом примере пользователь juan может использовать sudo с любого компьютера и выполнить любую команду.
В приведённом ниже примере показано, как можно очень тонко настраивать sudo:
%users localhost=/sbin/shutdown -h now |
В данном примере любой пользователь, работающий на консоли, может выполнить команду /sbin/shutdown -h now.
Подробное описание параметров этого файла можно найти на странице man sudoers.
Решение проблем
Проблемы с TTY через SSH
По умолчанию SSH не выделяет tty при выполнении удалённой команды. Без tty sudo не может отключить отображение пароля при его вводе. Вы можете воспользоваться ssh опцией , чтобы заставить его выделять tty (или дважды).
опция всего лишь позволяет запускать sudo пользователям, если они имеют tty.
# Disable "ssh hostname sudo ", because it will show the password in clear text. You have to run "ssh -t hostname sudo ". # #Defaults requiretty
Показать привилегии пользователя
Вы можете узнать какими привилегиями обладает конкретный пользователь следующей командой:
$ sudo -lU имя_пользователя
Или узнать ваши собственные привилегии командой:
$ sudo -l
Matching Defaults entries for yourusename on this host: loglinelen=0, logfile=/var/log/sudo.log, log_year, syslog=auth, [email protected], mail_badpass, mail_no_user, mail_no_perms,env_reset, always_set_home, tty_tickets, lecture=always, pwfeedback, rootpw, set_home User yourusename may run the following commands on this host: (ALL) ALL (ALL) NOPASSWD: /usr/bin/lsof, /bin/nice, /usr/bin/su, /usr/bin/locate, /usr/bin/find, /usr/bin/rsync, /usr/bin/strace, (ALL) /bin/kill, /usr/bin/nice, /usr/bin/ionice, /usr/bin/top, /usr/bin/killall, /usr/bin/ps, /usr/bin/pkill (ALL) /usr/bin/gparted, /usr/bin/pacman (ALL) /usr/local/bin/synergyc, /usr/local/bin/synergys (ALL) /usr/bin/vim, /usr/bin/nano, /usr/bin/cat (root) NOPASSWD: /usr/local/bin/synergyc
Наложение umask
Sudo накладывает на значение umask пользователя свою собственную (которая по умолчанию установлена в 0022). Это предотвращает sudo от создания файлов с более либеральными правами доступа, чем это позволяет umask пользователя. Несмотря на то, что это разумное значение по умолчанию, если не используется измененная umask, это может привести к ситуации, когда программа, запущенная через sudo может создавать файлы с правами доступа отличными от тех, которые создаются при запуске программы непосредственно суперпользователем. Для исправления таких ошибок sudo предоставляет возможность исправить umask, даже если желаемая umask более либеральна, чем установлено в umask пользователя. Добавив такие строки (используйте ) вы измените поведение sudo по умолчанию:
Defaults umask = 0022 Defaults umask_override
Это установит sudo umask в umask суперпользователя по умолчанию (0022) и переопределит поведение по умолчанию, всегда используя указанную umask и независимо от umask пользователя.
Как узнать, какие sudo полномочия имеются у пользователя
Мы только что узнали, что у определённого пользователя могут быть ограниченные полномочия на выполнение команд с sudo. Как узнать, какие именно команды может выполнить пользователь или как проверить, сработали ли наши настройки в файле /etc/sudoers?
Для вывода всех разрешённых команд или для проверки определённой команды, используется опция -l. Но если не указать опцию -U с именем интересующего пользователя, то будут выведены данные для пользователя по умолчанию (root).
Пример проверки прав sudo для пользователя admin:
sudo -l -U admin
Пример вывода:
Matching Defaults entries for admin on HackWare: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User admin may run the following commands on HackWare: (root : ALL) /home/admin/backup.sh, /usr/bin/apt
Строка «User admin may run the following commands on HackWare» означает «пользователь admin может запускать следующие команды на HackWare».
Также можно узнать, является ли та или иная команда заблокированной или разрешённой для выполнения пользователем с sudo следующим образом:
sudo -l -U ПОЛЬЗОВАТЕЛЬ КОМАНДА
Если команда запрещена, то ничего не будет выведено:
sudo -l -U admin rm
Если команда разрешена, то будет выведен полный путь до файла:
sudo -l -U admin apt /usr/bin/apt
Вход под суперпользователем
Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.
Вы получите полноценное окружение root с возможностью выполнять все действия, но такой способ очень непрактичный, так как вы теряете все преимущества использования графического интерфейса.
Можно поступить полностью противоположным путем, ввести логин root и его пароль в графическом менеджере входа, чтобы окружение рабочего стола работало от имени root, и мы получаем все права root linux, но такой вариант крайне не рекомендованный, и очень опасный, вы можете случайно повредить всю систему. Поэтому этот способ был отключен во многих менеджерах входа.
Смена пароля программами passwd и chpass
Как изменить пароль у пользователя freeBSD? — спросите Вы. Элементарно! — ответит вам любой читавший дальше =).
Программки для смены пароля: passwd и chpass.passwd
— это обычный способ изменения собственного пароля пользователя, или пароля другого пользователя суперпользователем.
Предствим на минутку что Вы простой юзер с именем test и хотите себе поменять пароль:
Теперь представим что Вы суперпользователь и хотите изменить пароль простому смертному юзеру:
Рассмотрим теперь более функциональную примочку — chpass.chpass
— может не только менять пароль пользователя, а и остальные его данные.
Только системные администраторы с правами суперпользователя могут изменять информацию и пароли других пользователей с помощью программы chpass. Простые пользователи тоже могут использовать эту программу, но изменять позволено лишь небольшую часть этой информации, и только для своей учетной записи.
И так работа программы chpass для суперюзера:
Шаг № 5 Запрещаем доступ root по ssh
Повышаем безопасность сервера. Закрываем доступ пользователю root по ssh
Выполняем команду:
sudo nano /etc/ssh/sshd_config
1 | sudo nanoetcsshsshd_config |
Находим строчку:
PermitRootLogin yes
1 | PermitRootLogin yes |
И меня значение на нет. Должно выйти так:
PermitRootLogin no
1 | PermitRootLogin no |
Перезапускаем ssh для применения изменений
sudo service ssh restart
1 | sudo service ssh restart |
Проверям доступ по ssh для root пользователя:
ssh my_server -lroot
1 | ssh my_server-lroot |
Должны увидеть сообщение:
Permission denied, please try again.
1 | Permission denied,please tryagain. |
Теперь проверям доступ по ssh для нового пользователя:
ssh my_server -l my_username
1 | ssh my_server-lmy_username |
Поздравляю, теперь китайцы будут долго и безуспешно подбирать пароль от вашего root пользователя по ssh. (Доступ по ключикам тут не рассматриваем)
sudo не спрашивает пароль
без пароля — чудовищная дыра в безопасности, кому попало разрешено делать что угодно. Если вы разрешили это намеренно — срочно верните обратно как было.
Однако, в некоторых случаях внезапно перестаёт требовать пароль само по себе. Если сделать , то можно увидеть примерно такую строку, которую пользователь вроде бы не добавлял:
ALL ALL=(ALL) NOPASSWD:ALL
Скорее всего, эта катастрофичная строка была добавлена при установке программы типа Connect Manager от МТС или Мегафона. В таком случае, её нужно поменять на строку, разрешающую с правами запускать только этот Connect Manager, примерно так:
юзернейм ALL= NOPASSWD: /путь/к/программе
Как создать пользователя с sudo
Рассмотрим как создать пользователя, имеющего права запускать команды с sudo.
Чтобы создать пользователя с sudo в Debian, Linux Mint, Ubuntu, Kali Linux и их производных выполните команду вида:
useradd -m -G sudo -s /bin/bash -c "КОММЕНТАРИЙ" ПОЛЬЗОВАТЕЛЬ
В этой команде:
- -m означает создать домашнюю директорию пользователя, если она не существует
- -G sudo означает добавить пользователя в группу sudo
- -s /bin/bash указывает оболочку входа пользователя
- -c «КОММЕНТАРИЙ» указывает комментарий, который будет хранится в файле аккаунта — можно пропустить эту опцию
- ПОЛЬЗОВАТЕЛЬ — это имя пользователя
Пример:
useradd -m -G sudo -s /bin/bash -c "Administrative User" admin
В Arch Linux, BlackArch и их производных для создания пользователя с sudo выполните команду вида:
useradd -m -g users -G wheel,video -s /bin/bash -c "КОММЕНТАРИЙ" ПОЛЬЗОВАТЕЛЬ
Обратите внимание, что в Arch Linux группа, дающее право на выполнение команд sudo, называется wheel, а не, собственно, sudo. Также мы добавили пользователя сразу в две группы, а не в одну, имя второй группы video
Если вы создаёте пользователя на системе без графического окружения, например, на безголовом сервере, то добавлять в группу video не нужно.
В CentOS для создания пользователя с sudo выполните команду вида:
useradd -m -G wheel -s /bin/bash -c "КОММЕНТАРИЙ" ПОЛЬЗОВАТЕЛЬ
Теперь независимо от вашего дистрибутива, запустите одинаковую команду, чтобы установить пароль для нового пользователя:
passwd ПОЛЬЗОВАТЕЛЬ
Сброс пароля root или администратора
Сбросьте пароль root, если он был забыт.
Если вы забыли пароль , корневой и пароль пользователя, вам необходимо загрузиться в режиме восстановления, чтобы изменить их. Если вы знаете свой пароль пользователя и вам необходима смена пароля пользователя root, просто введите sudo passwd root, введите пароль пользователя, а затем создайте новый пароль пользователя root.
Перезагрузите компьютер и удерживайте левую кнопку . после экрана BIOS.
Это откроет меню GRUB. Возможно, придется попробовать данную процедуру несколько раз.
Выберите режим восстановления.
Это загрузит режим восстановления для вашего текущего дистрибутива.
Выберите вариант из меню.
Это запустит терминал, когда вы вошли в систему как пользователь root.
Диск с разрешениями на запись.
Когда вы загружаетесь в режиме восстановления, вы, как правило, имеете только права на чтение. Введите следующую команду, чтобы включить доступ для записи:
mount -rw -o remount /
Создайте новый пароль для любых учетных записей, из которых вы заблокированы.
После того как вы вошли в систему как пользователь root и изменили права доступа, вы можете создать новый пароль для любой учетной записи:
- Введите и нажмите . Если вам нужно изменить пароль root, введите .passwdaccountName passwd root
- Введите новый пароль дважды при появлении запроса.
Перезагрузите компьютер после сброса паролей.
После завершения сброса паролей вы можете перезагрузить компьютер и использовать его в обычном режиме. Ваши новые пароли вступят в силу немедленно.
Настройка
Использование visudo
Файл настроек всегда следует редактировать с помощью команды . блокирует файл , сохраняет изменения во временный файл и проверяет, что файл грамматически корректен, перед тем как скопировать его в .
Важно:
Крайне важно, чтобы файл был без синтаксических ошибок! Любая ошибка делает sudo неработоспособным
Всегда редактируйте его только с помощью для предотвращения ошибок.
Из : Обратите внимание, что это дыра в безопасности, поскольку позволяет пользователю запускать любую программу, какую он захочет, просто прописав её в VISUAL или EDITOR.. visudo использует в качестве текстового редактора по умолчанию
В core репозитории sudo скомпилирована с по умолчанию и использует переменные и
не используется, если задана переменная .
visudo использует в качестве текстового редактора по умолчанию. В core репозитории sudo скомпилирована с по умолчанию и использует переменные и . не используется, если задана переменная .
Чтобы сделать nano редактором visudo в течение текущего shell сеанса, задайте и экспортируйте переменную перед тем, как выполнять visudo.
Он будет использован, если вы не определили другой редактор, установив переменные окружения или (используемые в таком порядке) в качестве желаемого редактора, например . Выполните команду с правами суперпользователя:
# EDITOR=nano visudo
Для изменения редактора на постоянной основе для текущего пользователя, прочтите . Для того, чтобы установить выбранный редактор на постоянной основе для всей системы, но только для , добавьте следующее в (предположим, что вы предпочитаете в качестве редактора):
# Сброс окружения Defaults env_reset # Установка nano в качестве редактора по умолчанию и запрет visudo использовать EDITOR/VISUAL. Defaults editor=/usr/bin/nano, !env_editor
Примеры настроек
Настройка sudo осуществляется добавлением записей в файл . Чтобы дать пользователю привилегии суперпользователя, когда он вводит перед командой, добавьте следующую строку:
имя_пользователя ALL=(ALL) ALL
Разрешить пользователю выполнять все команды от любого пользователя, но только на машине с определенным названием хоста:
имя_пользователя название_хоста=(ALL) ALL
Предоставить членам группы доступ sudo:
%wheel ALL=(ALL) ALL
Чтобы не спрашивать пароль у пользователя:
Defaults:имя_пользователя !authenticate
Разрешить выполнять только конкретные команды и только пользователю на определенном хосте:
имя_пользователя название_хоста=/usr/bin/halt,/usr/bin/poweroff,/usr/bin/reboot,/usr/bin/pacman -Syu
Примечание: Наиболее общие опции должны идти в начале файла, а наиболее частные — наоборот, в конце файла, так как более нижние строки переопределяют более верхние. В частности, добавляемая строка должна быть после строки , если ваш пользователь находится в этой группе.
Разрешить выполнять конкретно определённые команды только для пользователя на определенном хосте и без пароля:
имя_пользователя название_хоста= NOPASSWD: /usr/bin/halt,/usr/bin/poweroff,/usr/bin/reboot,/usr/bin/pacman -Syu
Права доступа к файлам sudoers по умолчанию
Файл должен иметь владельца root и группу root (0). Права доступа всегда должны быть установлены как (0440). Эти права установлены по умолчанию, однако если вы случайно измените их, они должны быть немедленно изменены обратно, иначе sudo не будет работать.
# chown -c root:root /etc/sudoers # chmod -c 0440 /etc/sudoers
Время действия введённого пароля
Возможно, вы захотите изменить промежуток времени, в течение которого sudo действует без ввода пароля. Этого легко добиться добавив опцию в :
Defaults:имя_пользователя timestamp_timeout=время_в_минутах
Например, чтобы установить тайм-аут на 20 минут:
Defaults:имя_пользователя timestamp_timeout=20
Совет: Если вы хотите чтобы sudo всегда требовал ввод пароля, установите равным 0. Чтобы срок действия пароля никогда не истекал, установите любое отрицательное значение.
Шаг № 2 Создание пользователя
adduser username
1 | adduser username |
Где username — имя вашего пользователя, выбираем по желанию.
Set password prompts:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
1 |
Set password prompts Enter newUNIX password Retype newUNIX password passwdpassword updated successfully |
Вводим пароль для своего пользователя. Или используем наш онлайн генератор паролей.
Далее заполняем информацию по желанию, проверям что бы все было правильно и нажимаем Yes
ser information prompts:
Changing the user information for username
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
1 |
ser information prompts Changing the user information forusername Enter the newvalue,orpress ENTER forthe default Full Name Room Number Work Phone Home Phone Other Isthe information correct?Yn |