Permissão negada, mas permissões de grupo ficam bem no redhat

7

Eu tenho um usuário ftpadmin:

-bash-3.2$ id ftpadmin
uid=10001(ftpadmin) gid=2525(fsg) groups=2525(fsg),10005(git)

O grupo importante a ser observado é "git"

Então eu tenho meu repositório git:

ls -al
drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

Então o ftpadmin é um membro do git, e o git deu todas as permissões para as pessoas do grupo. Por que eu vejo isso quando faço login como ftpadmin:

-bash-3.2$ ls -al /home/git/
ls: /home/git/fsg: Permission denied
...

Parece que eu deveria ter permissão ...

Atualizar As permissões em / home / git são

drwxrw-rw-   6 git      git          4096 Apr 26 09:20 git

ainda parece ser bom ...

Atualizar Novas permissões em / home / git são:

drwxrwxrw-   6 git      git          4096 Apr 26 09:20 git

As permissões em / home / git / fsg são:

drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

No entanto, ainda recebo

ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied
    
por Tony 07.05.2010 / 18:45

4 respostas

9

Queria dar mpez0 a +1 especificamente, por sua resposta "Você precisa do grupo" x "bit definido no diretório para permitir pesquisas de grupo. As permissões" rw- "permitem abrir um arquivo dado seu nome (r) ou criando um arquivo (w), mas não listando ou pesquisando os arquivos (x). "

É tão fácil esquecer, e sua solução está enterrada no meio. Este é definitivamente um problema para novos usuários de Linux com relação a permissões de arquivos / diretórios para usuários e grupos.

Tudo o que Avery disse estava certo no dinheiro, mais uma vez gostaria de poder lhe dar um +1 também.

Figura outro exemplo mais detalhado pode ajudar os novos usuários do Linux ( não procurando por nenhum crédito, apenas fornecendo outro exemplo de clareza ). No meu próprio computador, eu queria criar um usuário adicional para um projeto de desenvolvimento específico. Estava testando alguns problemas de SSH, SFTP entre minha máquina e um servidor co-localizado na web. Recebi o mesmo erro "Permission denied" depois de configurar tudo ... e sim, ele parecia correto, exceto pelo problema de pesquisa com base nas permissões para outras que o mpez0 apontou.

Nota: Para novos usuários do Linux, as permissões são usuário, grupo, outro ou rwx, rwx, rwx, respectivamente, e ficariam assim

drwxr-xr--   

user has read + write + execute, rwx 
group has only read and execute, r-x
other has only read acces r--

Para 'other', somos lembrados de que NÃO é suficiente para localizar / procurar o diretório, portanto, a mensagem de erro.

Aqui está o que eu fiz, (encontrei a mensagem de erro na etapa 6)

1) criou um usuário, hoiuser (para ver informações do usuário, você pode usar o dedo cmd, "finger hoiuser" ou ler o arquivo 'cat / etc / passwd')

2) criou um grupo, hoidevs (adicionado usuário "hoiuser" ao grupo)

root@zareason-breeze:/etc# cat group | grep hoidevs 
hoidevs:x:1010:userz,hoiuser 

Lembre-se de que você precisa fazer logoff e fazer login novamente para que as novas permissões de "grupo" sejam associadas à ID da conta.

3) chgrp hoidevs para o diretório / home / userz / data / Sites / hoi e criou um lugar para os arquivos

hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

4) Abriu uma janela de terminal, usuário userz estava ativo

5) su - hoiuser (comutado para usuário hoiuser)

6) Tentativa de cd / home / userz / data / Sites

hoiuser@zareason-breeze:/home/userz/data$ cd Sites
-su: cd: Sites: Permission denied    (voila, the problem)


userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr--  11 userz userz  4096 2012-02-24 16:20 ./
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/

7) Alterou as permissões para sites

userz@zareason-breeze:~/data/Sites$ chmod 755 .
userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr-x  11 userz userz  4096 2012-02-24 16:20 ./

E voila problem fixed .... aqui é prova

hoiuser@zareason-breeze:/home/userz/data$ id
uid=1009(hoiuser) gid=1009(hoiuser) groups=1009(hoiuser),1010(hoidevs)

hoiuser@zareason-breeze:/home/userz/data$ cd Sites        (<- yea no error message)
hoiuser@zareason-breeze:/home/userz/data/Sites$ cd hoi
hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x 11 userz userz 4096 2012-02-24 16:20 ../
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

Até mesmo usuários experientes de Linux / Unix precisam de um lembrete de vez em quando.

Como foi apontado, não é suficiente apenas dar as permissões corretas para o diretório onde os arquivos estão, você também precisa ter certeza de que todos os diretórios que levam a esse diretório tenham as permissões corretas, especialmente o capacidade de "outro" para "pesquisar" e procurar o diretório e os arquivos. Dificilmente intuitivo quando x significa executar, certo.

Minha estrutura de subdiretórios era: / home / userz / data / Sites / hoi / html /

A partir de casa

userz@zareason-breeze:~$ pwd
/home

Esta foi a estrutura do meu diretório ANTES do chmod

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr--  11 userz userz     4096 2012-02-24 16:20 Sites/    (<-- Do you see it, other is r--)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

Esta foi a minha estrutura de diretórios após o chmod

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr-x  11 userz userz     4096 2012-02-24 16:20 Sites/      (<-- Fixed by the chmod > 755 ., now r-x)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

Observe que a única alteração foi as permissões r-x para 'outro' para o diretório 'Sites'. Espero que isso ajude os outros, foi uma boa reciclagem para mim.

    
por 01.03.2012 / 03:50
4

Você precisa ter permissões no diretório que contém o arquivo para acessar o arquivo. Quais são as permissões em / home / git? (sim, Zoredache, eu te dei +1 para apontar isso)

Acompanhamento: Você precisa do conjunto de bits execute (x) para o grupo para que esse grupo entre no diretório. Pense nisso como um análogo áspero para o Windows "Traverse Directory" configuração. Sem isso, o acesso será negado para o grupo. Se você está desesperado, você pode fazer:

chmod g+x /home/git
chmod g+x /home/git/fsg

Tente o seguinte e poste a mensagem de cada um:

cd /home
cd /home/git
cd /home/git/fsg

Cada um desses deve ser acessado por ftpadmin . Se algum deles não for , você não conseguirá entrar em /home/git/fsg .

    
por 07.05.2010 / 18:58
4

Depois de alterar os grupos de um usuário X por meio de acesso root, você deve efetuar logout e login novamente com esse usuário X, caso contrário, novos grupos não serão considerados

    
por 26.05.2015 / 13:32
3

Tente fazer login novamente ou execute su - ftpadmin para fazer login no shell atual. Como os grupos são definidos quando você faz login, pode ser que você tenha adicionado fulano a um grupo, mas as configurações antigas do grupo ainda estão sendo usadas.

    
por 26.11.2010 / 02:25