Como posso executar o dotnet no Ubuntu sem usar o sudo?

3

Estou tentando atualizar as permissões para que eu possa executar um comando (especificamente dotnet restore ). Não tenho certeza se esse problema é específico para executar dotnet ou se é mais genérico.

Eu posso executar o comando usando sudo dotnet restore , no entanto, quero poder executar esse comando sem sudo . Isso porque eu quero executar esses comandos por meio de uma ferramenta de CI (Jenkins), e não quero que essa ferramenta tenha acesso a comandos raiz. . O usuário do Jenkins não pode executar dotnet restore (devido aos erros abaixo) ou sudo dotnet restore (porque ele não tem acesso root).

Quando executo sem sudo , tenho os seguintes erros de dotnet restore :

/usr/share/dotnet/sdk/2.1.104/NuGet.targets(104,5): error : Access to the path '/{file_path_to_project.csproj}/obj' is denied. 
[{file_path_to_project.csproj}]
/usr/share/dotnet/sdk/2.1.104/NuGet.targets(104,5): error :   Permission denied [{file_path_to_project.csproj}]

Estou tentando atualizar as permissões de leitura e gravação do meu usuário no arquivo /usr/share/dotnet/sdk/2.1.104/NuGet.targets e no diretório {file_path_to_project.csproj} , mas até agora ainda recebo os mesmos erros. Isso tem algo a ver com o diretório /obj ? - Quando eu executo ls , o arquivo obj não é mostrado.

Como posso atualizar as permissões para que eu possa acessar esses arquivos sem executar sudo ?

Eu criei um arquivo /etc/sudoers.d/dotnet para ver se ele permitiria que dotnet fosse executado sem precisar chamar sudo . Eu adicionei o seguinte conteúdo: {myusername} {myhostname} = (root) NOPASSWD: /usr/bin/dotnet . No entanto, isso ainda exigia que eu executasse sudo antes de dotnet restore para obter a saída correta.

    
por fuzzi 23.04.2018 / 22:48

0 respostas