Что означает точка в конце `-rw-r - r -`? Как вы устанавливаете это с `chmod`?

105

Некоторые из файлов в моих каталогах под Linux имеют .в конце списка разрешений.

  • Что означает точка в конце -rw-r--r--?
  • Как вы устанавливаете это chmod?
Даррелл Дуэйн
источник

Ответы:

36

У меня такой же вопрос. Мне потребовалось некоторое время, чтобы найти это, пролистав страницу «man ls» сто раз (ну, может быть, не так часто), пока я, наконец, не увидел заметку в разделе СМ. ТАКЖЕ об использовании команды:

 info coreutils 'ls invocation'

В разделе, описывающем «-l» (--format = long):

 Following the file mode bits is a single character that specifies
 whether an alternate access method such as an access control list
 applies to the file.  When the character following the file mode
 bits is a space, there is no alternate access method.  When it is
 a printing character, then there is such a method.

 GNU `ls' uses a `.' character to indicate a file with an SELinux
 security context, but no other alternate access method.

 A file with any other combination of alternate access methods is
 marked with a `+' character.
Алан
источник
11

Это означает, что файл имеет список доступа с SELinux. Ознакомьтесь с этой темой, в которой рассказывается, как разрешить вам редактировать / изменять файл http://ubuntuforums.org/showthread.php?t=1315684

Джон
источник
Это не работает для меня
Йозеф Климук
11

Это контекст SELinux. Пытатьсяls -Z /your/file

Цитируя мой man ls

   SELinux options:

   --lcontext
          Display security context.   Enable -l. Lines will probably be too wide for most displays.

   -Z, --context
          Display security context so it fits on most displays.  Displays only mode, user, group, security context and file name.

   --scontext
          Display only security context and file name.

Чтобы изменить это, попробуйте одну из следующих команд: chconили semanage fcontextилиrestorecon

Довольно аккуратно объяснено здесь: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_SELinux-SELinux_ilests

Пик Мастер
источник
2

Скорее всего, это связано со списком контроля доступа (ACL), хотя я видел их только +как в rw-rw-rw-+. Возможно, это .означает отсутствие ACL в этом файле.

Вы можете попробовать набрать getfacl .в текущем каталоге, чтобы увидеть, какие элементы управления доступом могут иметь эти файлы.

SiegeX
источник
3
Нет, точка не означает отсутствие ACL - см. Другие ответы
Linker3000