Sempre que tento emitir su
, recebo o seguinte:
$ su
Password:
su: Sorry
Escusado será dizer que estou digitando a senha de administrador correta que funciona sudo
. O que eu quero é não ter que entrar sudo
cada vez.
No MacOS X, o usuário root é desativado por padrão e, portanto su
, não funciona. Como outros já disseram, é melhor usar sudo
.
Se você deve permitir que o usuário root, ver nota técnica da Apple: Ativando e utilizando o usuário "root" no Mac OS X .
sudo su
ainda funciona, por isso não está realmente desativado. Apenas não tem senha.sudo su
, qual o motivo de desativar,su
então?su
", é para impedir o login root . Ao desabilitar o login comoroot
, você evita vários problemas de segurança possíveis. Não permitir que alguém que podesudo
parasu
é meio bobo. Basicamente,su
apenas altera o ID do usuário atual e executa um comando (um shell, se não especificado). Se o ID do usuário já é 0 (raiz), como quando executado comsudo
, não há nada para fazer, então ele apenas executa o shell. Você pode obter um efeito semelhante fazendosudo bash
.Você tem duas opções. A primeira é usar
sudo -s
- isso lhe dará acesso ao superusuário, mas você continuará sendo "você mesmo" (por assim dizer), de modo que coisas como~
ainda serão seu diretório inicial. Como alternativa, você pode usarsudo su
, o que fornece um shell como o usuário root real do seu Mac.fonte
sudo
para executar comandos que exigem privilégios elevados, não para alternar para um shell raiz e trabalhar com isso.sudo
ethos ao extremo. Mas tanto faz: semântica. Não use shell de raiz no OS X.Por exemplo, se você precisar mover arquivos ou usar o git usando a CLI, nesse caso, a melhor solução será usar o
sudo -s
comando Após esse comando, você não precisa continuar digitando a senha repetidamente.fonte
Eu acho que você não pode fazer isso como um usuário "normal" ...
Se houver outra conta de usuário com direitos de administrador, você deverá usar esta
fonte
Solução moderna:
sudo -u
Para executar como outro uso, use
sudo -u
.Por exemplo, para executar um editor de texto como o nano :
… E digite sua senha de usuário administrador do Mac, quando solicitado. Nesse momento, é o usuário administrador do Mac que está chamando
sudo
, não osomeuser
usuário, para que você não digite asomeuser
senha.sudo
significa executar algo usando privilégios de superusuário.-u
significa "executar um comando especificado como esse usuário especificado".someuser
deve ser substituído pelo seu nome de usuário desejado.Para simular um login inicial como um usuário específico, incluindo a execução de seus scripts de inicialização, use
-I
.Isso executa o
nano
aplicativo como usuário,someuser
mas somente após a execução dos scripts de inicialização para esse usuário.Se optarmos por não especificar um comando ou aplicativo a ser executado, obteremos um shell interativo em execução como esse usuário.
Moda antiga:
sudo su someuser
Outra abordagem usa o
su
comando em combinação com osudo
. Osu
comando significa "alternar usuário".Ou, para incluir a execução dos scripts de inicialização do usuário, adicione o hífen.
root
do utilizadorO
root
usuário em sistemas operacionais relacionados ao Unix tem poder absoluto para fazer qualquer coisa.A Apple optou por desativar a
root
conta no macOS, evitar explorações de vulnerabilidades de segurança e protegê-lo de dar um tiro no pé. A Apple criou a idéia das contas de usuário Administrador que têm muitos poderes, mais poderes do que uma conta de usuário Padrão , mas não um poder absoluto como oroot
possui. Consulte esta nota de suporte da Apple para discussão.Se necessário, você pode habilitar o
root
usuário no macOS e depois mudar para esse usuário. Isso é fortemente desencorajado. Eu seguiria esse caminho apenas como um último recurso desesperado.Para discussão sobre isso no contexto do
postgres
usuário que está executando o sistema de banco de dados Postgres no macOS, consulte esta pergunta no site irmão, DBA Stack Exchange .fonte