Cria a raiz do meu programa personalizado

0

Eu tenho um programa personalizado em C, que percorre um diretório e grava um arquivo de log com o conteúdo em minha casa. No entanto, ele não pode acessar / var / log / / etc / e outras pastas raiz. Como mudar isso? É atualmente chown por um usuário não chown chown myname: myname myprogram. Alguma informação sobre como criar um root-like?

    
por Ilian Zapryanov 13.01.2015 / 15:30

1 resposta

4

Se você quiser que um programa seja executado como root, inicie-o como root. Entre como root ou use su ou sudo .

O proprietário é irrelevante, a menos que o sinalizador setuid esteja definido. Esteja ciente de que: setuid pode ser muito perigoso porque sempre será executado como root (ou qualquer outro usuário que possua o arquivo). Se o seu programa contiver vulnerabilidades, um invasor poderá usá-lo para obter controle total do sistema. Além disso, se o arquivo não estiver contido em um diretório protegido, um usuário com permissões de gravação de diretório poderá alterar os proprietários da forma que desejar.

Use chmod 4xxx <file> (onde xxx é o modo "regular") para definir o sinal setuid . Implementações modernas também suportam chmod u+s <file>

    
por 13.01.2015 / 15:39