/ etc / shadow - як він може бути відредагований, коли він тільки читається


4

Я намагаюся змінити вміст файлу / etc / shadow, але зрозуміти, що він доступний лише для читання

sghk1> ls -l /etc/shadow
-r--------   1 root     sys         4045 Aug 19 16:13 /etc/shadow

Дозвіл файлу / etc / shadow доступний лише для читання. у цьому випадку, як змінює вміст / usr / bin / passwd?

e.g. passwd -x 30 username

Відповіді:


5

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

The passwd Утиліта має набір бітів setuid. Переглянути з:

ls -la /usr/bin/passwd

Це має виглядати так:

-rwsr-xr-x 1 root root 42824 Sep 13  2012 /usr/bin/passwd

Зверніть увагу на s у дозволі власника файлу. Це вказує на setuid біт . Якщо звичайний користувач зараз виконує passwd утиліта, вона виконується з дозволу власника файлу; в даному випадку корінь.

Біт setuid отримує тимчасово підвищені привілеї для виконання певного завдання, наприклад, зміни речей у системних файлах, наприклад /etc/shadow або /etc/passwd.

Біт setuid повинен оброблятися обережно. Цей механізм може бути використаний для декількох уразливостей, якщо вони встановлені на неправильній двійковій системі. Уявіть собі /bin/bash утиліта встановила б біт setuid; так що кожен користувач системи може запустити кореневу оболонку!


Я намагався редагувати файл / etc / shadow безпосередньо за допомогою vi з: wq, але я не можу це зробити. помилка вона показує "тінь" Файл читається тільки так, як / usr / bin / passwd вміє записувати в файл?
Noob

1
@Noob Це редактор, який намагається попередити, що ви редагуєте лише файл читання (файл без w прапор). Використовуйте :wq!. vi повинні прийняти це.
chaos

що робить! фактично мали на увазі у цьому сенсі, я завжди подумав! це використання з q, що означає вийти без збереження.
Noob

1
@Новачок :q! змушує вийти, не зберігаючи, :w! заощаджує навіть тоді, коли файл призначений лише для читання. :wq! є таким же, як :w! + закрити редактор.
chaos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.