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.