前几天我们学习了通配符、正则表达式、配置网络和vim等,今天我们学习用户管理的一部分。
用户管理
Linux的用户
用户是必须的吗? 用户:标识计算机上的资源的归属。
保存账号和密码的数据库文件:
/etc/passwd <<< 保存系统中全部的用户名
/etc/shadow <<< 保存各个用户的密码
/etc/group <<< 保存系统中全部的用户组名
/etc/gshadow <<< 保存各个用户组的密码
用户和用户组:
用户:登录系统的用户名 用户组:多个用户的集合
用户组的作用:方便多个用户的批量管理
用户身份标识:
计算机每个用户设置一个唯一数字
当计算机识别用户的时候,是通过该数字识别的
数字是:uid
用户组的身份标识
gid
/etc/passswd文件详解 例: root:x:0:0:root:/root:/bin/bash
第一段(每个:前为一段):用户名 第二段: 密码占位符,为了安全,放到了另一个文 件 (/etc/shadow)。 第三段:用户的uid 第四段: gid 第五段:用户描述信息 第六段:用户的家目录 第七段:用户的shell类型
常见的shell:
/bin/bash << 默认shell类型,可以登录系统
/sbin/nologin << 无法登入系统
例子: 统计有多少个用户可以登入系统 grep “/bin/bash$” /etc/passwd | wc -l
用户的分类:
管理员用户
uid:0
特点: 默认只有一个,就是root。
root用户是没有任何权限约束
系统用户
uid; 1-999
特点:在Linux安装完成后或者安装了某个程序自动生成的用户
这个用户是默认不能登入系统的
普通用户
uid: 1000+
特点:
需要运行命令来创建
普通用户权限非常小的,通常仅仅能在自己的家目录下进行操作
默认该用户的家目录是在/home下的和用户同名的目录
用户组分类:
用户的基本组
在/etc/passwd中第四段gid,所指的就是用户的基本组
用户的附加组
除了主组以外的组,就是附加组
注意:
一个用户可以属于多个组
一个用户只能有一个主组,其他就是附加组
在用命令创建完用户的时候,默认的会创建一个组,这个组名和用户名是相同的(默认改组就是用户的主组)
linux的文件的属性;
属主;文件属于谁,谁创建的文件,文件的属主是谁
数组:设置文件对一个特定用户组所有的权限
属主、数组默认只有一个的
如果这个用户不属于属主和属组,那么这个用户就是属于“其他用户”
三类用户; 属主、数组、其他用户
创建用户
useradd命令
作用:创建新用户
格式; useradd [选项] 用户名
选项:
-C "string" :设置新用户的描述信息
-d /path/to/dir : 设置用户的家目录
- g gid : 设置用户的gid
- G gid : 指定用户的附加组
-m : 在创建用户的时候,如果家目录不存在,则创建用户的家目录(默认使用该选项)
- r:创建系统用户
用此选项创建用户特点:
默认该用户能登录系统 默认用户无家目录 默认用户uid<999 默认shell类型是/bin/bash