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
Portanto, o ftpadmin é um membro do git, e o git concedeu todas as permissões às pessoas do grupo. Por que 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 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, eu ainda recebo
ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied
linux
permissions
Tony
fonte
fonte
/home/git
?drwxrwxr-x
se você desejar que ele seja somente leitura para não membros do grupo, mas alterável pelos membros do grupo; deve serdrwxrwx---
se você deseja que apenas membros do grupo estejam nele.Respostas:
Queria dar ao mpez0 um +1 especificamente, para sua resposta "Você precisa do bit" x "do grupo definido no diretório para permitir pesquisas em grupo. As permissões" rw- "permitem abrir um arquivo com o nome (r) ou criar um arquivo (w), mas não listando ou pesquisando os arquivos (x). "
É tão fácil de esquecer, e sua solução está enterrada no meio. Definitivamente, esse é um problema para os novos usuários do Linux no que diz respeito às permissões de arquivo / diretório para usuários e grupos.
Tudo o que Avery disse estava certo, mais uma vez gostaria de poder lhe dar um +1.
A figura outro exemplo mais detalhado pode ajudar os novos usuários do Linux ( sem procurar crédito, apenas fornecendo outro exemplo para maior clareza ). No meu próprio PC, eu queria criar um usuário adicional para um projeto de desenvolvimento específico. Estava testando alguns problemas de SSH e SFTP entre minha máquina e um servidor localizado na Web. Obteve o mesmo erro "Permissão negada" depois de configurar tudo ... e sim, parecia correto, exceto pelo problema de pesquisa com base nas permissões de outro que o mpez0 apontou.
Nota: Para novos usuários Linux, as permissões são usuário, grupo, outro ou rwx, rwx, rwx, respectivamente, e teriam a seguinte aparência:
Para 'other' somos lembrados que NÃO é suficiente encontrar / procurar o diretório, portanto a mensagem de erro.
Aqui está o que eu fiz (encontrou a mensagem de erro na etapa 6)
1) criou um usuário, hoiuser (para ver informações do usuário, você pode usar o finger cmd, "finger hoiuser" ou ler o arquivo 'cat / etc / passwd')
2) criou um grupo, hoidevs (usuário adicionado "hoiuser" ao grupo)
Lembre-se de que você precisa fazer logoff e logon novamente para que as novas permissões de "grupo" sejam associadas ao ID da conta.
3) chgrp hoidevs para o diretório / home / userz / data / Sites / hoi e criou um local para os arquivos
4) Abriu uma janela do terminal, o usuário userz estava ativo
5) su - hoiuser (alternado para hoiuser do usuário)
6) Tentativa de cd / home / userz / data / Sites
7) Alteradas as permissões para sites
E voila problema corrigido .... aqui está a prova
Até nós, usuários experientes do Linux / Unix, precisamos de um lembrete de vez em quando.
Como foi apontado, não basta fornecer as permissões corretas para o diretório em que os arquivos estão, você também precisa garantir que todos os diretórios que levam a esse diretório tenham as permissões corretas, especialmente a capacidade de "outro" "pesquise" e procure o diretório e os arquivos. Dificilmente intuitivo quando x significa executar, certo.
Minha estrutura de subdiretório era: / home / userz / data / Sites / hoi / html /
Começando em casa
Esta foi a minha estrutura de diretórios ANTES do chmod
Esta foi a minha estrutura de diretórios APÓS o chmod
Observe que a única alteração foram as permissões rx para 'other' no diretório 'Sites'. Espero que isso ajude os outros, foi uma boa atualização para mim.
fonte
Você precisa ter permissões no diretório que contém o arquivo para chegar ao arquivo. Quais são as permissões no / home / git? (sim, Zoredache, eu te dei um +1 por apontar isso)
Acompanhamento: você precisa do bit execute (x) definido para o grupo para que esse grupo entre no diretório. Pense nisso como uma analogia grosseira à configuração "Traverse Directory" do Windows. Sem ele, o acesso será negado ao grupo. Se você está desesperado, pode fazer:
Tente o seguinte e publique a mensagem de cada um:
Cada um deles deve estar acessível por
ftpadmin
. Se algum deles não estiver , isso impedirá que você entre/home/git/fsg
.fonte
/home/git
e/home/git/fsg
, mas quais foram os resultados para/home
?Após alterar os grupos de um usuário X por acesso root, você deve sair e efetuar login novamente com esse usuário X, caso contrário, novos grupos não serão levados em consideração
fonte
Tente fazer login novamente ou execute
su - ftpadmin
para fazer login dentro do shell atual. Como os grupos são definidos quando você faz logon, pode ser que você tenha adicionado mais ou menos a um grupo, mas as configurações antigas do grupo ainda estão sendo usadas.fonte