Как я могу использовать команду ls, чтобы узнать владельца и группу папки, а также какие права они имеют? [дубликат]

Только что полностью переключился с Windows на Ubuntu и счастлив.

У меня проблема; есть папка с именем / root . Я хочу знать, как я могу использовать команду ls , чтобы узнать владельца и группу, связанную с этой папкой, и какие права у них есть.

0
задан 22 January 2018 в 22:37

3 ответа

Интересно, почему это - "проблема". Каталог /root корневой каталог пользователя root, и Вы обычно ничего не должны делать в нем. Соответственно, это имеет, не выполняют разрешение для обычных пользователей, означая, что Вы не можете ввести его или перечислить его содержание. Это не вещи, которые необходимо изменить из соображений безопасности.

Так или иначе можно часто находить некоторое руководство на использовании команды путем выполнения

man command

В man ls Вы найдете

-d, --directory
       list directories themselves, not their contents

Сравните эффекты:

$ ls /root
ls: cannot open directory '/root': Permission denied
$ sudo !!
sudo ls /root
[sudo] password for zanna: 
snap
$ ls -d /root
/root

Я должен базироваться разрешение (полученный только для одной команды путем выполнения sudo command) перечислять содержание этого каталога, но не перечислять сам каталог. Поэтому я имею, выполняют разрешение на родительском каталоге /root, / (часто смутно названный корневым каталогом, поскольку это - "корень" файловой системы, от которой остальное отклоняется).

Подавляющее большинство каталогов в Вашей системе прочитало и выполняет разрешение для Вас по умолчанию. /root каталог является довольно исключительным в своих строгих полномочиях.

Также в man ls инструмент должен показать полномочия, но это нисколько не очевидно, какой это там, таким образом, Вы могли бы хотеть попытаться работать info ls, который показывает в разделе, объясняющем, какую информацию каждая опция вызывает, чтобы быть показанной, документация для -l опция:

‘-l’
‘--format=long’
‘--format=verbose’
     In addition to the name of each file, print the file type, file
     mode bits, number of hard links, owner name, group name, size, and
     timestamp (*note Formatting file timestamps::), normally the
     modification time.  Print question marks for information that
     cannot be determined.

Это все еще не очень ясно! Знаете ли Вы, что "биты режима файла" означает полномочия? Команда chmod сокращение режима изменения. Теперь Вы знаете. Поэтому давайте попробуем опции вместе. Я аннотировал вывод:

$ ls -dl /root       #note that the order of options does not matter here
drwx------ 8 root root 4096 Dec 17 14:06 /root
^ ^  ^  ^  ^  ^     ^    ^   ^   ^    ^     ^--file name
| |  |  |  |  |     |    |   |   |    |--last modified time
| |  |  |  |  |     |    |   |   |--day of month
| |  |  |  |  |     |    |   |--name of month *
| |  |  |  |  |     |    |--size
| |  |  |  |  |     |--group
| |  |  |  |  |--owner
| |  |  |  |--number of hard links to this file
| |  |  |--permission bits for "others" (any user/program)
| |  |--permission bits for group
| |--permission bits for owner
|--file type (d=directory)

*Зависит от настроек локали. При использовании неанглийской локали, можно получить английский вывод для любой команды путем выполнения LC_ALL=C ls -dl /root

Посмотрите тег Wiki для полномочий для получения информации о том, как интерпретировать "биты режима". ls -l отображает символьную нотацию для полномочий, где rДоступ =read, wДоступ =write, x=executable, и - не указывает ни на какое разрешение. Они имеют различные эффекты для каталогов и регулярных файлов. Для каталогов доступ для чтения позволяет содержанию каталога быть перечисленным если x бит полномочий это также установило, x бит позволяет каталогу вводиться, и w позволяет файлам в рамках каталога быть удаленными, созданными и переименованными если x бит также установлен. Это помогает помнить, что каталог является файлом, который хранит список файлов - вот почему Вы должны записать разрешение на каталоге, чтобы создать, переименовать или удалить его содержание - те действия изменяют список. Это разрешение также позволяет Вам записи силы другие изменения в файлах в каталоге все же.

Если мы только интересуемся владельцами и полномочиями, ls -l дает нам слишком много информации. Существует более гибкая команда для показа метаданных файла; это stat. Можно использовать его для списка владельца (%U) (u для пользователя - большинство утилит командной строки называет владельца файла пользователем. В chmod, например, u=owner и o=others - удостоверяются, что Вы не даете полномочия o когда Вы только хотите дать им u!), группа (%G), и полномочия списка в восьмеричной или символьной нотации:

$ stat -c "%U %G %a" /root
root root 700
$ stat -c "%U %G %A" /root
root root drwx------

Посмотрите man stat для многих других вещей stat может сказать Вам о файлах.

4
ответ дан 31 October 2019 в 03:54
ls -dl /root

Опция -d говорит, что вы хотите видеть информацию о самом каталоге, а не о файлах в нем.

Опция -l говорит, что дает длинный список, т.е. разрешения, владелец и группа. Первые три разрешения для владельца, вторые три для группы и третьи три для всех остальных.

1
ответ дан 31 October 2019 в 03:54

Для проверки полномочий вводят в командную строку:

ls -dl

Это перечислит Вас всех папки и файлы текущего пути, в котором Вы находитесь.

в начале каждой строки Вы будете видеть некоторые буквы. например: пример

Сначала обозначьте буквами = тип файла (здесь d = каталог / Папка) затем 3x3 буква для полномочий

  • сначала 3 буквы = полномочия владельца
  • вторые 3 буквы = полномочия группы
  • третьи 3 буквы = разрешение всех других

буквы являются rwx

  • r = прочитайте разрешение
  • w = запишите разрешение
  • x = выполните разрешение

если существует - разрешение не устанавливается/дается

в моем примере у владельца есть все полномочия, группа, и другим не разрешают записать (но читать и выполниться)

2
ответ дан 31 October 2019 в 03:54

Другие вопросы по тегам:

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