Настройка инструментов 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
, например.