Что означает строка разрешений lrwxrwxrwx?

8

когда я перейду к /и введите команду:

ls -ls

Для некоторых файлов / папок это дает вывод как

0 lrwxrwxrwx.   1 root   root         7 Jan 30  2018 bin -> usr/bin

Так что же это на самом деле lrwxrwxrwx?

idaljeetsingh
источник
3
@Kulfy Я думаю, тот факт, что ОП ls -lв своем вопросе предполагает, что они уже знают, как просматривать разрешения. Их больше интересует значение вывода в данном конкретном случае символических ссылок. Поэтому я не думаю, что это подходящий дубликат
Сергей Колодяжный
Ответ @Serg g_p содержит информацию, которую ищет OP, но я согласен, что это не повторяющийся вопрос.
19
@Serg Дуплексные вопросы и ответы в целом ориентированы на значение разрешений. Если вопрос lwrxwrxwrx(см. /vmlinuz) Как этот является уникальным, будет ли вопрос dwrxwrxwrx(см. /tmp/) Также уникальным? Если каждая комбинация разрешений является уникальным вопросом, у нас может быть неописуемое количество того, что можно считать псевдо-дупсами. Например, «Что означают разрешения dr-xr-xr-xдля /procкаталога»? ,
WinEunuuchs2Unix
2
@ WinEunuuchs2Unix Хотя я согласен, что дублирование является общим и должно охватывать широкий диапазон, в том числе и этот, этот вопрос затрагивает конкретный тип файла, а набор разрешений lrwxrwxrwxтипичен для всех символических ссылок, ответ Занны очень подробно описан. Если вы чувствуете, что это должно быть описано в связанном дупле, не стесняйтесь либо опубликовать ответ, либо отредактировать существующие там.
Сергей Колодяжный
1
@ WinEunuuchs2Unix Это ошибка скользкого склона. Целью дубликатов является предоставление соответствующей информации, не охватывающей всего, и они не предназначены для того, чтобы люди не задавали похожие вопросы. Я уже высказал свое мнение - пост Занны здесь работает лучше, чем то, что описано в ссылке, и вопросы несколько отличаются. Остальное может решить сообщество
Сергей Колодяжный

Ответы:

14

Начальный lуказывает, что этот файл является символической ссылкой , в отличие от -которой указывает обычный файл, dкоторый указывает каталог и другие менее распространенные префиксы .

Символьная ссылка - это тип файла, который содержит только ссылку на другой файл. Чтение символической ссылки читает реальный файл. Запись в символическую ссылку пишет в реальный файл. cdобращение к символической ссылке на каталог приводит к тому, что поведение почти идентично тому, что произошло бы, если бы вы cdпопали в настоящий каталог.

Эти биты разрешения отображается rwxrwxrwx. Все символические ссылки показывают эти биты, но они являются "фиктивными разрешениями". Фактические (или эффективные) разрешения символической ссылки - это разрешения реального файла, на который она ссылается. Вы можете получить реальные разрешения (и тип файла), запустив statсимволическую ссылку, например:

$ stat -Lc '%a %A' /initrd.img
644 -rw-r--r--
  • stat читать метаданные файла
  • -L разыменовать (следовать) символические ссылки
  • -c выберите вывод в соответствии с указанной строкой
  • %a восьмеричные разрешения
  • %A «читабельные» разрешения
Занна
источник
1
Не нужно использовать readlink, просто используйте опцию -Lдля разыменования символических ссылок. Вы можете сделать stat -Lили ls -L.
wjandrea
2
lsТакже есть -Lвозможность перейти по ссылке.
Бармар
@ Бармар хорошая точка зрения :)
Занна
The actual permissions of a symlink are the permissions of the real file it links to. Хм, не совсем. Это должно быть перефразировано. Симлинки - это симлинки - вы уже упоминали, что они показывают фиктивные разрешения, которые показывают все симлинки, и фактический файл отличается от символической ссылки. Тем не менее, хороший и подробный ответ. +1 уже
Сергей Колодяжный
0

Команда ls -sl

Команда Linux ls= Список файлов в каталоге, в котором вы находитесь

Добавленный переключатель -sl= печать короткого списка

В результате этого примера часть вывода: lrwxrwxrwx

В моем кратчайшем объяснении будет: Первая буква, как правило, либо: l, dили -:

l = Ссылка на другой файл

d = каталог

- = файл

r = разрешение на чтение - чтение файла

w = разрешение на запись - запись или редактирование файла

x = выполнить разрешение Он может выполнить файл

- = нет разрешения

Number  Permission Type            `Symbol`
0         No Permission             `---`
1         Execute                   `--x`
2         Write                     `-w-`
3         Execute + Write           `-wx`
4         Read                      `r--`
5         Read + Execute            `r-x`
6         Read + Write              `rw-`
7         Read + Write + Execute    `rwx`

Вкратце: тип файла и права доступа и права владения и пользователя; привилегии, такие как Чтение и / или Запись, для каждого каталога или файла, указанного в выводе.

a lдля ссылки, dдля каталога или -для файла, и они устанавливаются операционной системой Linux. Вы не можете вручную изменить эти буквы (если вы не измените тип файла, конечно). (т.е. ... lrwxrwxrwx 1 root root 1024 Feb 13 09:45 myfile3)

Пожалуйста, обратитесь к: http://earthen.tripod.com/linuxper.htm Разрешения (Настройка режимов)

~ Сэмюэл Ф. Кэмпбелл

Сэмюэль Ф. Кэмпбелл
источник