Adicionando sudo a um comando find: o que isso muda?

0

Qual é a diferença entre a saída deste 2 comandos

find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;

e

sudo find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;

?

    
por abu abu 09.06.2017 / 06:44

3 respostas

3

Os comandos são semelhantes. O find adicionará permissões de gravação de grupo a todos os arquivos regulares nos diretórios var , vendor , pub/static , pub/media e app/etc no diretório atual.

O segundo comando executará o comando find com privilégios escalados (como root). Isso pode ser necessário para alterar permissões em arquivos com chmod se alguns dos arquivos pertencerem a um usuário que não seja seu usuário comum (o usuário executando a linha de comando) ou se esse usuário puder ' t acessar todos os arquivos nesses diretórios ou abaixo, devido às permissões de acesso nos diretórios.

    
por 09.06.2017 / 07:05
2

Veja man sudo :

sudo, sudoedit — execute a command as another user

Como você não especifica um nome de usuário para o sudo no seu exemplo (por exemplo, sudo -l anotheruser ), ele executa o comando como a raiz do usuário por padrão.

Então a diferença é que o primeiro comando é executado com as permissões de usuário do terminal atual, o segundo comando é executado com as permissões do usuário root .

Para mais detalhes, veja a página de manual do sudo .

    
por 09.06.2017 / 06:59
0

find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;

Pode não ser permitido procurar em alguns diretórios Você receberá uma exceção: find: ‘XXX’: Permission denied O segundo cmd usa sudo para estender as permissões de pesquisa

    
por 09.06.2017 / 06:59

Tags