Типичный. Это теперь только что волшебно исправило себя! Я подозреваю, что это была проблема с распространением записей DNS.
sudo -u <username> <command>
sudo принимает пользовательский параметр, который запускает его от имени этого пользователя.
В качестве альтернативы, поскольку вы являетесь пользователем root:
su <username> -c <command>
You should be able to do the following
runuser -l
e.g
runuser -l Aegir -c service httpd restart
But if you are root you can just su to the user with out a password.
su -l Ageir
J
su aegir
is what you're looking for, assuming the username is aegir
. man su
will give you more info on the su
command.
That user likely won't be able to actually restart Apache if it's running on port 80, unless specifically configured to be allowed to do so. By default, root
is the only user that can bind a service to a low port number.
Вы можете работать от имени пользователя, используя -u. Это не приведет к открытию программ, так как вы «вошли в систему» как этот пользователь, поэтому вам нужно будет указать весь путь.
Пример
jupyter notebook
Будет таким, если обычный пользователь Ubuntu:
sudo -u ubuntu /home/ubuntu/.local/bin/jupyter notebook
Найти местоположение Jupyter:
which jupyter
#Result: /home/ubuntu/.local/bin/jupyter