Настройка инструментов AWS для PowerShell Core в Linux

Утилита AWS может сказать о привилегиях:

Заметка

Хотя вы можете запустить PowerShell, запустив sudo pwsh для запуска PowerShell с повышенными правами, имейте в виду, что это потенциальная угроза безопасности и не соответствует принципу наименьших привилегий.

Справедливо, но как тогда установить модуль?

thufir@dur:~$ 
thufir@dur:~$ pwsh
PowerShell v6.0.1
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /home/thufir> 
PS /home/thufir> Install-Module -Name AWSPowerShell.NetCore                                                             
Install-Module : Administrator rights are required to install modules in '/usr/local/share/powershell/Modules'. Log on to the computer with an account that has Administrator rights, and then try again, or install '/home/thufir/.local/share/powershell/Modules' by adding "-Scope CurrentUser" to your command. You can also try running the Windows PowerShell session with elevated rights (Run as Administrator).
At line:1 char:1
+ Install-Module -Name AWSPowerShell.NetCore
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Install-Module], ArgumentException
+ FullyQualifiedErrorId : InstallModuleNeedsCurrentUserScopeParameterForNonAdminUser,Install-Module

PS /home/thufir> 
PS /home/thufir> exit                                                                                                   
thufir@dur:~$ 
thufir@dur:~$ 
thufir@dur:~$ sudo pwsh
[sudo] password for thufir: 
PowerShell v6.0.1
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /home/thufir> 
PS /home/thufir> Install-Module -Name AWSPowerShell.NetCore                                                             

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its 
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from 
'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): n
WARNING: User declined to install module (AWSPowerShell.NetCore).
PS /home/thufir> 
PS /home/thufir> exit                                                                                                   
thufir@dur:~$ 

1 ответ

Я считаю, что они случайно поменялись местами здесь:

Затем запустите Install-Module, как показано в следующей команде.

PS> Install-Module -Name AWSPowerShell.NetCore -AllowClobber

Нет необходимости запускать эту команду от имени администратора, если только вы не хотите установить AWS Tools для PowerShell Core для всех пользователей компьютера. Для этого выполните следующую команду в сеансе PowerShell, который вы начали с sudo pwsh:

PS> Install-Module -Scope CurrentUser -Name AWSPowerShell.NetCore -Force

-Scope CurrentUser устанавливает это только для вашего пользователя и не требует прав администратора. Без этого он устанавливает модуль для всех пользователей и требует привилегий. Увидеть Install-Modules документация:

Если область не определена или когда значение Scope параметр AllUsersмодуль установлен в %systemdrive%:\Program Files\WindowsPowerShell\Modules, Когда значение Scope является CurrentUserмодуль установлен в $home\Documents\WindowsPowerShell\Modules,

Для установки без sudoиспользовать -Scope CurrentUser, Это как --user за pip install, например.

Другие вопросы по тегам