Есть ли способ вывести целое владение каталога и режимы, рекурсивно, на Linux

Принятие Вас Использует через веб-сервер:
Можно поместить следующую функцию в сценарий:

<?php 
phpinfo(); 
?>

Если это не работает, это могло бы быть, потому что эта функция отключена в php.ini. Это часто делается для безопасности. Если это верно, у Вас будет строка в Вашем php.ini как:

disable_functions = phpinfo

Если это верно, временно измените его на

disable_functions =

Если Вы Используете php для Сценариев оболочки:

  1. Должна быть 'строка хижины' наверху, что-то как

    #!/usr/local/bin/php-q

  2. Вы - верный, не ссылка smybolic на другой? сделать

    ls-l/usr/local/bin/php

  3. Не делать ;-)

0
задан 20 August 2010 в 11:39
3 ответа

Вы могли сделать это при помощи сценария.

1) Выведите каталоги (имена) в файле. 2) Использовать find path -type d (Это должно распечатать каждый каталог под путем). 3) Найдите общие элементы и примените ls-lah

Грязный способ сделать это. Это рекомендуется, только если Вы отчаянные:>

Также можно найти полезным find . -type d -print0 {} \; | xargs ls -lah

1
ответ дан 4 December 2019 в 15:10
  • 1
    Не используйте ls, используйте находку GNU -printf опция, это дает Вам полный контроль над форматом печати. –  Gilles 'SO- stop being evil' 20 August 2010 в 13:43
  • 2
    я сделал это, потому что это - типичный формат, который можно передать xargs. в любом случае, спасибо за информацию:> –  Nikolaidis Fotis 20 August 2010 в 14:18
  • 3
    Да, я предполагаю, что это - способ пойти... Объединенный с полезным awk weeheavy '{печатают "chown "3$"": 4$, 8$}' для восстановления. –  Drasko 20 August 2010 в 15:30

Можно использовать getfacl инструмент (часть acl пакета), чтобы вывести и восстановить и нормальные полномочия Unix и acls:

Использовать getfacl -R разгрузить acls в файл и использование setfacl --restore=file восстановить их:

   --restore=file
       Restore a permission backup created by 'getfacl -R' or similar. All
       permissions of a complete directory subtree are restored using this
       mechanism.  If the input contains owner comments or group comments,
       setfacl attempts to restore the owner  and  owning  group.  If  the
       input contains flags comments (which define the setuid, setgid, and
       sticky bits), setfacl sets those three bits accordingly; otherwise,
       it  clears  them.  This  option  cannot be mixed with other options
       except '--test'.

Это работает, даже если у Вас не будет набора acls - то инструмент выведет и восстановит стандартные полномочия фс Unix. Это будет также работать, если Ваша файловая система не будет иметь поддержки acl включенной (это - опция монтирования не по умолчанию для большинства файловых систем все еще),

1
ответ дан 4 December 2019 в 15:10

Солярис имеет преимущество здесь, поскольку ему назвали хорошую команду pkgproto.

Но Вы могли использовать что-то как

find /home/elao/ -type d | xargs ls -lnd | awk '{print "chown "$3":"$4,$8}'
0
ответ дан 4 December 2019 в 15:10
  • 1
    ls-lnd файлы списков способные прокси с владением UID, которого я хочу избежать, потому что весь UIDs будет изменен после обновления из-за idmap изменения бэкенда. Это awk сделает задание для восстановления с одним небольшим изменением: awk '{печатают "chown "3$"": 4$, $NF}' (на хинду столбце имени файла не является 8-м, но 9-м). Спасибо за быстрый ответ! –  Drasko 20 August 2010 в 15:35
  • 2
    , которого я вижу теперь, почему Вы не хотите UIDs.Не за что. –  weeheavy 20 August 2010 в 16:34

Теги

Похожие вопросы