更改shell错误

更改shell错误

Ubuntu 20.04

我正在尝试更改用户 backuppc 的 shell:

brad@ubuntu:~$ su - backuppc /usr/bin/bash
Password: 
/usr/bin/bash: 1: Syntax error: "|" unexpected
brad@ubuntu:~$ whereis bash
bash: /usr/bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

更新:已解决

-, -l, --login 以登录 shell 的形式启动 shell,其环境与真实登录类似:

             o      clears all the environment variables except TERM and variables specified by --whitelist-environment

             o      initializes the environment variables HOME, SHELL, USER, LOGNAME, and PATH

             o      changes to the target user's home directory

             o      sets argv[0] of the shell to '-' in order to make the shell a login shell

屁股:

brad@zika:~$ su -
Password: 
su: Authentication failure

我做错了什么?谢谢大家!

答案1

在 Ubuntu 上,root 帐户未激活。因此,该命令su -将不起作用。此命令为 root 用户启动登录 shell,但不起作用。su - backuppc为用户启动登录 shell backuppc。如果该用户存在于系统中,则此命令有效。

要使用 root 权限打开交互式提示符,请使用sudo -i。但是,对于许多管理员任务,很少需要保持具有 root 权限的终端打开。而是在需要 root 权限的命令前加上sudo

要更改另一个用户的登录 shell,例如 user backuppc,你可以使用

sudo chsh backuppc -s <path-to-shell>

相关内容