У мене є користувач з обмеженим доступом у системі (тобто він не судоер); назвемо його Боб .
У мене є скрипт або двійковий файл, якому я, системний адміністратор, довіряю, і не маю жодних проблем запустити його як root; назвемо сценарій get-todays-passphrase.sh
. Завдання цього сценарію полягає в тому, щоб читати дані з "приватного" (належить користувачеві / групі, крім Боба, або навіть кореневого) файлу, розташованому в /srv/daily-passphrases
, і виводити з файлу лише певний рядок: рядок, який відповідає сьогоднішній даті .
Користувачі , як Боб НЕ дозволено знати завтрашню фразу, навіть якщо він вказаний у файлі. З цієї причини, файл /srv/daily-passphrases
захищений правами Unix, так некореневим користувачі , як Боб НЕ має права доступу до файлу. Однак їм дозволено запускати get-todays-passphrase.sh
сценарій у будь-який час, що повертає "відфільтровані" дані.
Підводячи підсумок (версія TL; DR ):
- Боб не може прочитати захищений файл
- Сценарій може читати захищений файл
- У будь-який час Боб може запустити сценарій, який може прочитати файл
Чи можливо це зробити в межах дозволів файлів Unix? Або якщо Боб запустить сценарій, чи завжди сценарій буде приречений працювати з тими ж дозволами, що й Боб?