Como posso dar ao usuário a capacidade CAP_MKNOD?

2

Seguindo essa pergunta: relação do rsync com arquivos especiais

Para fazer backup dos arquivos do dispositivo, o rsync no destino precisa ser capaz de chamar mknod . A abordagem usual seria informar ao rsync para efetuar login como root e usar a opção --super . (por exemplo. rsync -avz --super ./this root@thatserver:/backup/this )

Eu particularmente não quero que os processos do rsync façam login como root.

De acordo com ' man mknod ':

EPERM (error)

...and the caller is not privileged (Linux: does not have the CAP_MKNOD capability)...

É possível atribuir CAP_MKNOD a um usuário que não seja root? Se sim, como?

    
por tudor 24.06.2015 / 05:46

1 resposta

3

Você pode adicionar um recurso a um arquivo binário. Por exemplo, na cópia remota /bin/rsync para o diretório pessoal do usuário, por exemplo, /home/user/rsync e torná-lo executável apenas por eles e, em seguida, adicione a capacidade:

sudo setcap CAP_MKNOD=ep /home/user/rsync

Quando o usuário executa este rsync no controle remoto, ele poderá criar nós de dispositivo.

    
por 24.06.2015 / 09:03

Tags