Как узнать, есть ли у данного пользователя права на чтение и/или запись для данного пути

Я должен начать с того, что считаю себя опытным пользователем. Но сегодня мне нужно было автоматизировать это, и я был в тупике.

Предположим, что я root, и поэтому я могу просмотреть всю файловую систему, но не могу запустить «sudo» или «su».

У меня есть данный пользователь и заданный путь.

Как через интерфейс командной строки проверить, сможет ли пользователь читать и/или записывать путь?

Я знаю, это звучит просто, но имейте в виду, что:

  • Мы не являемся и не можем стать пользователями.
  • Мы не можем полагаться только на разрешения для конечного каталога, так как разрешения выше по пути могут блокировать доступ к последнему каталогу.
  • В наш век унаследованных групп мы также не можем полагаться только на разрешения группы каталогов.

Я предполагаю, что это невозможно сделать с помощью какой-либо команды, и мне нужно сначала собрать все группы пользователей, затем пройти всю иерархию пути, проверить права на чтение по всему пути, а затем прочитать и записать для конечного каталога. Хотя звучит ужасно дорого.

8
задан Eduo 20 May 2012 в 18:29
поделиться