Problema ao compreender permissões de arquivo

1

Eu tenho um problema em entender alguns aspectos das permissões de arquivo. A situação é esta:

Eu criei um diretório como / to usando o sudo e alterei suas permissões para drwxrwsr-x. Eu também mudei o grupo para o diretório para "xxx", que existe no meu sistema. Eu sou um membro em boa posição do grupo "xxx". Meu entendimento é que eu deveria ser capaz de criar arquivos e diretórios em / to desde que eu seja um membro do grupo "xxx".

No entanto, quando executo o comando a seguir, obtenho permissão negada ao tentar criar cada arquivo e diretório em / to .

cp -r from/* /to

O que não estou entendendo sobre essa situação? Obviamente, posso corrigir essa instância específica com o sudo ou alterando o proprietário, mas quero entender os princípios.

Saída de comando

jgossage@Hector:~$ cp -r Downloads/* /Downloads
cp: cannot create directory /Downloads/Eclipse': Permission denied
cp: cannot create regular file /Downloads/google-chrome-stable_current_amd64.deb':
Permission denied
cp: cannot create directory /Downloads/Kindle': Permission denied
cp: cannot create directory /Downloads/WindowsDlls': Permission denied
#Target directory information
jgossage@Hector:~$ ls -al /Downloads
total 8
drwxrwsr-x 2 root admins 4096 Feb 13 07:16 .
drwxr-xr-x 28 root root 4096 Feb 14 08:23 ..
jgossage@Hector:~$
    
por Jonathan 14.02.2013 / 20:42

1 resposta

0

Olhando para as permissões que você definiu, não creio que tenha concedido permissões de "outros" para gravar no diretório. Olhando para as permissões que você concedeu

drwxrwsr-x

Tenho certeza de que isso se divide:

type: d
owner: rwx (Read/Write/Execute)
group: rws (Read/Write/Special)
all/others: r-x (Read and Execute)

Como a pasta foi criada como root (sudo), somente o usuário root tem acesso para gravar na pasta (embora, como usuário, você possa ler o conteúdo do diretório).

Eu acho que para corrigir o problema, você deve ser capaz de executar:

sudo chmod o+w /to

Substituindo naturalmente / to pelo nome / caminho real da pasta. Isso dará a ALL usuários acesso de gravação à pasta, o que provavelmente não é o ideal. Como alternativa, você pode apropriar-se da pasta (e de todos os arquivos da pasta):

sudo chown -R jgossage /to

Novamente substituindo / to pelo nome / caminho real da pasta. Isso deve manter as permissões do diretório iguais (drwxrwsr-x), o que significaria que o proprietário teria permissões de leitura / gravação / execução, mas outros usuários teriam apenas permissões de leitura e execução.

    
por Mo D 12.02.2014 / 14:34