O Ubuntu é uma distribuição do GNU / Linux Operationg System, que por sua vez pertence à família de sistemas Unix - uma arquitetura comum para vários sistemas operacionais modernos.
Tradicionalmente, o Unix costumava ser executado em computadores mainframe. Instalações de computação central que atendem a dúzias ou centenas de usuários por meio de terminais remotos. Como todos os usuários confiaram na disponibilidade do mainframe, nenhum usuário foi autorizado a emitir um comando de desligamento. Uma idéia que é fundamental para a arquitetura Unix - o kernel do sistema nunca inicializará um desligamento, a menos que a função correspondente seja chamada por um processo de superusuário.
Nos sistemas de desktop contemporâneos, os desenvolvedores passaram por algumas dificuldades para disponibilizar o desligamento para o mero usuário de desktop. Uma técnica comum é permitir que o gerenciador de login, que geralmente é executado no contexto de segurança do usuário root, lide com o desligamento e a reinicialização. Nesse caso, o shell gráfico emite uma solicitação ao gerenciador de login para desligar o computador. Isso envolve o uso de comunicação entre processos (IPC), geralmente através do serviço dbus.
O kit de políticas mencionado acima estende esse processo, fornecendo uma estrutura padronizada através da qual o gerenciador de login (ou qualquer programa que fornece o serviço de desligamento) pode verificar quais usuários têm permissão para causar um desligamento e através do qual um administrador pode configurar essas permissões, respectivamente.
Alguns ambientes de área de trabalho não usam serviços baseados em IPC, mas um conjunto de programas auxiliares para fornecer as mesmas funções ou funções semelhantes. Esses programas auxiliares seriam chamados por meio de mecanismos, permitindo mudar para o contexto do superusuário, como sudo, suid ou um mecanismo do kit de políticas semelhante ao sudo.
De qualquer forma, o programa de desligamento tradicional burro no shell não funciona dessa maneira. É necessário que você veja que ele é executado em um contexto de superusuário.
sudo shutdown -h now
mas o problema é que, sem a permissão de acessoshutdown
, nunca funciona. Porque onde / como solicitará a senha para entrar depois de pressionar a tecla de atalho .. Espero que você entenda minha situação .. :)