Каква е разликата между sudo и su?

Преди няколко дни получих запитване от Мигел, редовен читател на блогове и компулсивен коментатор, относно каква точно е разликата между Sudo y su. По-специално, Мигел беше загрижен за това дали единият метод е по-сигурен от другия. Случва се, че бях прочел там това sudo не беше достатъчно безопасен и исках да знам повече. Това е друга публикация, посветена на тези, които поискаха още статии за терминални загадки.

Su

Програмата su Позволява ви да използвате обвивка на друг потребител, без да излизате от текущата сесия. Често се използва за получаване на root права за административни операции, без да се налага да излизате и да влизате отново. Някои среди на работния плот, включително GNOME и KDE, имат програми, които графично изискват парола, преди да позволят на потребителя да изпълни команда, която обикновено изисква такъв достъп.

Името su идва от английски sубиец ube (заместващ потребител). Има и такива, които го карат да произтича от superuser (суперпотребител, т.е. потребител на root или администратор), тъй като обикновено се използва за приемане на ролята на системен администратор.

Когато тичаш, su Той иска паролата на акаунта, до който искате да влезете, и ако бъде приет, той дава достъп до този акаунт.

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

Като не поставите потребител, той е достъпен като администратор. Възможно е обаче да се предаде и друго потребителско име като параметър.

[guy @ localhost] $ su mongo Парола: [mongo @ localhost] # изход за излизане [guy @ localhost] $

След като въведете паролата, можем да изпълняваме командите, сякаш сме другият потребител. Писмено изход, ние се връщаме към нашия потребител.

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

Сисадминът трябва да бъде много внимателен при избора на парола за root / администраторския акаунт, за да избегне атака от работещ непривилегирован потребител su. Някои подобни на Unix системи имат потребителска група, наречена колело, който включва единствените, които могат да изпълнят su. Това може или не може да намали опасенията за сигурността, тъй като нарушителят може просто да поеме един от тези акаунти. Той su GNU обаче не подкрепя използването на тази група; това беше направено по философски причини.

Sudo

Свързана команда, наречена Sudo, изпълнява команда като друг потребител, но спазвайки поредица от ограничения относно това кои потребители могат да изпълняват кои команди от името на кои други потребители (обикновено се посочват във файла / и т.н. / sudoers).

От друга страна, за разлика su, Sudo подканва потребителите за собствена парола вместо необходимия потребител; Това позволява делегирането на команди на потребители на други машини, без да се налага да споделят пароли, намалявайки риска от оставяне на терминали без надзор.

Судо проблеми: гратисният период

Предимството на Sudo с уважение към su е, че той изпълнява само исканата команда, представяйки се за другия потребител, без всъщност да променя текущия потребител. Това предполага, че човек може да изпълни команда като администратор и в следващата секунда той ще има привилегиите на потребителя, който е използвал преди ... или почти.

Някои виждат като нарушение на сигурността факта, че Sudo предоставят „гратисен период“, който позволява на потребителя да изпълнява команди като друг потребител, без да е необходимо многократно да въвежда sudo пред командата и паролата след изпълнението им. След този "гратисен период", Sudo ще ни попита паролата отново.

Това е "лошо", по същество, защото някой може да поеме компютъра ни след въвеждане на паролата за sudo и докато е активен "гратисният период", направете КАТАСТРИСТА

За щастие е възможно да деактивирате „гратисния период“, което ще подобри сигурността на вашата система. Просто добавете един ред във файла / и т.н. / 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 е инсталиран по подразбиране без root потребител, просто стартирайте

    "Sudo passwd корен"

    въведете паролата, потвърдете я и след това
    "Su корен"
    за операции по поддръжка, в допълнение към избягването на поставяне на sudo при всяка поръчка.

    По принцип в Ubuntu главният акаунт се премахва, за да не влизате винаги с този акаунт, но тъй като ми беше даден съвет почти с тона, че използването на sudo е кощунство, за всеки случай, че съм го последвал.

  3.   Nill указател каза той

    Можете да осъществите достъп до файла / etc / shadow и да промените хеша на коренната парола на нормалния хеш на паролата на потребителя и след това да промените паролата за корен ??? Друг път опитвам същото ...

  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.   шеф каза той

    Благодаря ви, както винаги голям принос. Ние го оценяваме.

  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.   якардис каза той

    Уважаеми, трябва да направя TP за Linux и трябва да отговоря на няколко прости въпроса. Може би те могат да ми помогнат. Благодаря от сега:

    Каква команда е тази, която ни позволява да инсталираме / изтриваме / модифицираме debian пакети?
    Каква е командата, която ни позволява да управляваме по-лесно инсталацията
    пакети в debian?
    Каква е командата, за да можете да инсталирате пакетите rpm?
    Каква опция използваме, за да деинсталираме пакет?
    Каква е директорията, в която се намират yum хранилищата?
    За какво е 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 -", той иска парола, която не е тази на текущия ми потребител, а тази, която използвах, когато инсталирах дистрибуцията, която все още е root или администраторски потребител.
    Това би довело до това, че много потребители забравят истинската администраторска парола.

  23.   Кендъл Давила каза той

    Здравейте, вашето обяснение е отлично, много ясно, кратко и кратко. Благодаря за приноса