Chmod comando inválido, servidor Ubuntu

1

Estou tentando dar ao usuário tomcat8 acesso de gravação e leitura a uma pasta específica no meu servidor. Eu tentei este comando:

sudo chmod -R tomcat8 /usr/local/javaagent/appagent/ver2/logs/Tomcat1

No entanto, isso me dá

chmod: invalid mode: 'tomcat8'

Por que isso não funciona? Não é este o padrão chmod ?

    
por Mike Korza 31.07.2016 / 12:49

1 resposta

5

Você não pode fazer isso apenas com chmod . Você pode, no entanto, criar um novo grupo e alterar a propriedade do grupo do diretório, adicionar o usuário a esse grupo e, em seguida, fornecer ao grupo as permissões desejadas no diretório, para poder conceder privilégios a ele. apenas esse grupo.

Para criar um grupo tomcat e adicionar o usuário tomcat8 a ele:

sudo groupadd tomcat && sudo adduser tomcat8 tomcat

Você também pode adicionar a si mesmo (e qualquer outro usuário que precise ler o acesso de gravação aqui) ao grupo com sudo adduser [username] tomcat

Agora, altere a propriedade do grupo do diretório:

sudo chown :tomcat /usr/local/javaagent/appagent/ver2/logs/Tomcat1

Não se esqueça do cólon - isso é para alterar apenas a propriedade do grupo.

Agora altere as permissões, por exemplo, adicione permissões de leitura e gravação ao grupo da seguinte forma:

sudo chmod g+rw /usr/local/javaagent/appagent/ver2/logs/Tomcat1

Da sua pergunta, não tenho certeza do que você deseja que as outras configurações sejam. Eu recomendo ler man chmod e este guia para permissões para entender melhor o que você está fazendo.

Diretórios precisam executar permissões para serem inseridos e pesquisados, então você provavelmente deseja octal 775 (para que todos os usuários possam ler e pesquisar, mas somente o grupo possa escrever) ou 770 proprietário e grupo têm alguma permissão - mantendo o diretório privado)

Não use -R , pois é improvável que você queira que todos os arquivos tenham permissão de execução.

Você provavelmente deseja adicionar o bit setgid, para que os arquivos criados aqui por todos os usuários herdam a mesma propriedade do grupo que o diretório:

chmod g+s /usr/local/javaagent/appagent/ver2/logs/Tomcat1

Ou usando o octal em uma etapa:

chmod 2775 /usr/local/javaagent/appagent/ver2/logs/Tomcat1

que concede estas permissões:

drwxrwsr-x

(o s nessa posição é o bit setgid) ou

chmod 2770 /usr/local/javaagent/appagent/ver2/logs/Tomcat1

que dá

drwxrws---

Para verificar permissões e proprietários no diretório, use ls -ld :

ls -ld /usr/local/javaagent/appagent/ver2/logs/Tomcat1
    
por Zanna 31.07.2016 / 13:34