Usando su e sudo

O comando su (conforme utilizado pelo IBM® UrbanCode Deploy) permite que um usuário inicie um shell como outro usuário (as etapas do processo podem ser consideradas shells individuais).

Quando você configura uma etapa do processo (consulte Processos), é possível instruir o IBM UrbanCode Deploy a usar personificação para a etapa. Por padrão, é utilizado su, mas você pode usar sudo em seu lugar. Para configurar a personificação, forneça o nome do usuário requerido pelo host de destino. Quando a etapa do processo configurado para personificação é executada, o comando su ou sudo executa a etapa como o usuário personificado. Cada etapa que precisa de personificação do usuário deve ser configurada de maneira independente.

Para que sudo possa ser utilizado, os privilégios de personificação devem ser definidos no arquivo /etc/sudoers. Quando você configurar sudoers, assegure-se de que a personificação do usuário não precise fornecer uma senha. Normalmente, você configuraria o arquivo /etc/sudoers como o exemplo a seguir:

Defaults:X !requiretty 
X ALL=(Y) NOPASSWD: ALL 

em que X e Y são nomes de usuário. Configurado dessa forma, o usuário X pode executar qualquer comando como o usuário Y sem fornecer uma senha.

su e sudo mantêm um registro nos logs do sistema de todas as suas atividades. su pode ser usado sem configurar o arquivo sudoers. Para obter informações sobre su/sudo, consulte a documentação do UNIX ou Linux.

Nota: Para agentes UNIX ou Linux, a opção de senha é ignorada.
Para customizar os comandos su e sudo, é possível configurar as propriedades a seguir do agente, no arquivo installed.properties:
Tabela 1. Propriedades do agente para os comandos su e sudo
Propriedade Valor padrão Descrição
com.urbancode.shell.impersonation.unix.sudoFormat %s -n -u %u %c Sintaxe do comando sudo
com.urbancode.shell.impersonation.unix.sudoGroupFormat %s -n -u %u -g %g %c Sintaxe do comando sudo quando um grupo é especificado
com.urbancode.shell.impersonation.unix.suFormat %s - %u -c %c Sintaxe do comando su
Dica: Para configurar essas propriedades em novos agentes, crie um processo genérico que atualize o arquivo installed.properties e execute o processo em novos agentes.
É possível usar as seguintes variáveis nestas propriedades:
Tabela 2. Variáveis para os comandos su e sudo
Variável Valor
%s O local do executável su ou sudo
%u O usuário
%g O grupo
%c O comando a ser executado

Feedback