... mas ainda é necessário para aplicativos que precisam de privilégios de administrador?
Para permitir o seguinte:
$ apache2ctl restart
httpd not running, trying to start
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
$ sudo !!
sudo apache2ctl restart #no password asked
$ #works!
Para referência, vi essa configuração nas instâncias da e3 da amazônia
Qualquer ideia?
sudo
authentication
tutuca
fonte
fonte
Respostas:
Você precisa editar o arquivo sudoers. Esteja ciente de que o sucesso oferece um sistema menos seguro e a falha pode quebrar o sudo. SEMPRE edite o arquivo sudoers com
sudo visudo
, pois o visudo verifica se há erros e não salvará o arquivo se houver algum.É uma má idéia dar permissão a tudo para executar como root sem uma senha, para deixar passar o executável que você precisa (apache2ctl); anexe o seguinte na parte inferior do arquivo:
Você pode substituir o caminho para um executável por "ALL", se desejar, fornecendo um sudo completo sem senha.
Substitua YOURNAME pelo seu nome de usuário e pressione Ctrl+ Xpara salvar e sair. Se ocorreu um erro, ele oferecerá a reversão, edição ou salvamento de qualquer maneira.
Certifique-se de usar o caminho completo para um executável:
ie.
/usr/bin/apache2ctl
em vez de apenasapache2ctl
. Isso é importante porque, sem declarar explicitamente o caminho, o sudo permitirá que qualquer programa chamado apachectl no caminho atual do usuário seja executado como root.fonte
%YOURNAME
isso dará a permissão ao grupo nomeado como seu usuário, o que normalmente não é um problema, já que todo usuário normal possui um grupo com nome semelhante nos sistemas Ubuntu. Para dar permissão ao seu usuário, especifiqueYOURNAME
sem o%.apache2ctl
), assim:YOURNAME YOUR-HOSTNAME = NOPASSWD: /usr/bin/apache2ctl <specific arg | "">
. --- Em todos os casos,man 5 sudoers
é a referência a que ir.A resposta real para essa pergunta pode ser complicada porque o sudo é muito poderoso e pode ser configurado para fazer coisas legais. Isso é explicado detalhadamente na documentação .
A resposta curta é executada
sudo visudo
em um terminal. Se esta é a primeira vez que você executa o visudo, ele pergunta qual editor você prefere. O nano é geralmente considerado o mais fácil de usar, mas escolha o editor com o qual você se sinta mais confortável. Você precisará decidir a quem você deseja dar acesso; poderia serALL
para todos (a muito má ideia) , um usuário ou um grupo do sistema. Os grupos são prefixados com um sinal de%. Por exemplo, se você quisesse concedersteroid_users
privilégios de root a todos os membros do grupo sem a necessidade de uma senha para todos os comandos, você adicionaria:até o final do arquivo, saia e salve o arquivo. Se tudo correr bem, e você for um membro do grupo steroid_users, poderá emitir
sudo *some-command*
sem precisar se preocupar em digitar sua senha.Lembre-se de que qualquer pessoa que tenha acesso ao seu terminal enquanto estiver conectado - ou se você tiver uma configuração ssh para autenticação baseada em chave ou (ainda pior) tiver habilitado logins de sessão sem senha - acesso completo e sem restrições a todo o seu sistema. Se você tiver vários usuários no seu sistema ou se este for um servidor de arquivos, todos os arquivos dos usuários poderão estar em risco, pois o root poderá fazer qualquer coisa!
Além disso, se você cometer um erro, o visudo exibirá uma mensagem de erro e não salvará as alterações no arquivo. Isso ajudará a impedir a quebra completa do sudo. Você realmente deve ler a documentação . O Sudo foi projetado para fornecer aos usuários acesso suficiente para realizar seu trabalho sem a necessidade de expor todo o seu sistema. Pode ser vantajoso fornecer apenas acesso livre de senha para determinados comandos.
Eu espero que isso ajude.
fonte
Você precisará editar o arquivo '/ etc / sudoers' (existe um comando 'visudo' para isso.) Para adicionar NOPASSWD antes da lista de comandos permitidos para o seu usuário ou grupo. Se o seu usuário estiver no grupo 'admin' - você precisará do seguinte:
Verifique https://help.ubuntu.com/community/Sudoers , btw.
fonte
Você PODE adicionar o sinalizador nopasswd à lista de usuários, mas isso não elimina todas as perguntas feitas pelas senhas. Apenas o primeiro será solicitado.
sudo visudo
(É necessário usar o sudo. Este é um arquivo de administrador.)cyrex ALL = NOPASSWD: ALL
oucyrex ALL = (ALL) NOPASSWD: ALL
fonte
ou
Eu acho que isso faria isso.
Mas tenha cuidado ao remover senhas para o sudo.
fonte
Agora, a resposta simples! Não é possível estragar nada ou danificar sua instalação.
Basta digitar sua senha algumas vezes e nunca mais precisará digitá-la! Isso permitirá que você adicione uma conta de administrador local ao grupo "raiz", que não será comentado a partir de um modelo que permitirá privilégios de superusuário "raiz" ao grupo inteiro. Você pode ler minha preocupação / solução de segurança para este procedimento na parte posterior desta postagem.
% nome de usuário e é a variável global do seu nome de usuário (substitua-o pelo nome de usuário desejado)
Etapa 1: abra uma janela do terminal e digite "
sudo usermod -a -G root %username%
"Etapa 2: copie / cole este ...
Etapa 2 OU tipo
Vá para a linha 19 e remova o "#" antes
# auth sufficient pam_wheel.so trust
(pode ser um número de linha diferente para alguns)* O primeiro comando adiciona seu% username% ao grupo "root"
O segundo / terceiro comando permite que todos os membros do grupo "root" sejam superusuário sem uma senha, em vez de permitir apenas ao usuário "root" su privilégios de autenticação.
Nota final:
Não brinque com
/etc/sudoers
... Há muitas verificações / saldos pelos quais a autenticação 'su' deve passar. A autenticação de superusuário usa o mesmo procedimento pam.d de todas as outras autenticações de login. "/etc/security/access.conf" possui o layout para controle de acesso via comunicação tcp / ip (192.168.0.1) e por serviços de telnet (tty1 & tty2 & tty3 ... etc) Isso permite uma filtragem mais precisa por aplicativo via protocolo de transporte. Se a segurança é sua preocupação, ela deve ser direcionada a ameaças remotas / de código contra alguém que realmente toque seu computador quando você sair da sala !!!Alimento para a paranóia (não digite este em apenas analisá-lo):
^ Isso bloqueia o acesso ao console para qualquer pessoa que não seja membro do sistema ou raiz. Às vezes, os programas instalam nomes de usuário / grupos que são explorados!
fonte