У чому різниця між sudo та su?

Кілька днів тому я отримав запит від Мігеля, звичайного читача блогів та компульсивного коментатора, щодо цього в чому саме різниця між Суду y su. Зокрема, Мігель був стурбований тим, чи один метод безпечніший за інший. Буває, що я це читав sudo був недостатньо безпечним і я хотів дізнатись більше. Це ще одна публікація, присвячена тим, хто просив більше статей про термінальні таємниці.

Su

Програма su Дозволяє використовувати оболонку іншого користувача без виходу з поточного сеансу. Зазвичай він використовується для отримання root-прав на адміністративні операції без необхідності виходу з системи та повторного входу в систему. Деякі середовища робочого столу, включаючи GNOME та KDE, мають програми, які графічно запитують пароль, перш ніж дозволити користувачеві виконати команду, яка зазвичай вимагає такого доступу.

Назва su походить від англійської sзамінник ube (замінник користувача). Є також ті, хто змушує це виходити з sвершникuser (суперкористувач, тобто користувач root або адміністратора), оскільки зазвичай використовується для прийняття ролі системного адміністратора.

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

[guy @ localhost] $ ваш пароль: [root @ localhost] # вихід із системи [guy @ localhost] $

Не встановлюючи користувача, він отримує доступ як адміністратор. Однак можна також передати інше ім'я користувача як параметр.

[guy @ localhost] $ su mongo Пароль: [mongo @ localhost] # вихід із системи [guy @ localhost] $

Після введення пароля ми можемо виконувати команди так, ніби ми іншим користувачем. Письмово вихід, ми повертаємося до нашого користувача.

Широко вживаний варіант - використання su за яким слід тире. Таким чином, щоб увійти як root, вам потрібно ввійти його - та увійти як інший користувач ваш - інший користувач. Різниця між використанням сценарію чи ні? Рекомендується використовувати скрипт, оскільки він імітує, що ви ввійдете в систему з цим користувачем; отже, він виконує всі файли запуску цього користувача, змінює поточний каталог на HOME цього користувача, змінює значення деяких системних змінних, адаптуючи їх до нового користувача (HOME, SHELL, TERM, USER, LOGNAME, серед іншого), і інші більше речей.

Сисадмін повинен бути дуже обережним при виборі пароля для облікового запису root / адміністратора, щоб уникнути нападу непривілейованого користувача, що працює su. У деяких Unix-подібних системах називається група користувачів колесо, який включає єдиних, хто може виконати su. Це може або не може зменшити проблеми з безпекою, оскільки зловмисник може просто взяти на себе один із цих облікових записів. su Однак GNU не підтримує використання цієї групи; це було зроблено з філософських міркувань.

Судо

Відповідна команда, викликана Суду, виконує команду як інший користувач, але дотримуючись ряду обмежень, щодо яких користувачі можуть виконувати які команди від імені інших користувачів (як правило, зазначені у файлі / etc / sudoers).

З іншого боку, на відміну su, Суду запитує у користувачів власний пароль замість потрібного користувача; це дозволяє делегувати команди користувачам на інших машинах без необхідності спільного використання паролів, зменшуючи ризик залишення терміналів без нагляду.

Судо проблеми: пільговий період

Перевага Суду з поваги до su полягає в тому, що він виконує лише запитувану команду, прикидаючись іншим користувачем, фактично не змінюючи поточного користувача. Це означає, що можна виконати команду як адміністратор, і наступної секунди вони матимуть привілеї користувача, яким користувались раніше ... або майже.

Деякі вважають порушенням безпеки той факт, що Суду надати "пільговий період", що дозволяє користувачеві виконувати команди як інший користувач, без необхідності повторного введення sudo перед командою та паролем після її виконання. Після цього "пільгового періоду", Суду знову запитає нас пароль.

Це "погано", по суті тому, що хтось може взяти на себе наш комп'ютер після введення пароля sudo, і поки активний "пільговий період", зробіть СТАРИХУ

На щастя, можна вимкнути «пільговий період», що покращить безпеку вашої системи. Просто додайте один рядок у файл / etc / sudoers:

sudo nano / etc / sudoers

І додайте наступний рядок у кінець файлу:

За замовчуванням: ALL timestamp_timeout = 0

