Questão O que significa o ponto no final de "-rw-r - r -"? Como você define com `chmod`?


Alguns dos arquivos em meus diretórios no Linux têm . no final da listagem de permissões.

  • O que significa o ponto no final de -rw-r--r--?
  • Como você define isso com chmod?

89


origem




Respostas:


De acordo com ls.c (linha 3785), . significa um SELinux ACL. (+ significa um ACL geral.)


96



@taspeotis: O OP originalmente postou isso no SO, então parece que ele chamou a atenção dos programadores também. :-P - Chris Jester-Young


Eu tive a mesma pergunta. Levei um tempo para encontrar isso, tendo visitado a página "man ls" cem vezes (bem, talvez não com tanta frequência) até que finalmente vi a nota na seção VEJA TAMBÉM sobre o uso do comando:

 info coreutils 'ls invocation'

Na seção que descreve "-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.

33





Isso significa que o arquivo tem uma lista de acesso com o SELinux. Confira este tópico, ele diz como permitir que você edite / altere o arquivo http://ubuntuforums.org/showthread.php?t=1315684


10



Isso não funciona para mim - Josef Klimuk


Este é o contexto do SELinux. Experimentar ls -Z /your/file

Citando meu 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.

Para mudar isso, tente um destes comandos: chcon ou semanage fcontext ou restorecon

Muito bem explicado aqui: https://access.redhat.com/documentation/pt-BR/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_SELinux-SELinux_Contexts_Labeling_Files.html


7





O mais provável é que isso se deva a uma lista de controle de acesso (ACL) embora eu só tenha visto eles mostrados como + como em rw-rw-rw-+. Talvez o . significa a falta de uma ACL nesse arquivo.

Você pode tentar digitar getfacl . no diretório atual para ver quais controles de acesso esses arquivos podem ter.


1



Não, o ponto não significa falta de ACLs - veja outras respostas - Linker3000