Os comandos não têm permissão ao usar o caminho absoluto

0

Eu tenho pastas configuradas desta maneira:

/ srv / samba / video

getfacl /srv/samba/video

# file: srv/samba/video
# owner: root
# group: nogroup
user::rwx
group::---
group:sambaclients:rwx
group:deluge:rwx
mask::rwx
other::---
default:user::rwx
default:group::---
default:group:sambaclients:rwx
default:group:deluge:rwx
default:mask::rwx
default:other::---

Isso significa que o usuário deluge tem rwx em folder / srv / samba / video.

No entanto, ao executar o comando como usuário dilúvio, estou recebendo erros de permissão estranhos.

Quando estiver na pasta / srv / samba / video:

sudo -u deluge mkdir foo

funciona perfeitamente.

Mas ao usar o caminho absoluto:

sudo -u deluge mkdir /srv/samba/video/foo

Estou recebendo permissão negada.

Ao executar sudo -u deluge id , recebo saída

uid=113(deluge) gid=124(deluge) skupiny=124(deluge)

que mostra que o dilúvio do usuário está de fato em dilúvio em grupo. Além disso, o comportamento foi o mesmo quando eu dei as permissões também para o usuário dilúvio e não apenas dilúvio em grupo. Ao executar como usuário não-sistema, ele funciona.

O motivo pelo qual desejo usar caminhos absolutos é que estou usando o script de pós-download acionado automaticamente que extrai alguns arquivos para a pasta.

Eu passei muitas horas para resolver este problema sozinho. mkdir não é o único comando que falha, touch está fazendo a mesma coisa, então eu suspeito que não seja mkdir .

Se você precisar de mais informações, vou tentar colocá-lo aqui, é só pedir. Thanx antecipadamente.

Editar:

Parece que a raiz do problema é acl definida na pasta perent /srv/samba , o que de fato não concede permissões para o dilúvio (mas nenhuma nega isso).

getfacl /srv/samba
# file: srv/samba
# owner: root
# group: nogroup
user::rwx
group::---
group:sambaclients:rwx
mask::rwx
other::---
default:user::rwx
default:group::---
default:group:sambaclients:rwx
default:mask::rwx
default:other::---

Se eu conceder a permissão também para esta pasta, ela de repente começa a funcionar, então acredito que o acl em /srv/samba está, de alguma forma, negando as permissões para dilúvio.

Portanto, a pergunta é: como definir o acl como /srv/samba e /srv/samba/video para que os sambaclients tenham acesso a /srv/samba e os subdiretórios e o dilúvio tenham acesso somente a /srv/samba/video e subdiretórios?

    
por Markos 28.10.2013 / 09:38

1 resposta

0

O usuário deluge deve poder ver o conteúdo do diretório pai /srv/samba . Assim, aplicando bit executável a ele: chmod o+x /srv/samba resolveu o problema.

O motivo pelo qual ele trabalhou com caminho relativo é que, ao sudoing o comando, já estávamos no diretório /srv/samba/video e, portanto, nenhuma verificação de permissão foi aplicada.

    
por Markos 02.11.2013 / 14:53