'+' e 's' em cadeias de permissão

0

Se o comando ls -l me der uma string de permissão como

rwsr-s--x

O que isso significa? As únicas fontes que encontrei mencionam que pode estar presente às vezes, mas não elaborar.

O que significa '+' em vez de '-'? Eu encontrei menções de 'permissão estendida' mas nada claro.

    
por Ferduun 02.06.2015 / 00:03

2 respostas

2

Conforme explicado pela muito boa e abrangente página da Wikipédia sobre o assunto :

+ (plus) suffix indicates an access control list that can grant additional permissions. Details are available with man getfacl.

Além disso, existem três tríades de permissão:

  • First triad : what the owner can do
  • Second triad : what the group members can do
  • Third triad : what other users can do

Quanto aos personagens da tríade:

  • First character
    • r : readable
  • Second character
    • w : writable
  • Third character
    • x: executable
    • s or t: executable and setuid/setgid/sticky
    • S or T: setuid/setgid or sticky, but not executable

O setuid / setgid basicamente significa que, se você tiver permissão para executar o programa, você o executará como se você fosse o usuário proprietário e / ou do grupo proprietário desse programa. Isso é útil quando você precisa executar um programa que precisa de acesso root, mas também precisa trabalhar para usuários não-root (para alterar sua senha, por exemplo).

O sticky bit pode ter um significado diferente, dependendo do sistema ou do sabor que você está exibindo e da idade dele, mas em linux , a página da wiki afirma que:

[...] the Linux kernel ignores the sticky bit on files. [...] When the sticky bit is set on a directory, files in that directory may only be unlinked or renamed by root or the directory owner or the file owner.

    
por 02.06.2015 / 00:26
4

Consulte Noções básicas sobre as permissões do UNIX e seus atributos para uma explicação do s .

+ aparece após as permissões padrão e é um dos possíveis caracteres usados para indicar que o arquivo tem "métodos de acesso alternativos". Com o GNU ls o caractere pode ficar em branco (o padrão), . para indicar um contexto de segurança aplicável ao arquivo ou + para indicar qualquer outro método de acesso alternativo, geralmente ACLs (que você pode ver usando getfacl ).

POSIX define a posição como usada para o sinalizador de método de acesso alternativo, mas possíveis valores são deixados para cada implementação:

The optional alternate access method flag shall be the empty string if there is no alternate or additional access control method associated with the file; otherwise, it shall be a string containing a single printable character that is not a blank.

    
por 02.06.2015 / 00:17