Завжди привілеї Судо


17

Я шукав це, і відповідь, ймовірно, знаходиться в мільйоні місць в мережі, але я не можу його знайти ...

Як ви надаєте кореневі привілеї свого облікового запису в Linux, щоб вам не потрібна sudoкожна команда, яка вимагає привілеїв? Це ще більше дратує, ніж контроль облікових записів користувачів Windows.

( Будь ласка, мені не потрібна лекція про те, як би я жив небезпечним життям. Дякую.)

Відповіді:


12

Це працює для вас?

sudo EDITOR=gedit visudo

Змініть цей рядок:

%admin ALL=(ALL) ALL

до цього рядка:

%admin ALL=(ALL) NOPASSWD: ALL

Немає лекцій. :)


3
+1, але біда в тому, що вона все одно вимагає від мене введення sudo.
користувач541686

@Lambert Добре, я не хочу цього робити для перевірки, але я думаю, що ви можете просто дати root root "sudo passwd root". Вихід як ваш користувач; Логін як корінь. Тепер GDM дозволяє ввійти в систему?

2
Ну, я вже робив це для встановлення пароля root та входу в систему як root, і, звичайно, більше не потрібно sudo. Проблема полягає в тому, щоб дізнатися, як зробити те ж саме для іншого облікового запису.
користувач541686

7

Ви цього не робите. Ви можете зробити дві речі:

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

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


2
Що ж, я не розумію, що якщо я можу так легко ввійти як "корінь" і ніколи навіть не повинен думати про слово "судо", то чому я не можу зробити те ж саме в іншому акаунті?
користувач541686

@Lambert: Тому що інші облікові записи не є UID 0.
JanC

1
Ага ... так що навіть додавання себе до групи sudoабо навіть щось подібне недостатньо? :(
user541686

2

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

(І ні, я справді не можу побачити велику проблему в введенні свого пароля раз у раз. Це дійсно не так багато часу, і якщо ви не закриєте свій термінал після кожної команди, sudo не буде просити пропуск на деякий час після ви пройшли автентифікацію).


3
Справа не в тому, що це забирає багато часу, це просто дратує. Якщо я скажу, що хочу змінити шпалери свого екрана входу, мені не потрібно "Ти не з розуму ?! Я не можу тобі довіряти". повідомлення, яке запитує мене, чи я насправді розумний навіть для того, щоб думати про виконання такої акції з високим привілеєм, і сказав мені, що якщо я неправильно введу свій пароль, про цю подію буде повідомлено . Ніби мій власний комп’ютер мені не вірить, і коли ти працюєш деякий час, то це стає прикро, що неприємні дії інших людей з комп'ютером змушують тебе поставити під сумнів власний комп'ютер.
користувач541686

Не маю сенсу стриматись на цьому на вас, але іноді функції "безпеки" у програмному забезпеченні, розробленому для захисту недосвідчених користувачів, просто змушують мене ганяти. Якщо я хочу зробити так, щоб мій комп'ютер вибухнув, не потрібно нічого більше, ніж "Ви впевнені ?!" повідомлення "Не запитувати цього більше". поле ... більше, і це просто перемагає мету взагалі мати підтвердження. Якщо мені доведеться ввести підтвердження на все, це може бути і не одне - це не змінить моєї рішучості, але, принаймні, я зроблю ті ж самі справи в п’ять разів швидше, ні з одним роздратуванням.
користувач541686

Дизайн безпеки Ubuntu призначений для домашнього середовища з кількома користувачами. Загальносистемні зміни повинні проводити лише довірена особа, а не лише той, хто має обліковий запис користувача або позичає ваш рахунок.
Джеремі Біча

@JeremyBicha Вони нічого не додали на додаток до оригінального дизайну безпеки / авторизації Unix, який Imo був зроблений для багатокористувацького тайм-обміну на мейнфреймах ... Чи придатний цей дім для дому - це інше питання, але ми з цим застрягли.
masterxilo

1

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


Чи є ще "прямий" спосіб? Такі як використання sudoersабо додавання себе до якоїсь спеціальної групи?
користувач541686

sudo -s робить те ж саме.
psusi

@psusi: Але чи не в цьому питання полягає в тому, щоб не робити цього кожного разу, коли я запускаю комп'ютер?
користувач541686

Чи є спосіб зробити так, щоб не запитувати пароль кожен раз?
користувач541686

0

Правильний відповідь на моє запитання:

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

Однак:

Якщо ви це зробите, ви не зможете знову увійти !

Тим не менш, можна створити нового користувача та змінити його групу / ідентифікатор користувача на 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.
користувач541686

0

Я раджу СТРУМНО не давати собі ГІД 0. SUDO не існує для того, щоб робити речі складнішими. Єдина причина створити інший кореневий обліковий запис (більш домашнім каталогом є / root / або користувацька директорія, тобто / home / root2 /) є те, що в системі є два адміністратори, які не бажають ділитися одним паролем root.

В іншому випадку використовуйте судо. І якщо припустити, що ви не досвідчений користувач Unix, ви також можете ризикнути забути, які інструменти використовуються лише для кореневих та що для загальних користувачів.

Але, якщо ви вважаєте, що у вас є безпечний звичайний користувач (я особисто використовую 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

ВАШ ВІДПОВІДНИК - ваше ім'я користувача, цей рядок дозволяє конкретному користувачеві запускати SUDO без пароля.

всім користувачам групи SUDO потрібно вказати пароль.

всі користувачі в груповому колесі можуть запускати sudo без пароля - корисно, якщо ви хочете надати безпроблемний доступ до SUDO для декількох користувачів, що, до речі, просто поставте ДУЖЕ БАД ІДЕЯ.

ТАКОЖ: - Запам’ятайте% charachter перед іменами GROUP. - Можна редагувати / etc / group безпосередньо, але це НЕ рекомендується. Використовуйте ADDGROUP для редагування, див. Більше інформації, ввівши: man addgroup

Я ще раз наголошую, що ЗАВЖДИ редагуйте файл sudoers за допомогою команди VISUDO, НІКОЛИ безпосередньо з редактором. Це гарантує, що ви завжди отримуєте дійсні файли sudoers - вводити помилки чи погані висловлювання і т. Д. - це дуже погано в такому важливому файлі, і visudo економить вам усі ті проблеми, які ви, можливо, не зможете відновити самостійно, і я ставлю перший відповідь на питання після це "завжди використовуйте visdo. чи вони вам не казали? о, вони зробили? що з вами?" або щось подібне;)

-

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

\\ тату-о


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