Зміна набирає чинності негайно, без необхідності перезапускати систему.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   хелк - сказав він

    Насправді, ЯКЩО ви можете ввійти з правами адміністратора з sudo і залишитися там, як і з su -, для цього вам потрібно написати: sudo -s, таким чином змінюючи поточного користувача і залишаючи час відпустки як жарт (оскільки Ви можете залишатися це до тих пір, поки ви хочете, як і з вашим)

  2.   Мікель Майоль і тур - сказав він

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

    Причиною, яку вони мені дали, було те, що іноді при виконанні sudo певних конфігурацій вони не отримують абсолютних дозволів, і вони залишаються неправильно налаштованими. І що, "ввійшовши" із su як root для завдань оновлення та обслуговування, ви запобігаєте цьому.

    Тоді я надіслав вам електронного листа, бо пообіцяв поділитися цією знахідкою, яка мені здалася нетривіальною.

    Оскільки Ubuntu встановлено за замовчуванням без кореневого користувача, просто запустіть

    "Sudo passwd root"

    введіть пароль, підтвердьте його, а потім
    "Су корінь"
    для операцій з технічного обслуговування, крім того, щоб уникати розміщення sudo при кожному замовленні.

    В принципі, в Ubuntu кореневий обліковий запис видаляється, щоб ви не завжди входили в систему з цим обліковим записом, але оскільки мені дали пораду майже в тому дусі, що використання sudo - це святотатство, про всяк випадок, якщо я дотримався цього.

  3.   Вказівник Nill - сказав він

    Ви можете отримати доступ до файлу / etc / shadow і змінити хеш пароля root на звичайний хеш пароля користувача, а потім змінити пароль для root ??? В інший час я пробую те саме ...

  4.   Давайте використовувати Linux - сказав він

    Звичайно. Це не ексклюзивно для Fedora.

  5.   mfcollf77 - сказав він

    Тоді з двох, чи можна їх встановити?, Я думав, що «SU» був лише у FEDORA.

  6.   Дієго Кісай Альба Галларт - сказав він

    Дуже хороша інформація, з цим, безсумнівно, сумніви багатьох зникнуть, бо я знаю кількох, хто має такі сумніви.

  7.   Alex - сказав він

    В ubunto, я думаю, я пам'ятаю, що ви не можете використовувати команду su (щоб увійти як користувач root)

  8.   Хазан Перес - сказав він

    Що ж, щоб "відновити" пароль root (насправді, будь-який інший пароль), ви можете здійснити "атаку" на файл системного пароля за допомогою John The Ripper. Більше про це говорити не буду.

    Можливо, існують інші методи ... Можливо, зміна пароля шляхом введення з "sudo su", а потім команди "passwd". Було б цікаво подивитися, що реагують інші люди ...

  9.   Давайте використовувати Linux - сказав він

    Саме так!

  10.   Давайте використовувати Linux - сказав він

    Правильно ... Я повинен подякувати Мігелю Майолю і Туру ... саме він мав ідею. 🙂
    На здоров’я! Павло.

  11.   Boss - сказав він

    Дякую, як завжди великий внесок. Ми це цінуємо.

  12.   Давайте використовувати Linux - сказав він

    Дякую Босу! Обійми! Павло.

  13.   Херонімо Наварро - сказав він

    Різниця між "su" і "sudo" полягає в "do"

  14.   Erick - сказав він

    Я забув пароль root, на щастя, я можу використовувати sudo, а щоб використовувати su, я використовую 'sudo su', і він не вимагає проходження (?)
    Хтось знає, як дізнатись пароль root (я маю доступ до root через sudo)?

    1.    марвергараб - сказав він

      sudo passwd

  15.   Давайте використовувати Linux - сказав він

    Ха! Дуже розумний!

  16.   Фабіан Пайс - сказав він

    той, хто хоче відновити пароль root, буде "sudo passwd root", і там він попросить вас ввести новий

  17.   alex-pilloku@hmail.com - сказав він

    привіт як твоє життя

  18.   SynFlag - сказав він

    Вибачте, але, використовуючи команду su, ось так:

    su -c "команда", це те саме, що використання sudo без пільгового періоду. Я не бачу необхідності судових дій.

    РЕАЛЬНЕ використання sudo - це надання певним користувачам можливості використовувати ту чи іншу команду; він більше використовується у компаніях, щоб не потрібно було chroot, чого не можна робити з su.

  19.   якардис - сказав він

    Шановний, я повинен зробити Linux TP, і я повинен відповісти на кілька простих питань. Можливо, вони можуть мені допомогти. З цього часу дякую:

    Яка команда дозволяє нам встановлювати / видаляти / змінювати пакунки debian?
    Яка команда дозволяє нам легше керувати інсталяцією
    пакунки в debian?
    Яка команда для встановлення пакунків rpm?
    Який варіант ми використовуємо для видалення пакета?
    У якому каталозі знаходяться сховища yum?
    Для чого потрібен ням?
    Який варіант ми використовуємо для пошуку пакету з yum?
    Який варіант ми використовуємо для видалення пакету?
    Який варіант ми можемо використовувати для оновлення системи?
    Які літери ідентифікують дозволи?
    Що означає кожен з них?
    Які команди перелічують дозволи файлу?
    На які три групи поділено дозволи?
    Які два способи реалізації дозволів?
    Яку систему чисел використовують дозволи?
    Яку вагу мають ці літери?
    Що таке спеціальні дозволи?
    Які існують спеціальні дозволи та для чого призначені користувачі?
    Які команди я використовую для зміни дозволів?
    Які параметри я використовую для надання дозволу на виконання файлу?
    Які параметри використовуються для надання дозволів на читання лише групі?
    Які параметри використовуються для надання дозволу на читання / запис іншій групі та видалення написання у користувача, який володіє файлом?
    Які дозволи створюються за замовчуванням для файлів та каталогів?
    Яку команду ми використовуємо для його перевірки?
    Як змінити маску за замовчуванням?
    Як ми можемо зробити іншу використовувану маску? (Використовуйте маску за замовчуванням, яка лише залишає власникам усі дозволи.)
    Яка команда перелічує процеси? Згадайте різні параметри та їх використання.
    Який процес запускає все?
    Перелічіть процеси, які відповідають зареєстрованому користувачеві.
    Перелічіть усі процеси системи.
    Які опції я використовую для отримання додаткової інформації?
    Перелічіть усі процеси, які використовуються в терміналі
    Який варіант перелічує процеси та їх залежності?
    Поясніть, що таке батьківський та дитячий процес і як його ідентифікувати
    Яка команда перелічує процеси у вигляді дерев?
    Яка команда контролює процеси в режимі реального часу?
    Контролюйте лише один процес
    Яка команда показує використання пам'яті?
    Який параметр відображає пам’ять у мегабайтах?
    Який параметр це робить з інтервалами?
    Яка команда показує інформацію про час роботи команди?
    Яку команду я використовую для вбивства процесів?
    Що обробляють ці процеси для завершення?
    Які типи сигналів є найпоширенішими?
    Перелічіть типи підтримуваних сигналів.
    У терміналі зробіть тест vi, а потім перейдіть на інший термінал, знайдіть процес і вбийте його сигналом 15. Так само, але сигналом 9.
    У чому різниця між сигналом 9 і 15?
    Який із них працює за замовчуванням?
    Чому процес виконується у фоновому режимі? А на передньому плані?
    Запустіть тест vi, а потім натисніть ctrl + z, що сталося?
    Повторіть тест vi, ctr + z, 4 рази, як закінчити те, що не вдалося?
    Передайте один із процесів на перший план і закрийте vi.
    Який параметр команди ми виконуємо, щоб вона не займала оболонку?
    Яка команда змінює пріоритети процесу, який уже запущений? Як би ви змінили пріоритет запущеного терміналу?
    Які значення рівня існують і яка їх ієрархія?
    Відкрийте файл / etc / passwd і подивіться, який рівень пріоритету він має.
    Змінити рівень пріоритету на 4, а потім на 25 Чи можете ви призначити обидва? Чому?
    Перелічіть процеси з їх пріоритетними значеннями.
    Яка команда контролює всі запущені процеси?

  20.   екк - сказав він

    Привіт, я хочу відключити sudo, як і я. Я отримую це:
    [sudo] пароль для xxx:
    xxx немає у файлі sudoers. Про цей випадок буде повідомлено.

    оскільки я його вимикаю, оскільки я використовую su в debian

    1.    давайте використовувати linux - сказав він

      Привіт ecc!

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

      Обійми, Пабло.

  21.   Бертольдо - сказав він

    Привіт. Я використовував команду температури жорсткого диска в Linux Mint: 'sudo hddtemp / dev / sda', він запитує пароль, і це дає мені очікуваний результат.
    але тоді при виконанні в тому самому терміналі 'hddtemp / dev / sda' він повідомляє мені, що дозвіл відмовлено.
    Отже, пільговий період не працює на мене, чому?

  22.   Бертольдо - сказав він

    Привіт блог.
    Я також виявив, що коли дистрибутив встановлений (наприклад: ubuntu, linux mint), він запитує пароль адміністратора.
    А в графічному інтерфейсі центру управління я використав опцію зміни пароля користувача.
    Отже, тепер, використовуючи "su -", він запитує пароль, який не є моїм поточним користувачем, а тим, яким я користувався, коли встановлював дистрибутив, який все ще є кореневим або адміністратором.
    Це призведе до того, що багато користувачів забудуть справжній пароль адміністратора.

  23.   Кендалл Давіла - сказав він

    Привіт, Ваше пояснення відмінне, дуже чітке, коротке та стисле. Дякуємо за вступ