A primeira parte - acesso a arquivos - geralmente é impossível no Linux simples. Você pode fazer algumas coisas com grupos ou arquivar ACLs, mas não há nada que impeça o proprietário do arquivo de usar chmod
para tornar seus próprios arquivos privados.
Não existe tal coisa no Linux, pois " X
é subordinado de root
, portanto root
pode acessar arquivos de X
".
Em vez disso, o root simplesmente tem o recurso "substituir todas as permissões" (cap_dac_override). Isso é tudo.
No entanto, pode ser possível escrever um LSM que faça isso - o tipo de módulo que o SELinux ou o SMACK usam ... Ou você poderia simplesmente usar su <subordinate_user>
e ler seus arquivos dessa maneira :
A segunda parte é possível escrevendo regras personalizadas sudo
ou configuração especial do PAM para su
(embora infelizmente eu não saiba de nenhum módulo PAM existente que possa ajudar).
Por exemplo, se você quiser permitir que o usuário X execute sudo -u Z -s
(equivalente a su Z
), a regra será:
X ALL=(Z) ALL
Você também pode usar %groupname
para especificar um grupo Unix:
superiorguy ALL=(%subordinates) ALL