<Anterior | Conteúdo | Próxima>
su - Executar um Shell com IDs de usuário e grupo substitutos
O su comando é usado para iniciar um shell como outro usuário. A sintaxe do comando é semelhante a esta:
su [- [l]] [usuário]
su [- [l]] [usuário]
Se a opção “-l” for incluída, a sessão de shell resultante é um shell de login para o usuário especificado. Isso significa que o ambiente do usuário é carregado e o diretório de trabalho é alterado para o diretório inicial do usuário. Geralmente é isso que queremos. Se o usuário não for especificado, o superusuário será assumido. Observe que (estranhamente) o “-l” pode ser abreviado como “-”, que é como é usado com mais frequência. Para iniciar um shell para o superusuário, faríamos o seguinte:
[me @ linuxbox ~] $ su - Senha: [root @ linuxbox ~] #
[me @ linuxbox ~] $ su - Senha: [root @ linuxbox ~] #
Depois de inserir o comando, é solicitada a senha do superusuário. Se for digitado com sucesso, um novo prompt de shell aparecerá indicando que este shell tem privilégios de superusuário (o “#” final em vez de um “$”) e o diretório de trabalho atual é agora o diretório inicial do superusuário (normalmente / Root) Uma vez no novo shell, podemos executar comandos como superusuário. Quando terminar, digite “exit” para retornar ao shell anterior:
[root @ linuxbox ~] # saída
[me @ linuxbox ~] $
[root @ linuxbox ~] # saída
[me @ linuxbox ~] $
Também é possível executar um único comando em vez de iniciar um novo comando interativo usando su deste jeito:
su -c 'comando'
su -c 'comando'
Usando este formulário, uma única linha de comando é passada para o novo shell para execução. É importante colocar o comando entre aspas, pois não queremos que a expansão ocorra em nosso shell, mas sim no novo shell:
[me @ linuxbox ~] $ su -c 'ls -l / root / *'
Senha:
-rw ------- 1 root root 754 2007-08-11 03:19 /root/anaconda-ks.cfg
/ root / Mail: total 0 [me @ linuxbox ~] $
[me @ linuxbox ~] $ su -c 'ls -l / root / *'
Senha:
-rw ------- 1 root root 754 2007-08-11 03:19 /root/anaconda-ks.cfg
/ root / Mail: total 0 [me @ linuxbox ~] $