Просмотр разрешения /владельца полного дерева каталогов

Я помню, что делал что-то вроде «XXX /home /user /dir /child /file», и он возвратил владельца и /или разрешения:

/home
/home/user
/home/user/dir
/home/user/child
/home/user/child/file

Но я не помню, что это за команда. Кто-нибудь знает?

25 голосов | спросил please delete me 9 J000000Tuesday13 2013, 20:56:00

5 ответов


25

Команда могла бы быть:

namei -m /home/user/dir/child/file
ответил user59736 6 FebruaryEurope/MoscowbThu, 06 Feb 2014 15:10:27 +0400000000pmThu, 06 Feb 2014 15:10:27 +040014 2014, 15:10:27
25

Я думаю, вы могли бы подумать о команде tree. Например:

$ tree -pufid apps/glassfish3/ | less
apps/glassfish3
[drwxr-xr-x saml    ]  apps/glassfish3/bin
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/bin
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/config
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs/api
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs/api/doc-files
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs/api/javax
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs/api/javax/annotation
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs/api/javax/annotation/security
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs/api/javax/annotation/sql
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs/api/javax/decorator
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs/api/javax/ejb
[drwxr-xr-x saml    ]  apps/glassfish3/glassfish/docs/api/javax/ejb/embeddable
...
...

Вышеперечисленные переключатели выполняют следующие действия:

  • -p - разрешения
  • -u - имя пользователя /userid
  • -f - полный путь
  • -i - не печатать строки отступа
  • -d - только для печати каталогов

Ссылки

ответил slm 9 J000000Tuesday13 2013, 22:35:00
3

После того, как я дал ему несколько тысяч, я придумал этот

#!/bin/sh
l_path=$1
while [ "$l_path" != / -a "$l_path" != . ]; do
     ls -ld $l_path
     l_path=$(dirname -- "$l_path")
done

Результат выглядит следующим образом

-rw------- 1 tant tant 181016423 Jun 25 23:49:17 2013 /home/tant/test_file
drwxr-xr-x 85 tant tant 5632 Jul  9 19:40:11 2013 /home/tant
lrwxr-xr-x 1 root wheel 8 Sep  4 23:53:27 2012 /home -> usr/home

Я надеюсь, что это нормально, в обратном порядке.

На основе комментариев, вот способ перечислить из корня вниз:

#!/bin/sh
l_path=$1
while [ "$l_path" != / -a "$l_path" != . ]; do
     ls -ld $l_path
     l_path=$(dirname -- "$l_path")
done | sed '1!G;h;$!d'
ответил Raphael Ahrens 9 J000000Tuesday13 2013, 21:41:42
0

В каталоге которого вы хотите узнать разрешения и владельцев анонса:

for i in $(seq 0 $(pwd | tr -cd / | wc -c)) ; do pwd ; ls -lad ; cd .. ; done

Обратите внимание, что после этого вы будете в / :), если вы хотите вернуться туда, где вы были, команда внутри

HERE=$(pwd)
...
cd ${HERE}
ответил yPhil 23 MaramFri, 23 Mar 2018 02:15:47 +03002018-03-23T02:15:47+03:0002 2018, 02:15:47
-1

Команда, которую вы ищете для прав доступа к листингу, и владельцев /групп: ls -l .

Параметр

-l используется для длинного формата списка.

  

ls -l /путь /в /список

Кроме того, если вы хотите перечислить и скрытые файлы , добавьте параметр -a (all) .

  

ls -al /path /to /list

Кроме того, если вы хотите перечислить разрешения в подкаталогах , используйте параметр -R (рекурсивный) .

  

ls -Rl /path /to /list

В первом столбце отображаются разрешения (read (r), write (w), execute (x)) и некоторые специальные разрешения (каталоги (d), - (обычный файл)), а третий и четвертый столбцы показывают вам владельца файла /каталога и группы соответственно.

ответил dastergon 9 J000000Tuesday13 2013, 21:10:28

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132