Primeiro, os números são octal
numbers.
Deixe-me usar um exemplo para explicar o que todos eles significam.
Observe que setuid and setgid
(setuid - set user id e setgid - set group id) são feitos usando os números 4 and 2
onde sudo chmod 4775
irá change or set user id on the file or directory
quando sudo chmod setgid
for concluído.
Para files
que é ownwd por raiz e por grupo www-data, se você diz sudo chmod 6711 file
, várias coisas estão acontecendo:
- crie o arquivo
read/write/executable
para o proprietário (7) - crie o arquivo
executable
para o grupo (1) - torna o arquivo 'executável' para os outros (1)
- Em seguida, quando o arquivo for executado por qualquer outro que não seja
owner
, o arquivo será executado comoroot:www-data
, independentemente de quem executar o arquivo.
Em resumo, se você usar sudo chmod 6711
e outro usuário executar esse arquivo, ele será executado como se você (o proprietário) executasse o arquivo.
Para diretórios:
se você usar sudo chmod g+s
em uma pasta, todos os arquivos criados a partir daí herdarão o group
do original creator
que você não criou.
Nota: qualquer arquivo que já existir não herdará o novo grupo que você precisa fazer manualmente.
O mesmo acontecerá se você usar sudo chmod u+s
Temos o sticky bit
que é feito assim: chmod 1000 directory
ou chmod +t directory
.
Quando o bit adesivo é definido em um diretório, os arquivos nesse diretório só podem ser desvinculados ou renomeados por root ou pelo proprietário do diretório ou pelo proprietário do arquivo
Para mais informações, consulte aqui .