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.