Ubuntu16.04系统中创建新用户

本文基于Linux的Ubuntu系统新建一个普通用户,linux系统的用户名为peng, 主机名为ubuntu

  • 1. 新建用户
  • 2. 允许该用户以管理员身份执行指令

1. 新建用户

1.1 新建只能在控制台下登录的用户

  • 1) 切换为root用户为了获取创建用户的权限
peng@ubuntu:~$ sudo su
  • 1
  • 2) 添加一个新用户(如用户名为csdn)
root@ubuntu:/home/peng# useradd csdn
  • 1
  • 3) 为该用户设定登录密码
root@ubuntu:/home/peng# passwd csdn
  • 1

这里写图片描述

  • 4) 为该用户指定命令解释程序(通常为/bin/bash)
root@ubuntu:/home/peng# usermod -s /bin/bash csdn
  • 1
  • 5) 为该用户指定用户主目录
root@ubuntu:/home/peng# usermod -d /home/csdn csdn
  • 1
  • 6) 查看用户的属性
root@ubuntu:/home/peng# cat /etc/passwd
  • 1

这里写图片描述

可以看到,已经存在csdn这个用户。/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:

用户名:口令:用户标识号:组标识号:注释性描述:用户主目录:命令解释程序

  • 7) 切换到用户csdn
root@ubuntu:/home/peng# su csdn
  • 1

切换后如下:

这里写图片描述

可以看到登陆以后的用户csdn当前所在目录仍为“/home/peng”,即用户peng的主目录。

这种方式只能在控制台中互相切换用户,一旦重启系统,用该用户还是无法登陆(只能用原来的用户或root登陆)。

1.2 新建可登录图形用户界面的用户

  • 1) 切换为root用户为了获取创建用户的权限
peng@ubuntu:~$ sudo su
  • 1
  • 2)添加一个新用户(如用户名为csdn)
root@ubuntu:/home/peng# adduser csdn
  • 1

然后根据系统提示进行密码和注释性描述的配置,全程不用自己输入其他命令即可配置成功,用户主目录和命令解析程序都是系统自动指定。

这里写图片描述

  • 3) 查看用户的属性
root@ubuntu:/home/peng# cat /etc/passwd
  • 1

这里写图片描述

可以看到,与1.1相比,这里多了我们刚才为用户指定的用户全名CSDN。

  • 4) 退出当前用户,以用户csdn登陆系统

这里写图片描述

可以看到登陆以后的用户csdn当前所在目录为~,即“/home/csdn”。

1.3 二者命令的差别

两种方式最大的差别在于新建用户的命令不同,第一种是useradd, 第二种是adduser。相对应的,如果要删除用户,第一种的命令为userdel, 第二种是deluser.

2. 允许该用户以管理员身份执行指令

当我们在指令前加入“sudo”执行一些指令时(如切换到root用户),会出现错误:

csdn is not in the sudoers file. This incident will be reported.

这里写图片描述

  • 1)再次切换到root用户(不要用sudo su, 而用su root)
csdn@ubuntu:/home/peng$ su root
  • 1

如果这里提示“su: Authentication failure”,是因为没有给root设置登录密码,解决方法:
1.先切换回用户peng: su peng
2.在给root设置登录密码:sudo passwd root

  • 2)执行visudo命令
csdn@ubuntu:/home/peng$ visudo
  • 1
  • 3)该命令实际上打开的是/etc/sudoers文件,修改该文件,在“root ALL=(ALL:ALL) ALL”这一行下面加入一行:

csdn ALL=(ALL:ALL) ALL

ctrl+o(然后再按enter)保存,ctrl+c取消,ctrl+x退出

这里写图片描述

  • 4)切换回csdn
root@ubuntu:/home/peng# su csdn
  • 1
  • 5) 用sudo su再次登录root
csdn@ubuntu:/home/peng$ sudo su
  • 1

这里写图片描述

可以看到,用户csdn就可以用用sudo命令以管理员身份执行指令了。

Logo

更多推荐