Qual é a diferença entre + e = ao usar chmod?

5

Eu li tudo sobre chmod , mas eu não entendo algo. Se eu escrever chmod u=rwx file , isso me "afeta" em todos os direitos do arquivo, e se eu escrever chmod u+rwx file , isso "adiciona" todos os direitos sobre o arquivo, mas qual é a diferença entre + e = ?

    
por Valkas Ironhorn 21.08.2015 / 17:20

2 respostas

12

Como você está especificando todos os bits de leitura, gravação e execução, não há diferença.

A diferença vem se você especificar apenas alguns dos bits:

$ umask 022
$ touch afile ; ls -l afile
-rw-r--r-- 1 jackman jackman 0 Aug 21 11:23 afile
$ chmod u+x afile; ls -l afile
-rwxr--r-- 1 jackman jackman 0 Aug 21 11:23 afile*
$ chmod u=x afile; ls -l afile
---xr--r-- 1 jackman jackman 0 Aug 21 11:23 afile*
    
por glenn jackman 21.08.2015 / 17:24
8

das páginas do manual :

  

O operador + faz com que os bits de modo de arquivo selecionados sejam adicionados ao   pedaços de modo de arquivo existente de cada arquivo; - faz com que eles sejam removidos; e   = faz com que eles sejam adicionados e faz com que bits não mencionados sejam removidos, exceto que os bits de ID de grupo e de usuário não mencionados de um diretório são   não afetado.

    
por dagrha 21.08.2015 / 17:25