Linux环境下创建新用户 切换用户后不显示用户id且无法使用指令

最近需要创建Linux相关用户账号,但在按简单命令创建,并设置密码后,问题如下

1.不显示用户名和机器名

原本应该是 user@YourComputerName,但实际效果如下,只有一个$


2.无法使用shell命令

经查询,需要输入以下命令

sudo useradd -m -s /bin/bash abc  # 创建用户并生成家目录,指定bash为默认shell
sudo passwd abc                  # 设置密码

随后,创建账户成功。

### Linux 系统中使用 `su` 命令实现用户切换 #### 1. `su` 命令概述 `su` 是 Linux 系统中的一个重要工具,用于在用户之间进行身份切换。其主要功能是从一个已登录的用户账户切换到另一个目标用户账户[^2]。执行此操作时可能需要提供目标用户的密码验证安全性。 #### 2. 从 a 用户切换至 b 用户的具体方法 假设当前已经以用户 `a` 登录系统,并希望切换用户 `b`: - 输入命令形式如下: ```bash su - b ``` 这条语句的作用是以完全环境替换的方式将当前会话转换给用户 `b` 使用。这意味着仅改变了有效的用户 ID (EUID),还会加载属于新用户的 shell 配置文件以及工作目录等内容设置。 注意事项包括但限于以下几点: - 若由普通权限下的某位成员尝试变更成为超级管理员角色(`root`)或其他非同级别的账号,则通常情况下会被请求出示对应的新帐户密码来进行确认授权流程。 - 反之亦然,当拥有较高特权等级的身份如 root 下降为一般使用者状态时则往往再额外询问密钥信息就能顺利达成目的因为上级天然具备操控下层资源的能力特性所致[^2]。 另外值得注意的是,在某些特殊场合或者出于安全考虑因素限制下,部分服务器可能会关闭跨组间自由互转的功能选项,因此遇到无法正常生效的情形应当检查本地策略规定是否存在此类约束条件影响正常使用体验效果。 --- ### 示例代码演示 下面给出一段简单的脚本例子展示如何利用 Bash Shell 编写自动化处理逻辑完成两个固定名称之间的快速来回跳转动作: ```bash #!/bin/bash echo "Current User: $(whoami)" read -p "Enter target user name(b): " TARGET_USER if [[ "$TARGET_USER" == "b" ]]; then echo "Switching to user $TARGET_USER..." su - $TARGET_USER else echo "Invalid Target User!" fi ``` 上述脚本首先打印现有登陆者是谁,接着提示输入想要到达的目标用户名字(此处预设应填写 'b'),最后依据判断结果决定是否启动真正的切换进程。 --- ### 注意要点总结 为了保障整个过程平稳有序开展下去,请务必牢记几个关键环节: - 正确拼写出待访问对象的确切称呼以免发生误解错误; - 对于涉及敏感数据的操作行为保持高度警惕态度绝轻易泄露个人隐私资料; - 当发现异常状况难以解决之时及时寻求专业技术支持帮助摆脱困境局面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值