Como permitir que usuários não sudoers executem um script que faça operações raiz

0

Suponha que eu tenha um diretório /opt/expe e eu quero que qualquer usuário crie arquivos .txt nele. Eu quero que qualquer usuário digite algo assim:

$ whoami
user1
$ export $file_name=my_txt_file
$ /opt/expe/create_file.sh
$ ls -cal /opt/expe
total 12
drwxr-xr-x 2 root  root 4096 Jul 29 19:27 .
drwxr-xr-x 6 root  root 4096 Jul 29 19:14 ..
-rwsr-sr-t 1 root  root   65 Jul 29 19:29 create_file.sh
-rw-r--r-- 1 user1 root    0 Jul 29 19:27 my_txt_file.txt

Eu tento isso com um sudoer

$ whoami
user_sudoer
$ cat /opt/expe/create_file.sh
touch /opt/expe/$file_name.txt
chown $USER /opt/expe/$file_name.txt
$ chmod a+x /opt/expe/create_file.sh
$ chmod a+t /opt/expe/create_file.sh
$ chmod a+s /opt/expe/create_file.sh
$ chmod a+X /opt/expe/create_file.sh

Em seguida, com o usuário não root, obtive:

$ whoami
user1
$ export $file_name=my_txt_file
$ /opt/expe/create_file.sh
touch: cannot touch '/opt/expe/prueba_txt.txt': Permission denied

Posso fazer algo assim. Eu quero algo como postgres SECURITY DEFINER concept.

    
por Emilio Platzer 30.07.2017 / 01:04

1 resposta

1

Não estou familiarizado com o Postgres, mas vejo pelo menos quatro opções:

  1. Altere as permissões de / opt / expe com chmod para permitir que todos os usuários criem arquivos nesse diretório.

  2. Crie um grupo separado para os usuários que precisam escrever lá e altere a permissão de grupo / opt / expe com chmod para permitir que este grupo escreva lá.

  3. Crie um grupo separado e adicione a regra sudoers para permitir que eles executem esse script conforme descrito, por exemplo, aqui: Como o usuário pode montar um contêiner de arquivo criptografado no VeraCrypt?

  4. Use segurança de rótulo para controle de acesso refinado. Veja uma breve descrição dos rótulos de segurança e alguns links adicionais: link

Por favor, tenha em mente que a permissão para criar / remover arquivos é uma propriedade do diretório e não do próprio arquivo.

    
por Pawel Debski 30.07.2017 / 11:56