Existem basicamente duas coisas:
1) permissões nos arquivos e diretório que já existem:
A resposta de Alan cobre principalmente isso: crie um grupo especial ao qual você adiciona todos os usuários que possam precisar gravar os arquivos. Certifique-se de que o diretório em que você está enviando seja ele próprio gravável para esse grupo: chmod 0775 path/to/the/directory
. Quaisquer arquivos existentes precisarão de chmod 0664
.
Os números "mágicos" são octal e representam trios: setuid, permissões de proprietário, permissões de grupo, permissões mundiais. O setuid não é de seu interesse, mantenha 0
. para os outros, o número octal (0-7) informa as permissões: se o 0º bit estiver ligado, o arquivo / diretório é executável (para o diretório significa que ele pode ser digitado), se o primeiro bit estiver gravado, o 2º bit é gerenciar legibilidade - por exemplo 0754
significaria que o proprietário tem todas as permissões, os membros do grupo podem ler e executar, e o resto do mundo só pode lê-lo. Você pode escrever o mesmo com mnemônicos como este: chmod u=rwx,g=rx,o=r
. Veja man chmod
um sistema Linux para explicação detalhada.
2) permissões em arquivos recém-criados:
Procure a configuração umask
em qualquer que seja o envio. Isso diz com quais permissões novos arquivos são criados. Novamente, veja man umask
no sistema Linux / UNIX, a idéia é que quaisquer bits definidos em umask
(a mesma notação que para chmod
explicada acima) são excluídos das permissões em arquivos recém-criados - por exemplo, se você definir umask
to 0023
, seus arquivos serão criados com todas as permissões, não graváveis para o grupo padrão e não graváveis nem executáveis por qualquer outra pessoa. Geralmente é uma má idéia definir o 0º bit aqui, já que na criação do diretório torna-o não executável que bloqueia a entrada do diretório (para o conjunto de usuários para o qual o bit está configurado, no 0023
example para " qualquer outra pessoa ").
Além disso, pode valer a pena atribuir ACLs padrão ao diretório, se o sistema de arquivos subjacente os suportar. Isso permitiria um controle de acesso mais refinado (ACL significa Access Control List, semelhante ao Windows One). Veja man setfacl
para mais informações.
AVISO DE GRANDE GORDURA: Não é uma boa ideia tornar os arquivos mundialmente graváveis! Mantenha os direitos no mínimo que funciona.