Quando eu ls -la
, ele imprime muitos atributos. Algo assim:
-rwSrwSr-- 1 www-data www-data 45 2012-01-04 05:17 README
Vergonhosamente, tenho que confessar que não sei o significado exato de cada atributo. Por exemplo, qual é o significado de grande S
na string -rwSrwSr--
? Qual é o seguinte 1
? Eu conheço os outros aproximadamente.
permissions
ls
Eonil
fonte
fonte
Respostas:
A documentação do
ls
comando responde a essas perguntas. Na maioria das variantes unix, consulte als
página do manual (man ls
ou online). No Linux, procure a documentação Info (info ls
) ou online .A letra
s
indica que o bit setuid (ou setgid, dependendo da coluna) está definido. Quando um executável é definido, ele é executado como o usuário que possui o arquivo executável, em vez do usuário que invocou o programa. A letras
substitui a letrax
. É possível que um arquivo seja configurado, mas não executável; isso é indicado porS
, onde a capitalS
alerta você que essa configuração provavelmente está errada porque o bit setuid é (quase sempre) inútil se o arquivo não for executável.Quando um diretório tiver permissões setuid (ou setgid), todos os arquivos criados nesse diretório pertencerão ao usuário (ou grupo) que corresponde ao proprietário (ou grupo) do diretório.
O número após as permissões é a contagem do link físico. Um link físico é o caminho para um arquivo (um nome, em outras palavras). A maioria dos arquivos tem um único caminho, mas você pode fazer mais com o
ln
comando (Isso é diferente dos links simbólicos: um link simbólico diz "ah, na verdade, esse arquivo está em outro lugar, vá para <location>".) Os diretórios têm N + 2 links físicos, onde N é o número de subdiretórios, porque eles podem ser acessados de seus pais, de si mesmos (através da.
entrada) e de cada subdiretório (através da..
entrada).fonte
$ ls /Users
retornadrws--S---+ 12 jdoe staff 408 Jul 9 2013 jdoe
x
permissão execute ( ).De acordo com
info coreutils ls
(o que pode não ser exatamente o que você tem):O número após a parte da permissão é o número de links físicos.
fonte
chmod g-x,g+s dir
Em termos (esperançosamente mais simples), isso significa. O diretório é setgid. Todos os arquivos criados lá pertencerão a esse grupo de proprietários dessa pasta.
No entanto, a pasta não é executável pelo grupo, portanto é mostrada em maiúscula S. Isso geralmente ocorre quando um diretório está sendo criado e o diretório termina como setgid.
Hm .. Não tenho certeza se isso realmente parecia inglês simples acima ..
fonte
É por causa do Executable está faltando
s -> 'x' está ativado S -> 'x' está desativado.
veja o exemplo abaixo
fonte