removido
(usa Nenhuma)
Enviado em 03/02/2020 - 20:08h
Eu não muito bom com permissões, sempre me bato um pouco para relembrar a metodologia..
Mas vamos com calma. Quem é o *dono* da pasta? Eu vou ter que simplificar o seu caso um pouco para poder explicar alguma coisa válida, depois você veja se deve configurar as permissções de cada pasta abaixo na hierarquia de acordo com os detalhes que mencionou (em uma pode escrever, na outra não etc).
Vou supor que o dono da pasta é o 'vagrant' e que o diretório '/vagrant/scripts' esteja mesmo na raiz do sistema..
Você está no grupo 'teste' e outros usuários que terão acesso a esse diretório de scripts também estão no grupo 'teste'.
Então, eu sempre começo configurando a posse do arquivo, nesse caso é um arquivo especial, um diretório, mas é um arquivo como qualquer outro.
(se o vagrant não for o dono do arquivo, o dono antigo deve mudar a posse do arquivo ou o usuário raiz)
CHOWN
$ chown -R vagrant:teste '/vagrant/scripts'
Aqui definindo o dono e o grupo do diretório recursivamente.
Agora só configurar as permissões para que os integrantes de 'teste' tenham acesso de leitura.
Aqui o melhor amigo é o 'man chmod'. Leia os cinco primeiros parágrafos da DESCRIÇÃO, que está tudo super bem explicado ali, as letrinhas..
Eu não uso referências octais pq ainda acho complicado.
CHMOD
$ chmod -R g=r,o= '/vagrant/scripts'
Aqui dando para o grupo (g) do arquivo permissão de leitura (r), e, para os outros (o), nenhuma permissão. O operador '=' faz com que outras configurações anteriormente feitas sejam perdidas para aquela nova. Ou seja, os usuário só terão as permissões escolhidas depois de '='.
No caso, o usuário (u) é o dono do arquivo e continuará com permissões de gravação, mas não precisa escrever implicitamente.
Em um eventual subdiretórios que tenha binários e vc deseje adicionar permissões de execução (x) e gravação (w) para o grupo, algo do tipo:
$ chmod g+xw /vagrant/scripts/subdir/*.sh
Estou usando o glob * aqui, mas os arquivos não podem ter espaço em branco no nome... Ou você pode usar um -R no subdiretório com os binários, acho que tb funciona!
O operador '+' adiciona novas permissões em cima das que já foram definidas para aquele grupo..
Extendendo..
Depois, podes verificar as permissões dos arquivos e pastas com o comando 'ls -l'.
Na coluna da esquerda, terá '----------'. Para ler corretamente, você deve separar por grupos:
'---- --- ---'
A primeira casa podes desconsiderar, ela indica se o arquivo é um diretório (d) ou não.
Os próximos grupos representam as permissões do dono (u no chmod), depois do grupo e depois dos outros.
d rwx rwx rwx
Neste caso, é um diretório e o dono, o grupo do diretório e os outros tem todas as permissões disponíveis.
drwx------
E neste acima, o diretório só tem permissões de leitura (r) gravação (w) e execução (x) para o dono
Para ver as permissões em valor octal:
stat /pasta/arquivo
e repare na linha Access