Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Как вывести дерево каталогов с правами, группой и пользователем с помощью команды tree

В → этой статье было рассмотрено, как установить на сервер Debian команду tree, которая упрощает работу с файловой системой удалённого компьютера из консоли. Ниже рассмотрим, как можно воспользовавшись этой командой, получить не просто дерево каталогов и файлов, а отобразить это дерево с разрешениями, указанием группы пользователей и пользователя-владельца папок и файлов, находящихся в этом дереве. Данные опции команды tree ещё больше упрощают восприятие архитектуры файловой системы на удалённом сервере.



tree -u — просмотр дерева каталогов и файлов с указанием владельца файла/каталога

Посмотрим внимательно мануал (tree --help). Для выдачи дерева каталогов и файлов с указанием владельца файла/каталога нам нужна опция:

-u            Displays file owner or UID number.

Запомнить просто: -u скорее всего от английского слова user.

В итоге получим такой вывод дерева:

root@server:/var/www# tree -u
.
├── [root    ]  amorale
│   └── [root    ]  data
└── [root    ]  html
    └── [root    ]  index.html

3 directories, 1 file

tree -g — просмотр дерева каталогов и файлов с указанием группы владельца файла/каталога

Для того, чтобы вывести дерево каталогов и файлов с указанием группы владельца файла/каталога с помощью команды tree, нужно использовать опцию -g (видимо от английского group).

Читаем мануал:

-g            Displays file group owner or GID number.

Так как группа и владелец у данного дерева root, то результат будет идентичен предыдущему, но мы то знаем, что root в нём уже не обозначение пользователя, а обозначение группы:

root@server:/var/www# tree -g
.
├── [root    ]  amorale
│   └── [root    ]  data
└── [root    ]  html
    └── [root    ]  index.html

3 directories, 1 file

tree -p — просмотр дерева каталогов и файлов с указанием правд доступа файлов/каталогов

Также полезной информацией будет информация о правах работы с папками и файлами, находящихся в дереве каталогов. Для того, чтобы их отобразить с помощь команды tree, нужно применить опцию -p (скорее всего от английского слова permission, а может быть protections). В мануале на нерусском языке написано:

-p            Print the protections for each file.

Если вывести эту команду, то получим удобное для просмотра дерево с правами на папки и файлы:

root@server:/var/www# tree -p
.
├── [drwxr-xr-x]  amorale
│   └── [drwxr-xr-x]  data
└── [drwxr-xr-x]  html
    └── [-rw-r--r--]  index.html

3 directories, 1 file

tree -ugp — просмотр дерева каталогов и файлов с указанием всей необходимой информацией о них

Ну и теперь последний штрих. Обычно требуется знать и пользователя-владельца, и его группу, и права на папки и/или файлы. Для этого соберём всё воедино и получим всё в одном месте:

root@server:/var/www# tree -ugp
.
├── [drwxr-xr-x root     root    ]  amorale
│   └── [drwxr-xr-x root     root    ]  data
└── [drwxr-xr-x root     root    ]  html
    └── [-rw-r--r-- root     root    ]  index.html

3 directories, 1 file

Тут нужно обратить снимание на, что, что команды были в последовательности -ugp, выдача tree всё равно идёт: сначала права, потом всё остальное.

P.S.

Другим способом посмотреть структуру прав на папки и файлы, не используя команду tree, будет встроенная команда ls с опцией -l. Как ей воспользоваться, можно узнать по → этой ссылке.

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )