Não é possível escrever na pasta em que meu usuário tem acesso de gravação

1

Antes de dizer qualquer coisa, sei como funciona a permissão para grupos e usuários.

Minha configuração é:

a. meu usuário é monkey e está no grupo www-data

groups monkey

monkey : monkey adm cdrom sudo dip www-data plugdev lpadmin sambashare

b. a pasta raiz do apache é /home/monkey/var/www e tem as permissões 0775 com o proprietário www-data e o grupo www-data

ls -la /home/monkey/var/www

total 8 drwxrwxr-x 2 www-data www-data 4096 Aug 12 10:37 . drwxr-xr-x 3 root root 4096 Aug 12 10:37 ..

c. Mas não consigo escrever em /home/monkey/var/www/

monkey@ubuntu:~$ cp robots.txt var/www/robots.txt

cp: cannot create regular file âvar/www/robots.txtâ: Permission denied

O arquivo robots.txt foi criado em monkey user.

O que estou perdendo?

    
por machineaddict 12.08.2014 / 10:11

2 respostas

3

suas permissões de pasta pai ( var definido como 755 e proprietário da raiz) limitam sua pasta filha. você precisa alterar suas permissões para var ou alterar o proprietário para www-data: www-data e perms para 775

EDITAR

depois de alguma escavação, o usuário precisa alternar o grupo com newgrp <group-name> antes de realizar qualquer operação. para retornar ao grupo padrão no shell, digite exit ou Ctrl + D

    
por AlexGreg 12.08.2014 / 10:19
1

O usuário tem um grupo principal e pode ter vários grupos adicionais. O grupo principal do usuário é definido como / etc / passwd, ou seja:

www-data:x:30:40:www-data:/var/www:/usr/sbin/nologin

diz que o usuário "www-data" é um membro do grupo 40.

Você pode adicionar usuários a grupos adicionais em / etc / group, mas quando você cria um arquivo, por padrão o sistema definirá o grupo principal como proprietário, não como um dos grupos adicionais. Alguns Unixes verificam se há um grupo de diretórios e, se o usuário for um membro desse grupo, o novo arquivo terá um proprietário de grupo tirado do diretório, não do usuário.

Então, quando você cria um arquivo, por padrão, você faz isso como um usuário 'macaco', grupo 'macaco'. E como a pasta é de propriedade:

  • usuário 'www-data', não por 'monkey' - permissões de usuário não são usadas
  • group 'www-data', não por 'monkey' - permissões de grupo também não são usadas
  • 'outras' permissões são usadas e t

Usando o comando newgr, você pode alternar seu grupo primário para um dos grupos adicionais, portanto, defina o proprietário do grupo para criar novos arquivos.

Usando o comando umask, você pode ajustar as permissões usadas para a criação de novos arquivos.

Isso ajuda agora?

    
por rsm 12.08.2014 / 11:26