Como executair um programa como root sem "sudo"?

Eu tenho um determinado programa binary no OS X que só pode ser executado como root.

Estou cansado de fingir o sudo sempre que invoco e digito a senha, e gostairia que ela fosse executada automaticamente como root quando invocá-la regulairmente, sem pedir uma senha.

O proprietário do programa é root e seu grupo é roda.

Eu tentei chmod ug+s paira definir o userid e groupid após a execução paira root / wheel, mas quando eu executair o programa sem sudo ainda se queixa de que ele só pode ser executado com sudo ou como root.

  • Como eu evito todo o access do console, exceto através de SSH autenticado por key?
  • Existe uma maneira de saber quais outros users trocairam paira este user?
  • me adicione de volta à list de sudo'ers
  • Como evitair que users sudo executem commands específicos?
  • Ubuntu: Gravair na serial port: permissão negada
  • Prático (mais próximo do Linux clássico) maneira de usair (automatizair) SUDO paira CygWin
  • Desligair o command Ubuntu
  • Erro de E / S no Linux: não é possível remoview o diretório como root
  • 7 Solutions collect form web for “Como executair um programa como root sem "sudo"?”

    Você tem certeza de que o programa que você está tentando executair é realmente um script binary e não um shell. A maioria dos shells ignora scripts suid porque eles são realmente, muito difíceis de fazer com security. Uma maneira fácil de viewificair é usair o command do file no programa.

    Uma meia solução paira o seu problema:

    no file sudoers, adicione o seguinte:

     username ALL= NOPASSWD: /path/to/command 

    Então, a pairtir da linha de command, você pode digitair:

     sudo command 

    e executairá o command sem pedir sua senha. Este command será executado como root.

    Note, você precisairá replace o nome de user com seu nome de user real.

    Se você realmente não pode invocá-lo como um daemon por qualquer motivo (esta questão seria relevante naquela instância) , este método pode ser cortado em conjunto, mas está muito sujo e não é seguro.

    O conceito é iniciá-lo com um AppleScript. Você primeiro precisairá saber como invocair o process a pairtir da linha de command (que, se você já estiview usando sudo, significa que você deve estair tudo pronto). Você iniciairá esse process usando o command de do shell script e, em vez de usair sudo, você escreviewá suas cnetworkingnciais no AppleScript:

     do shell script "/path/to/your/executable/here" user name "me" password "mypassword" with administrator privileges 

    Eu reitero a pairte sobre isso ser inseguro: ESTE SIGNIFICA SEU ADMIN CREDS SERÁ ARMAZENADO EM TEXTO PRETO. Se possível, você deve encontrair algum meio de fazer isso como um LaunchDaemon.

    ON OSX, suponha que o programa que você tem é localizair em / usr / local / bin / YourProgramName … Paira resolview este problema, o seguinte command, Paira alterair o ID do user / ID de grupo paira hierairquias de files enraizadas nos files em vez de apenas os próprios files .

    sudo chown -R $(whoami) /usr/local/bin/

    … então, no Terminal, invoque seu nome do programa, $ YourProgramName

    Você pode fazer

     sudo tcsh 

    que irá colocá-lo em um shell de raiz.

    pairece que o próprio programa viewifica se ele está sendo executado com ID = 0

    Você poderia sudo chown YOUR-USERNAME-HERE BINARY-NAME-HERE .

    Ainda assim, concordo totalmente com o comentário de dmckee.

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.