'sudo -u script de usuário' nem sequer tem acesso a / bin / sleep

1

Ao executar o script bla com

sudo -u otheruser ./bla

Eu recebo uma saída indicando que esse script é executado de forma que nenhum comando externo esteja disponível:

otheruser
./bla: line 3: /bin/sleep: Permission denied
./bla: line 4: /bin/sleep: Permission denied

O script em si é simples:

#!/bin/bash
echo $USER
/bin/sleep 1
sleep 1

A última mensagem de erro parece indicar que não é realmente um bash em execução, mas sim um shell que não possui sleep como um comando interno, pois senão não se queixaria de /bin/sleep .

Lendo os documentos, eu acho o NOEXEC, que possivelmente se encaixaria na conta, mas o / etc / sudoers não sugere NOEXEC.

Estou no caminho certo com o NOEXEC? Se sim, por que ele poderia estar ativo se não estivesse em /etc/sudoers e sudo -V também não tivesse sugestão?

EDIT: como solicitado nos comentários, a saída de sudo -l -l :

Matching Defaults entries for xxxxx on this host:
    always_set_home, env_reset, env_keep="LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE", targetpw, !authenticate, noexec, syslog=local5, env_reset,
    always_set_home

User xxxxx may run the following commands on this host:

Sudoers entry:
    RunAsUsers: ALL
    Commands:
ALL

LDAP Role: CENSORED
    RunAsUsers: root
    Options: !noexec
    Commands:
/bin/su - solr

LDAP Role: T-SOLRSEARCH
    RunAsUsers: root
    Options: !noexec
    Commands:
ALL

Ok, aqui temos um !noexec . Qual é o problema com o '!'?

    
por Harald 27.05.2016 / 15:20

1 resposta

1
Matching Defaults entries for xxxxx on this host:
    …, noexec, …

O usuário xxxxx tem permissão para executar qualquer programa, mas este programa não tem permissão para executar nenhum outro programa. Existem exceções ao executar comandos como root. Como uma restrição de segurança, isso não faz sentido: se você pode executar qualquer programa, então você pode, e. execute passwd e altere a senha na conta root; Se você pode executar programas como root, então você pode executar programas como qualquer usuário. Então, isso é um erro de configuração.

Procure uma linha Defaults em /etc/sudoers ou em arquivos com /etc/sudoers.d contendo a opção noexec .

Em !noexec , ! é uma negação: isso desativa a opção noexec .

    
por 29.05.2016 / 00:28