Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
为什么需要进行分组管理?Linux中只有一个超级管理员,就是root,UID为0。其他用户根据任务不同分配不同的权限,一个用户组可以包括多个用户,这样,新建用户时分配权限就更加方便。
自己安装的虚拟机都会在安装系统时要求新建一个用户,登录时使用自己的指定的用户名,需要临时借用root权限可以加sudo或者sudo su root,在当前窗口一直使用root权限。
而云服务器,一般首次登录时,以root身份登录,在超级管理员权限下进行的操作是非常危险的,很容易误操作造成系统崩溃。
这就需要临时分配一个普通用户,下面先使用一个简单的方式创建普通用户:
复制
adduser blackcat
1.
输入命令后,两次确认密码,之后一路回车,y确定即可。
查看当前用户信息:id blackcat
切换到其他用户:sudo su hioier
提示错误:当前blackcat用户不在sudo附加组,这就需要我们添加一个附加组权限。
给用户blackcat分配sudo权限:usermod -aG sudo blackcat
注:当前用户需要新开一个终端切换到root用户操作
查看文件:
复制
root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologin......gdm:x:125:130:Gnome Display Manager:/var/lib/gdm3:/bin/falsesssd:x:126:131:SSSD system user,,,:/var/lib/sss:/usr/sbin/nologinhioier:x:1000:1000:hioier,,,:/home/hioier:/bin/bashsystemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologinblackcat:x:1001:1001:,,,:/home/blackcat:/bin/bash
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
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
1.
useradd命令格式:
复制
useradd 选项 用户名
1.
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录。
-m 用户目录如不存在则自动建立。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
更改默认值:useradd -D -s /bin/bash
添加和修改密码
复制
passwd 用户名 # 给指定用户修改密码passwd 直接回车 # 给当前用户修改密码
1.
2.
复制
userdel [选项] 用户名-r:删除用户时同时删除home下的文件-f:强制删除正在登录的用户
1.
2.
3.
4.
usermod [选项] 用户名
复制
-c:添加备信息 -d:用户的新主目录-m:将家目录内容移至新位置 (仅于 -d 一起使用)-e:设定帐户过期的日期-f:过期 INACTIVE 天数后,设定密码为失效状态-u:用户帐号的新 UID-g:强制使用 GROUP 为新主组 -G:新的附加组列表 GROUPS-a:将用户追加至上边 -G 中提到的附加组中,并不从其它组中删除此用户-p:将加密过的密码-s:该用户帐号的新登录 shell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
复制
groupadd [选项] 用户组参数:-g GID:指定新用户组的组标识号(GID)。
1.
2.
3.
4.
复制
groupdel 用户组
1.
复制
groupmod [选项] 用户组参数: -g GID:为用户组指定新的组标识号。 -n 新用户组:将用户组的名字改为新名字。
1.
2.
3.
4.
5.