Всегда Судо Привилегии


16

Я искал это, и ответ, вероятно, находится в миллионе мест в сети, но я не могу найти его ...

Как вы даете root-права своей учетной записи в Linux, чтобы вам не требовалась sudoкаждая отдельная команда, требующая привилегий? Это еще более раздражает, чем контроль учетных записей Windows.

( Пожалуйста ... Мне не нужна лекция о том, как я буду жить опасной жизнью. Спасибо.)

Ответы:


11

Это работает для вас?

sudo EDITOR=gedit visudo

Измените эту строку:

%admin ALL=(ALL) ALL

к этой строке:

%admin ALL=(ALL) NOPASSWD: ALL

Нет лекций. :)


3
+1, но проблема в том, что мне все равно нужно набирать текст sudo.
user541686

@ Ламберт Ладно, я не хочу делать это, чтобы проверить это, но я думаю, что вы можете просто дать root пароль «sudo passwd root». Выйдите как ваш пользователь; войдите как root. Теперь GDM позволяет root-логин?

2
Ну, я уже сделал это, чтобы установить пароль root и войти в систему как root, и, конечно, мне больше не нужно sudo. Проблема в том, чтобы узнать, как сделать то же самое для другого аккаунта.
user541686

7

Вы не Вы можете сделать две вещи:

1) Запустите sudo -s, чтобы остаться пользователем root, если вы планируете вводить несколько команд и не хотите продолжать добавлять к ним префикс sudo.

2) Вы можете настроить файл sudoers так, чтобы он мог запускать sudo без необходимости ввода пароля.


2
Что я не понимаю, так это то, что если я могу так легко войти в систему как «root» и никогда не думать о слове «sudo», то почему я не могу сделать то же самое в другом аккаунте?
user541686

@ Ламберт: Потому что эти другие счета не являются UID 0.
Janc

