impedir que o networksetup solicite a senha

0

Estou tentando me livrar da senha ao alterar o proxy com o networksetup. Alterei as permissões para leitura e gravação da pasta / private / etc e propaguei as alterações nas subpastas.

Eu tentei isso:

sudo chmod u+s /usr/sbin/networksetup

e diz:

    `/etc/sudoers is world writable`
no valid sudoers sources found, quitting

Permissão alterada de volta para somente leitura, agora diz

Unable to change file mode on /usr/sbin/networksetup: Operation not permitted

Eu também tentei visudo -f /etc/sudoers, mas não sei como editar o arquivo daqui. Você pode me ajudar?

EDIT: depois de executar visudo -f/etc/sudoers, recebo este erro. Devo excluir o arquivo de troca? Nenhum programa adicional está editando a pasta sudoers

E325: ATTENTION
Found a swap file by the name "/etc/.sudoers.tmp.swp"
          owned by: mainuser   dated: Sun May  1 16:28:25 2016
         file name: /private/etc/sudoers.tmp
          modified: YES
         user name: mainuser   host name: Mains-MacBook-Pro.local
        process ID: 39284
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
-- More --   dated: Sun May  1 16:23:40 2016

(1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.

(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /etc/sudoers.tmp"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/etc/.sudoers.tmp.swp"
    to avoid this message.

Swap file "/etc/.sudoers.tmp.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
-- More --

EDIT: Para referência futura, se você editar o arquivo manualmente, faça o seguinte: https://discussions.apple.com/thread/7262040?start=0&tstart=0

sanjihan
fonte

Respostas:

1

Abra Terminal e digite sudo visudopara modificar o arquivo / etc / sudoers .

Mude a peça:

## 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/networksetup

e salve o arquivo.

Se você não conhece o vi : depois de entrar, sudo visudovocê deve mudar para o modo de inserção pressionando i. Digite a linha adicional conforme indicado acima. Para sair do modo de inserção, pressione esc. Em seguida, digite :wqe a Entertecla para gravar o arquivo modificado no disco e feche o vi.

O uso sudo networksetup ...não deve exigir mais uma senha.

Klanomath
fonte
Se eu abrir o arquivo sudoers no textEdit, realmente entendo o que você quer dizer. Tudo bem editar apenas o arquivo manualmente? (existem alguns avisos na parte superior, quando a abro). Ao usar o comando visudo, acabo com o código acima. Devo excluir a troca?
Sanjihan #
@sanjihan Você deve primeiro reparo / corrigir as permissões para etc e todos os itens dentro (arquivos e pastas)
klanomath
1

Você não pode alterar as permissões em / usr / sbin / networksetup em um Mac executando o El Capitan com as configurações padrão.

Para isso, você precisa desativar o System Integrity Protection. Faça isso reiniciando o Mac, mantendo pressionada a tecla Command + R para entrar no modo de recuperação. No modo de recuperação, clique no menu Utilitários e selecione Terminal. No terminal, execute o seguinte comando:

desabilitar csrutil; reiniciar

Seu Mac será reiniciado no sistema OS X comum, onde agora é possível alterar as permissões em / usr / sbin / networksetup.

Depois de terminar, siga as mesmas etapas para executar este comando no modo de recuperação:

habilitar csrutil; reiniciar

Seu sistema será reiniciado e o System Integrity Protection será ativado novamente.

jksoegaard
fonte
Embora isso possa resolver o problema do mod de permissões de arquivo, isso não é uma maneira adequada ou recomendada para resolver a questão principal.
klanomath
@klanomath Para quem está executando o El Capitan ou mais tarde, parece-me que esta é a única maneira de realizar o que o OP estava tentando alcançar. A menos que eu esteja enganado, editar o arquivo sudoers sem primeiro desativar temporariamente o SIP é um exercício de futilidade.
I0_ol