Я часто чув, що краще використовувати su root, а не входити безпосередньо як користувач root (і звичайно, люди також кажуть, що навіть краще використовувати sudo). Я ніколи не розумів, чому одне краще, ніж інше, прозріння?
Я часто чув, що краще використовувати su root, а не входити безпосередньо як користувач root (і звичайно, люди також кажуть, що навіть краще використовувати sudo). Я ніколи не розумів, чому одне краще, ніж інше, прозріння?
Відповіді:
Висновок - лише su
або sudo
коли потрібно.
У більшості повсякденних завдань не потрібна оболонка кореня. Тож добре використовувати непривілейовану оболонку як свою поведінку за замовчуванням, а потім підняти на корінь лише тоді, коли потрібно виконати спеціальні завдання.
Тим самим ви зменшуєте можливості для небезпечних помилок (поганого сценарію, неправильних скриптів тощо) та вразливості від будь-яких застосувань, якими ви користуєтеся. Особливо ті, хто підключається до Інтернету - дивіться старе прислів’я "Не IRC як корінь" .
sudo
часто рекомендується, оскільки він дозволяє вам дрібнозернисту та перевіряти використання таких пільг.
Дотримуючись цієї практики, ви також можете вимкнути віддалені кореневі реєстрації. Це збільшує смугу входу для будь-якого потенційного зловмисника, оскільки їм потрібно буде поставити під загрозу як звичайний обліковий запис користувача, який був членом групи "колеса", і в ідеалі лише авторизованими відкритими ключами SSH, а потім самим кореневим обліковим записом.
sudo
це перевершує, su
також дозволяє використовувати -m
прапор, щоб зберегти змінні середовища однаковими під час кореневого терміналу. Ніщо не спонукає мене до більшої кількості бонкерів, а потім su
трохи викорінювати, лише робити щось із ~
імені каталогу та не працювати.
Основна причина - створити аудиторський слід. Якщо вам потрібно увійти в систему як звичайний користувач, а потім su, можна простежити, хто відповідає за дані дії.
sudo також автоматично реєструє кожну команду в syslog, і ви можете визначити команди, які може використовувати кожен користувач.
sudo vim foo.txt
перехід на оболонку зсередини vim дасть вам кореневу оболонку без регулярного ведення журналу sudo.
sudo -i
отримати інтерактивну сесію ...
Якщо ви хочете створити аудиторський слід і не хочете стати жертвою проблем, зазначених тут «sudo su -» або «sudo vim foo.txt», ви можете використовувати «sudosh». Роздайте кореневий доступ через sudo, але зробіть єдино допустиму команду для запуску "sudosh".
sudosh - це оболонка журналу, і ви можете пізніше відтворювати весь сеанс терміналу, показуючи, що саме бачив користувач у своєму терміналі.
Ви повинні глибоко практикувати безпеку.
Заборонити віддалений кореневий доступ (або принаймні кореневий доступ через паролі). (якщо ви дозволяєте кореневий доступ за допомогою ключів, ретельно керуйте цими клавішами, а ще краще використовуйте щось на зразок kerberos, що дозволяє централізоване скасування ключів).
Я б відключив су і використав судо. Таким чином, користувачі використовують ключі (бажано зашифровані) для доступу до системи, а потім використовують свій пароль лише для ескалації привілеїв. Ви можете обмежити, до яких програм користувачі отримують доступ із судо, але в основному ви просто обмежуєте доступ до того, хто знає кореневий пароль.
В ідеальному світі ви повинні мати можливість публікувати свої кореневі паролі в Інтернеті, і це не має значення, навіть якщо ви давали людям доступ до вашої машини (але не поміщали їх у файл / etc / sudoers). Звичайно, ви не повинні публікувати кореневий пароль, але ідея полягає в тому, що ви захищаєте свої системи концентричними шарами захисту.
Якщо ви використовуєте root на регулярній основі, то ваші дозволи можуть бути помилковими, або вам може знадобитися надати права sudo або нову групову прав на r / w / x файли чи каталоги.
Хороші схеми дозволів - це те, що навіть давно користувачі Linux помиляються або не усвідомлюють сферу їх використання.
Навіть не запускайте мене з того, що зробив Ubuntu!