De qualquer forma, o Linux os trataria de maneira diferente do OS X. O OS X é certificado Unix, o que significa que está em conformidade com um determinado padrão de comportamento. O Linux é semelhante ao Unix, mas não é certificado como Unix e não está necessariamente em conformidade com o padrão Unix. Portanto, se houver diferenças (além do problema de senha root observado na resposta de Aaron Lake), elas não serão de conformidade por parte dos implementadores da distribuição Linux específica em questão.
Alesplin
Respostas:
21
OS X manipula sudoe suidenticamente para Linux.
sudoé um comando que, sem opções adicionais, executará um comando como root. Por exemplo:
% touch /newfile
touch:/newfile:Permission denied
% ls -l /newfile
ls:/newfile:No such file or directory
% sudo touch /newfile
% ls -l /newfile
-rw-r--r--1 root wheel 0Apr2711:45/newfile
supor outro lado, mudará o usuário atual para root (novamente sem nenhum comando extra). No exemplo abaixo, eu tenho que executar sudo su, pois não sei a senha root do meu sistema:
% whoami
alake
% sudo su
$ whoami
root
A principal diferença entre sudoe sué sudoexecuta um comando como root, enquanto sufaz com que você seja root. Assim como outros utilitários de linha de comando, existem várias maneiras alternativas de usar ambos sudoe su, se você estiver interessado, sempre poderá executar, man <command>por exemplo. man sudopara obter mais informações.
Em termos de linguagem simples, sudopode ser considerado como super user and do. Como ponto adicional, no OS X, após a autenticação bem-sucedida, você poderá usar o sudo sem senha por um curto período de tempo (5 minutos por padrão, a menos que seja substituído sudoers), após o qual será necessário digitar a senha novamente.
precisa saber é o seguinte
1
o 'sem opções adicionais' é um qualificador bastante significativo ... ambos permitem que você se torne um usuário que não seja root ... por exemplo, sudo su -lm _wwwpermitirá que você tenha um shell como se fosse o usuário do servidor da web (executando o comando como root, como ele não tem uma senha válida) #
315 Joe Joe
2
@ Joe, eu considerei adicionar essa informação, mas omiti-me por brevidade. Como você descreve, sudoé um utilitário bastante robusto, e cobrir aqui as funcionalidades básicas acabaria por confundir ou sobrecarregar o público-alvo, procurando uma diferenciação entre sudoe su.
Aaron Lake
"A principal diferença entre sudo e su é sudo executa um comando como root, enquanto su faz com que você faça root" - false, sudo -sexecuta shell ("faz com que você faça root") e su -c commandexecuta o comando como root.
el.pescado
2
Novamente, por uma questão de brevidade, omiti os muitos métodos alternativos de uso sudo. Além disso, você não pode fazer isso su -c commandpor padrão no OS X, pois não sabe a senha do root. No entanto sudo su, você pode alterar a senha su -c command. Eu sinto que a pergunta foi respondida, e não havia necessidade de aprofundar os usos alternativos de sudo e su. No entanto, vou atualizar o post para os curiosos.
Respostas:
OS X manipula
sudo
esu
identicamente para Linux.sudo
é um comando que, sem opções adicionais, executará um comando como root. Por exemplo:su
por outro lado, mudará o usuário atual para root (novamente sem nenhum comando extra). No exemplo abaixo, eu tenho que executarsudo su
, pois não sei a senha root do meu sistema:A principal diferença entre
sudo
esu
ésudo
executa um comando como root, enquantosu
faz com que você seja root. Assim como outros utilitários de linha de comando, existem várias maneiras alternativas de usar ambossudo
esu
, se você estiver interessado, sempre poderá executar,man <command>
por exemplo.man sudo
para obter mais informações.fonte
sudo
pode ser considerado comosuper user and do
. Como ponto adicional, no OS X, após a autenticação bem-sucedida, você poderá usar o sudo sem senha por um curto período de tempo (5 minutos por padrão, a menos que seja substituídosudoers
), após o qual será necessário digitar a senha novamente.sudo su -lm _www
permitirá que você tenha um shell como se fosse o usuário do servidor da web (executando o comando como root, como ele não tem uma senha válida) #sudo
é um utilitário bastante robusto, e cobrir aqui as funcionalidades básicas acabaria por confundir ou sobrecarregar o público-alvo, procurando uma diferenciação entresudo
esu
.sudo -s
executa shell ("faz com que você faça root") esu -c command
executa o comando como root.sudo
. Além disso, você não pode fazer issosu -c command
por padrão no OS X, pois não sabe a senha do root. No entantosudo su
, você pode alterar a senhasu -c command
. Eu sinto que a pergunta foi respondida, e não havia necessidade de aprofundar os usos alternativos de sudo e su. No entanto, vou atualizar o post para os curiosos.