linux怎么创建新用户 ,支持多用户共同使用的操作系统
Linux 用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

为什么需要进行分组管理?Linux中只有一个超级管理员,就是root,UID为0。其他用户根据任务不同分配不同的权限,一个用户组可以包括多个用户,这样,新建用户时分配权限就更加方便。
自己安装的虚拟机都会在安装系统时要求新建一个用户,登录时使用自己的指定的用户名,需要临时借用root权限可以加sudo或者sudo su root,在当前窗口一直使用root权限。
而云服务器,一般首次登录时,以root身份登录,在超级管理员权限下进行的操作是非常危险的,很容易误操作造成系统崩溃。
这就需要临时分配一个普通用户,下面先使用一个简单的方式创建普通用户:
adduser blackcat

输入命令后,两次确认密码,之后一路回车,y确定即可。

查看当前用户信息:id blackcat

切换到其他用户:sudo su hioier

提示错误:当前blackcat用户不在sudo附加组,这就需要我们添加一个附加组权限。
给用户blackcat分配sudo权限:usermod -aG sudo blackcat
注:当前用户需要新开一个终端切换到root用户操作

用户管理
/etc/passwd文件
查看文件:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
......
gdm:x:125:130:Gnome Display Manager:/var/lib/gdm3:/bin/false
sssd:x:126:131:SSSD system user,,,:/var/lib/sss:/usr/sbin/nologin
hioier:x:1000:1000:hioier,,,:/home/hioier:/bin/bash
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
blackcat:x:1001:1001:,,,:/home/blackcat:/bin/bash
1.登录用户名
2.用户密码:x是占位符号,代表当前用户有密码,可以登录,真正的密码在/etc/shadow文件,信息经过加密处理,只有特定的程序,比如,登录程序才可以访问文件里面的内容。
3.用户账号UID:0是唯一的一个超级管理员,当前系统Ubuntu20.04 1~999 是系统账户,有些版本Linux 是1~499。系统账户是指运行的各种服务进程访问资源的特殊账户。所有运行在后台的服务都需要用一个系统账户登录到Linux系统上。
4.用户账户的组ID
5.用户账户的文本描述,成为备注字段
6.用户HOME目录的位置
7.用户默认shell
添加用户
之前使用adduser,然后分配sudo权限,可以简单快速创建新用户,如果要实现更多自定义参数,可以使用useradd。系统默认值在/etc/default/useradd中。
快速查看默认值:
/usr/sbin/useradd -D

useradd命令格式:
useradd 选项 用户名
- 选项:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录。
- -m 用户目录如不存在则自动建立。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
更改默认值:useradd -D -s /bin/bash

添加和修改密码
passwd 用户名 # 给指定用户修改密码
passwd 直接回车 # 给当前用户修改密码
删除用户
userdel [选项] 用户名
-r:删除用户时同时删除home下的文件
-f:强制删除正在登录的用户

更改用户
usermod [选项] 用户名
-c:添加备信息
-d:用户的新主目录
-m:将家目录内容移至新位置 (仅于 -d 一起使用)
-e:设定帐户过期的日期
-f:过期 INACTIVE 天数后,设定密码为失效状态
-u:用户帐号的新 UID
-g:强制使用 GROUP 为新主组
-G:新的附加组列表 GROUPS
-a:将用户追加至上边 -G 中提到的附加组中,并不从其它组中删除此用户
-p:将加密过的密码
-s:该用户帐号的新登录 shell
用户组管理
添加用户组
groupadd [选项] 用户组
参数:
-g GID:指定新用户组的组标识号(GID)。
删除用户组
groupdel 用户组
修改用户组
groupmod [选项] 用户组
参数:
-g GID:为用户组指定新的组标识号。
-n 新用户组:将用户组的名字改为新名字。