Como defino as permissões para arquivos recém-criados?

1

Configurei o apache e o php e trabalhei em / var / www, por isso alterei a permissão dessa pasta para mim e para o acesso somente leitura dos usuários.

Mas quando eu crio novos arquivos usando o clique direito- > criam um documento, eles são criados com "sem direitos" para outros usuários e também para o meu grupo, enquanto a permissão da pasta é somente leitura para todos os usuários.

Como posso resolver?

Esta é a saída de ls -la / var / www

matteo@matteo-stable:~$ ls -la /var/www
totale 24
drwxrwsr-x  5 matteo matteo 4096 2011-12-17 13:55 .
drwxr-xr-x 18 root   root   4096 2011-12-17 14:03 ..
drwxrwsr-x  5 matteo matteo 4096 2011-12-18 19:34 CloudNotesCI
drwxrwsr-x  6 matteo matteo 4096 2011-12-11 19:52 CloudNotesLayout
-rw-rw-r--  1 matteo matteo   25 2011-12-11 20:26 info.php
drwxrwsr-x  7 matteo matteo 4096 2011-12-17 13:55 OldP
    
por Matteo Pagliazzi 18.12.2011 / 19:35

3 respostas

0

Eu encontrei a solução.

Minha umask é

022

para que cada novo arquivo forneça direitos de leitura e execução a todos os usuários e em meus grupos, como o que eu quero.

O problema estava nos meus arquivos de modelos que tinham permissão diferente, agora eu mudei eles funciona corretamente

    
por Matteo Pagliazzi 18.12.2011 / 20:02
1

Você precisa definir o "umask". Se você quiser fazer isso em todo o sistema, você pode alterar o valor em /etc/login.defs. Se você quiser fazer isso por usuário, faça isso em .profile de cada usuário.

Você pode verificar o umask atual, fornecendo o comando "umask" sem parâmetros. Pode ser algo assim:

0002

Com esse valor, os arquivos criados por você serão legíveis e graváveis para você e seu grupo, sendo legíveis apenas para todos os outros. Se você deseja criar arquivos que são graváveis pelo mundo (uma discussão sobre as implicações de segurança disso está fora do escopo aqui), altere a umask para 0000:

umask 000

como eu mencionei, para alterar isso persistentemente para o seu usuário, edite .profile, remova o comentário da linha contendo "umask 022" e altere o valor de acordo.

Leia uma excelente explicação sobre o significado dos valores de umask na Wikipédia:

link

    
por roadmr 18.12.2011 / 19:54
1

Que bom que você resolveu isso.

O diretório / var / www tem o bit "set group id" ou "setgid" ativado (o "s" em drwxrwsr-x). Assim, quando novos arquivos são criados dentro de / var / www, os arquivos pertencerão ao grupo do diretório e não ao grupo do usuário. Novos diretórios também pegam o grupo do diretório pai, e eles usarão o bit setgid. (Então, em algum momento, você fez um sudo chmod g+s /var/www .)

Eu postei alguns no ACL ...

Qual é a maneira mais simples de editar e adicionar arquivos a "/ var / www"?

Permissões de arquivo padrão para o usuário do php www-data

    
por user8290 18.12.2011 / 20:07