1
Хм ... так что даже добавления себя в группу sudoили чего-то подобного недостаточно? :(
user541686

2

Я не вижу , как трудно запустить sudo -iодин раз в терминале, а затем просто использовать этот терминал (или вы могли бы открыть больше чем один, но тогда вы должны ввести пароль еще раз ) , чтобы сделать всю вашу SUDO вещи.

(И нет, я не вижу большой проблемы в том, чтобы вводить ваш пароль время от времени. Это действительно не так много времени, и если вы не закроете свой терминал после каждой команды, sudo не будет запрашивать ваш пропуск некоторое время после Вы аутентифицировались).


3
Дело не в том, что это отнимает много времени, просто это очень раздражает. Если я скажу, что хочу сменить обои на экране входа в систему, мне не нужно «Ты сошел с ума ?! Я не могу тебе доверять». сообщение, спрашивающее меня, действительно ли я в здравом уме, даже не задумываясь о выполнении такого действия с высокими привилегиями, сообщающее, что, если я введу неправильный пароль, это событие будет сообщено . Как будто мой собственный компьютер не доверяет мне, и когда вы работаете некоторое время, это чертовски раздражает, что глупые действия других людей с компьютером заставляют вас задавать вопросы собственному компьютеру.
user541686

Не хочу, чтобы я рассердился на вас, но иногда «защитные» функции программного обеспечения, предназначенные для защиты неопытных пользователей, просто сводят меня с ума. Если я хочу, чтобы мой компьютер взорвался, не нужно ничего, кроме «Ты уверен ?!» сообщение с надписью «Не спрашивайте это снова». коробка ... больше, и это просто побеждает цель иметь подтверждение вообще. Если мне нужно будет ввести подтверждение для всего, то, возможно, его и не будет - оно не изменит мою решимость, но, по крайней мере, я сделаю то же самое в пять раз быстрее, без раздражения.
user541686

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

@JeremyBicha Они не добавили ничего поверх оригинального дизайна безопасности / авторизации Unix, который Imo был сделан для многопользовательского разделения времени на мэйнфреймах ... Не является ли это уместным для дома, это другой вопрос, но мы застряли с ним.
masterxilo

1

Вы можете установить / активировать команду 'su' и настроить оболочку для запуска при запуске.


Есть ли еще «прямой» путь? Например, используя sudoersили добавляя себя в какую-то особую группу?
user541686

sudo -s делает то же самое.
Псуси

@psusi: Но разве смысл в том, чтобы не делать это каждый раз, когда я запускаю компьютер?
user541686

Есть ли способ заставить его не спрашивать пароль каждый раз?
user541686

0

Правильный ответ на мой вопрос:

Вы можете изменить свой идентификатор пользователя (UID) и идентификатор группы (GID) на 0 /etc/passwd, чтобы получить привилегии root.

Тем не мение:

Если вы это сделаете, вы не сможете войти в систему !

Тем не менее, вы можете создать нового пользователя и изменить его идентификатор группы / пользователя на 0. По сути, этот пользователь будет другим root, но с другой папкой профиля и т. Д.

Тогда вы можете использовать этот профиль, как если бы вы были rootсамим собой! : D

Еще одно «решение»:

(если вам нравятся пустые пароли)

  1. Запустите команды ниже и сравните результаты

    sudo cat /etc/shadow
    sudo sed "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    

    Вы должны увидеть, что последний убрал тарабарщину перед вашим именем пользователя (которое читается с использованием $(whoami)). (Если нет, не продолжайте!)

  2. Когда вы будете готовы, выполните команду перезаписи /etc/shadow(на свой страх и риск!)

    sudo sed -i.bak "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    
  3. Ваша учетная запись теперь имеет пустой пароль, и вам больше не нужно запрашивать разрешения sudo. (По крайней мере, это то, что случилось со мной.)

Замечания:

Вам также может понадобиться включить пароль без входа в систему ; Я не уверен, если это необходимо, хотя.


Я где-то читал, что с помощью "sudo bash" делать работу. Вы пробовали это?
Любопытный ученик

@CuriousApprentice: весь смысл был в том, чтобы избежать sudo.
user541686

0

Я советую НАСТОЯТЕЛЬНО не давать себе ГИД 0. СУДО не для того, чтобы все усложнялось. Единственная причина создания другой учетной записи root (более домашний каталог - / root / или пользовательский каталог, т. Е. / Home / root2 /) - это то, что в системе есть два администратора, которые не желают использовать один пароль root.

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

НО, если вы чувствуете, что у вас есть безопасный обычный пользователь (я лично использую STRONG пароль с этим методом), я позволю моему пользователю (т.е. tatu.staff / uid = 1xxx, gid 50) запустить SUDO без пароля. Поэтому я никогда не путаю то, что предназначено только для пользователя root и для пользователя.

Используйте инструкции выше для создания файла sudoers (и соответствующих групп), чтобы заставить конкретного пользователя запускать SUDO без пароля, или посмотрите файл примера, который я вставлю здесь:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Defaults        !authenticate

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
YOURUSER    ALL=(ALL) NOPASSWD:ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
%wheel  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

YOURUSER - ваше имя пользователя, эта строка позволяет конкретному пользователю запускать SUDO без пароля.

Все пользователи в группе SUDO должны предоставить пароль.

все пользователи в групповом колесе могут запускать sudo без пароля - это полезно, если вы хотите предоставить SUDO ACCESS без пароля нескольким пользователям, что, кстати, просто означает ОЧЕНЬ ПЛОХУЮ ИДЕЮ.

ТАКЖЕ: - Помните% charachter перед именами ГРУПП. - Можно редактировать / etc / group напрямую, но это НЕ рекомендуется. Используйте ADDGROUP для редактирования, чтобы увидеть больше информации, набрав: man addgroup

Я должен еще раз подчеркнуть, что ВСЕГДА редактируйте файл sudoers с помощью команды VISUDO, НИКОГДА не напрямую с редактором. Это гарантирует, что вы всегда получите действительный файл sudoers - ошибки в наборе или неправильные утверждения и т. Д. Являются очень плохой вещью в таком важном файле, и visudo избавит вас от всех проблем, которые вы не сможете исправить самостоятельно, и я готов поспорить, что ответ на вопрос будет первым после это «всегда используй visdo. Разве они тебе не говорили? о, они сделали? Что с тобой?» или что-то похожее;)

-

Привет из Финляндии - здесь хорошая, довольно хорошая зима, всего -10 градусов по Цельсию, а не те, что ужасно ниже -25 градусов.

\\ tatu-o


Кроме того, если вы не хотите писать длинные команды или хотите забыть о флагах - алисы для вас! Проверьте ~ / .bashrc, что файл псевдонимов установлен, а затем добавьте свои псевдонимы в ~ / .bash_aliases
tatu stty
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.