Ubuntu 新建用户 Shell 命令行显示异常

目录

相关环境

问题描述

问题原因

解决方法

解决方法一

解决方法二

附录


相关环境


Ubuntu 20.04 

问题描述


在使用 Ubuntu 系统 root 用户创建一个普通用户后,发现 Shell 命令行显示很简单,不显示用户名、hostname等信息。
root@ecszjk:~# useradd test -m
root@ecszjk:~#
root@ecszjk:~#
root@ecszjk:~# su – test
$
$ id         
uid=1001(test) gid=1001(test) groups=1001(test)
$

问题原因


这个问题是由于新创建的用户默认使用的是 /bin/sh 而不是 /bin/bash,两种不同规范的 Shell 不一样。
可以从 /etc/passwd 中查看账号的 Shell 命令,从 /etc/passwd 中可以看到默认创建的用户使用的是 /bin/sh,而 root 用户使用的是 /bin/bash。
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
…
test:x:1001:1001::/home/test:/bin/sh

解决方法

解决方法一

使用 root 用户编辑 /etc/passwd 文件,将对应用户的 Shell 改为 /bin/bash,并保存退出
root@ecszjk:/etc# vim /etc/passwd

使用 vim 的命令模式输入 :wq 保存并退出。

解决方法二

使用 root 用户执行 usermod 命令为对应用户更新 Shell
root@ecszjk:~#
root@ecszjk:~# usermod test -s /bin/bash
root@ecszjk:~# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
…
test:x:1001:1001::/home/test:/bin/bash

附录


1、useradd 用法
root@ecszjk:/etc# useradd –help
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]
Options:
      –badnames                do not check for bad names
  -b, –base-dir BASE_DIR       base directory for the home directory of the
                                new account
      –btrfs-subvolume-home    use BTRFS subvolume for home directory
  -c, –comment COMMENT         GECOS field of the new account
  -d, –home-dir HOME_DIR       home directory of the new account
  -D, –defaults                print or change default useradd configuration
  -e, –expiredate EXPIRE_DATE  expiration date of the new account
  -f, –inactive INACTIVE       password inactivity period of the new account
  -g, –gid GROUP               name or ID of the primary group of the new
                                account
  -G, –groups GROUPS           list of supplementary groups of the new
                                account
  -h, –help                    display this help message and exit
  -k, –skel SKEL_DIR           use this alternative skeleton directory
  -K, –key KEY=VALUE           override /etc/login.defs defaults
  -l, –no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, –create-home             create the user’s home directory
  -M, –no-create-home          do not create the user’s home directory
  -N, –no-user-group           do not create a group with the same name as
                                the user
  -o, –non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, –password PASSWORD       encrypted password of the new account
  -r, –system                  create a system account
  -R, –root CHROOT_DIR         directory to chroot into
  -P, –prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, –shell SHELL             login shell of the new account
  -u, –uid UID                 user ID of the new account
  -U, –user-group              create a group with the same name as the user
  -Z, –selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping
      –extrausers              Use the extra users database
2、/bin/sh 与 /bin/bash 的区别
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值