В → этой статье было рассмотрено, как установить на сервер 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. Как ей воспользоваться, можно узнать по → этой ссылке.