Как запускать команды с неадминистративной учетной записи на MacOS Ventura 13.7
Если вы пытаетесь запускать команды с учетной записи, не обладающей правами суперпользователя, на вашем Mac с установленной операционной системой Ventura 13.7, вы можете столкнуться с некоторыми проблемами. В этой статье мы рассмотрим ошибку, которую вы можете получить, и предоставим вам правильные команды для выполнения необходимой задачи.
Проблема с запуском команд
Вы можете столкнуться с сообщением об ошибке «Sorry, try again», даже если вводите правильный пароль. Эта проблема возникает, когда вы попытаетесь использовать команду sudo
от стандартной учетной записи пользователя. На MacOS учетные записи стандартного уровня не имеют прав для выполнения команд с использованием sudo
.
Почему ошибка возникает
Проблема в том, что стандартные пользователи не могут использовать команду sudo
, которая предназначена исключительно для учетных записей с правами администратора. Если вы попытаетесь ввести sudo -u username
, система не позволит вам выполнить данную команду, так как ваша учетная запись не имеет достаточных привилегий.
Как выполнить команду
Чтобы выполнить команды от имени администратора, вы можете использовать команду su
вместо sudo
. Правильный формат выглядит так:
su username -c '<command>'
Здесь <command>
— это команда, которую вы хотите выполнить. Например, если вы хотите выполнить команду echo "hi there"
, то вам нужно будет ввести:
su username -c 'echo "hi there"'
Пример выполнения команды с правами суперпользователя
Допустим, вы находитесь в стандартной учетной записи, например rpj
, и хотите выполнить команды от имени администратора, который в нашем примере будет dma
. Вы можете сделать это следующим образом:
% whoami
rpj
% su dma -c whoami
Password:
dma
Здесь вы сначала входите в учетную запись администратора с помощью su
, а затем используете команду whoami
, чтобы подтвердить, что вы действительно вошли под учетной записью администратора.
Получение прав суперпользователя
Другой вариант — это сначала стать суперпользователем, а затем вводить команды, которые требуют прав администратора. Для этого выполните следующую последовательность команд:
% whoami
rpj
% su dma -c "sudo -k -s"
Password:
Password:
# whoami
root
# exit
% whoami
rpj
%
Здесь мы сначала вводим пароль администратора для получения прав, а затем указываем команду, которую хотим выполнить.
Заключение
Запускать команды с учетной записи без прав суперпользователя — это задача, требующая внимания к деталям. Используйте команду su
для новых сеансов и будьте осторожны с командами, которые требуют административных прав. Правильное выполнение этих команд поможет вам избежать ошибок и неисправностей в вашей системе.