Cygwin faltando sudo

Cygwin faltando sudo

Estou tentando executar um script Linux em minha máquina Windows usando o cygwin.

Eu já li e tentei as soluções deNão há comando 'sudo' no Cygwin, sem qualquer sucesso.

Eu tenho um script que usa sudo no ambiente Linux normal. mas quando executo o scirpt no cygwin, ele gera esta mensagem de erro:

project_common.sh: line 604: sudo: command not found

Eu sei que o cygwin não tem sudo, e a pergunta referenciada mencionada anteriormente dizia para usar:

>#!/usr/bin/bash
>"$@"

Tentei executar esse comando antes de executar o script. e também incorporando o comando no script. Nenhum dos dois ajuda. Portanto, não tenho certeza do que estou perdendo.

Responder1

Remova todos os sudoitens do arquivo e execute o script como administrador.

Dito isto, a ideia do Linux roote a ideia do Windows do Administrador não correspondem exatamente. Você ainda pode ter problemas de permissão que precisam ser corrigidos manualmente ou modificando ainda mais o script, especialmente no Windows Vista/7.

A propósito, a pergunta referenciada queria que você colocasse

>#!/usr/bin/bash
>"$@"

em um arquivo chamado sudo, conceda permissão executável com chmode coloque-o em algum diretório no seu $PATH, como /sbin. O arquivo resultante não fará nada, exceto executar os parâmetros que você fornecer como comando. A ideia era fazer um sudo "falso" que não fizesse nada. Você também pode simplesmente excluir os sudodo arquivo.

Responder2

Experimente isto:

#!/usr/bin/env bash

cygstart --action=runas "$@"

Funciona de forma semelhante ao sudo, a desvantagem é que você precisa confirmar a caixa de diálogo do UAC manualmente. Este script faz parte do meurepositório de pontos.

Responder3

Existem outras respostas emStackoverfloweSuperusuárioque mostra como executar um comando com privilégios elevados a partir de um prompt do Cygwin. Estou usando um alias:

alias sudo="cygstart --action=runas"

Funciona perfeitamente para programas externos (embora não integrados ao shell):

sudo chown User:Group <file>

informação relacionada