Iniciar ou parar o apache sem ter que dar uma senha? -- acos campo com apache camp apple Relacionado O problema

Start or Stop Apache without having to give a password?


3
vote

problema

português

No Ubuntu você pode fazer algo assim :

  sudo adduser {username} www-data    

Isso não funciona no OS X, e pode não ser a melhor abordagem de qualquer maneira. No OS X, como você pode fazer o Apache Iniciar ou parar sem ter que inserir uma senha?

english

On Ubuntu you can do something like this:

sudo adduser {username} www-data 

That doesn't work on OS X, and may not be the best approach anyway. On OS X, how can you make Apache start or stop without having to enter a password?

     

Lista de respostas

5
 
vote
vote
Melhor resposta
 

terminal aberto e insira sudo visudo para modificar o arquivo / etc / sudoers .

Altere a parte:

  ## User privilege specification ## root ALL=(ALL) ALL %admin  ALL=(ALL) ALL    

para

  ## User privilege specification ## root ALL=(ALL) ALL %admin  ALL=(ALL) ALL your_username ALL=(ALL) NOPASSWD: /usr/sbin/apachectl    

e salve o arquivo.

Se você não sabe vi : depois de inserir sudo visudo você tem que mudar para o modo inserção batendo i . Digite a linha adicional conforme indicado acima. Para deixar Modo de inserção Hit ESC . Em seguida, insira : w q e a tecla inserir para gravar o arquivo modificado para o disco e sair VI.

.

Iniciando e parando Apache com sudo apachectl start ou sudo apachectl stop não requer mais uma senha.


apachectl requer raiz / sudo para executá-lo. Apenas o usuário root pode executar o comando sem inserir uma senha. Nem adicionar um usuário ao grupo de administrador nem para outro grupo (por exemplo _www) permite executar message0 sem senha.

Então, o método menos intrusivo é adicionar um usuário - até mesmo um usuário padrão - no arquivo sudoers e restringir a conta a executar / usr / sbin / apachectl somente. O usuário adicionado não é permitido executar qualquer outro comando como sudoer!

 

Open Terminal and enter sudo visudo to modify the file /etc/sudoers.

Change the part:

## User privilege specification ## root ALL=(ALL) ALL %admin  ALL=(ALL) ALL 

to

## User privilege specification ## root ALL=(ALL) ALL %admin  ALL=(ALL) ALL your_username ALL=(ALL) NOPASSWD: /usr/sbin/apachectl 

and save the file.

If you don't know vi: after entering sudo visudo you have to change to insert mode by hitting i. Enter the additional line as indicated above. To leave insert mode hit esc. Then enter :wq and the Enter key to write the modified file to disk and quit vi.

Starting and stoping Apache with sudo apachectl start or sudo apachectl stop doesn't require a password anymore.


apachectl requires root/sudo to execute it. Only the root user can execute the command without entering a password. Neither adding a user to the admin group nor to another group (e.g. _www) allows to execute (sudo )apachectl without password.

So, the least intrusive method is adding a user - even a standard user - in the sudoers file and restrict the account to execute /usr/sbin/apachectl only. The added user is not allowed to execute any other command as sudoer!

 
 
 
 
0
 
vote

Eu não tenho a reputação de comentar (mas tenho o representante responder? Que sistema para trás), então isso é realmente uma resposta à resposta de Klanomath.

Eu só quero ter certeza de que as pessoas evitam corromper seu arquivo etc / sudoers como eu fiz (e tive que restaurar do time Machine Backup).

Não edite etc / sudoers de qualquer outra forma diferente de executar sudo visudo como Klanomath disse. Você provavelmente corromperá seu arquivo e não será capaz de executar sudo.

Outra dica: executar which apachectl para determinar o caminho para o Apache. O meu foi instalado via Homebrew para que o caminho seja diferente.

 

I don't have the reputation to comment (but I have the rep to answer? What a backwards system), so this is really a response to klanomath's answer.

I just want to make sure people avoid corrupting their etc/sudoers file like I did (and had to restore from Time Machine backup).

Do not edit etc/sudoers in any other way other than running sudo visudo as klanomath said. You will likely corrupt your file and will not be able to run sudo.

Another tip: run which apachectl to determine the path to Apache. Mine was installed via Homebrew so the path is different.

 
 

Perguntas relacionadas

0  Arquivo de bin perdido apachectl  ( Lost apachectl bin file ) 
Como posso recuperar o apachectl no meu OSX? Eu a excluí, de alguma forma, e agora o comando apachectl não existe mais. ...

4  Alterando a versão padrão do Apache em MacOS Sierra  ( Changing default apache version on macos sierra ) 
Uma varredura DHS da rede mostrou que um dos pesquisadores Macs está executando uma versão não segura do Apache (2.4.25) e eles gostariam que ele atualizasse ...

1  Permissões continuam mudando na área de trabalho  ( Permissions keep changing on desktop ) 
Eu estou executando um apache2 no meu MBP na MacOS 10.13.6. Eu configurei tudo bem, e funciona ao ir para ls -l5 . No meu ABCDEFGHIJKLMNABCDEFGHIJKLMN16 Pa...

0  Ativar PHP no MacOS Server 5.6  ( Enable php on macos server 5 6 ) 
Na atualização mais recente para o MacOS Server 5.6, a Apple removeu um número de serviços do aplicativo do servidor em favor de serviços internos no próprio ...

1  Permissões do Apache  ( Apache permissions ) 
Estou tentando obter lâmpada trabalhando no OSX Leão e estou tendo um pouco de problema. Tenha apache, mysql e php configurado e trabalhando bem. Ligado "si...

2  Remover Homebrew Apache2 falha  ( Remove homebrew apache2 fails ) 
Em um novo MacBook Pro, instalei Apache2 com o Homebrew, mas agora quero voltar para o Native Apache2 Server. Eu removi o pacote homebrew com: brew unins...

1  Pastas na unidade iCloud mudam suas permissões  ( Folders in icloud drive change their permissions ) 
Estou experimentando documentos em movimento e desktop na unidade iCloud. Eu tenho uma raiz do documento do site em uma pasta em documentos. Para que o site s...

1  Abrindo o arquivo Apache conf com permissões de gravação  ( Opening apache conf file with write permissions ) 
Estou tentando abrir o arquivo abcdefghgjklmnabcdefghijklmn1 para fazer algumas alterações. Eu pensei que seria capaz de abrir isso com as permissões corret...

0  Apache em execução em Yosemite não funciona como esperado  ( Apache running on yosemite not working as expected ) 
Eu pretendo usar ambos /Library/Webserver/Documents e ~username/Sites/ . Eu tenho o diretório de pasta do phpmyadmin. Se eu for para http://localhost/~u...

3  Iniciar ou parar o apache sem ter que dar uma senha?  ( Start or stop apache without having to give a password ) 
No Ubuntu você pode fazer algo assim : sudo adduser {username} www-data Isso não funciona no OS X, e pode não ser a melhor abordagem de qualquer manei...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.