O modo privilegiado existe para tentar aumentar a segurança (restringindo ações potencialmente perigosas) quando o shell é executado sob privilégios aumentados, como invocado por um programa setuid.
Sim, você está correto no fato de parecer "desprivilegiado", a opção -p
está restringindo ações que poderiam permitir um ataque, talvez enganando o shell para executar comandos em um usuário mais privilegiado. Por exemplo, é por isso que restringe os scripts de inicialização, pois eles podem não pertencer ou ser controlados pelo usuário privilegiado nessa situação. Além disso, herdar funções do ambiente também pode ser perigoso, pois é possível exportar uma função como cd
ou ls
que pode ser usada durante o shell privilegiado e, em seguida, acionar uma ação que pode ser usada em um ataque.
Você também perguntou sobre "setuid". Neste contexto, "setuid" geralmente se refere às permissões de binários que incluem o 04000
bit, por exemplo, permissão 04711
(ou -rws--x--x
in ls
output.) Ativar o bit "setuid" em um binário faz ele sempre é executado sob o uid efetivo do proprietário desse binário. Portanto, um binário setuid de propriedade do root será executado como root sempre que qualquer usuário o executar. O uid real será o do usuário que o invoca, é por isso que a verificação effective uid != real uid
é comum nessa situação. (BTW, o mesmo existe para o bit "setgid", que é 02000
nas permissões de arquivo.)
Portanto, um cenário provável em que bash -p
pode ser usado é um binário setuid que é executado como um usuário privilegiado (root ou outro) e quer gerar um shell, eles podem usar bash -p
para esse cenário, desde então tente para ficar mais seguro (ignorando scripts e funções de inicialização do ambiente, o que pode ser perigoso) e manterá as permissões do uid efetivo durante a execução. Invocá-lo sem a opção -p
significa que o bash simplesmente ignorará o uid efetivo (redefinindo o uid real) e se comportará como se nada tivesse acontecido ...
Ainda há muitas armadilhas de segurança aqui ... Então, usar um bash privilegiado ainda requer muita reflexão sobre como a segurança pode ser afetada. As medidas tomadas por -p
podem ajudar, mas precisam ser consideradas em todo o contexto de possíveis cenários de ataque.