一,Linux的用户
1,用户:标识计算上的资源的归属
2,保存账号或者密码的数据库文件:
- /etc/passwd 保存系统中全部的用户名
- /etc/shadow 保存各个用户的密码
- /etc/group 保存系统中全部的用户组名
- /etc/gshadow 保存各个用户组的密码
3,用户和用户组:
- 用户:登录系统的用户名
- 用户组:多个用户的集合
4,用户组的作用:
- 方便多个用户的批量管理
5,用户身份标识:
- 计算机每个用户设置一个唯一数字
- 当计算机识别用户的时候,是通过该数字识别的
- 数字是:uid
- 用户组的身份标识: gid
5,/etc/passwd
文件详解
root:x:0:0:root:/root:/bin/bash
- 文件每一行都是一个用户
- 第一段:用户名
- 第二段:密码占位符,为了安全,放到了另一文件(/etc/shadow)
- 第三段:用户的uid
- 第四段:gid
- 第五段:用户描述信息
- 第六段:用户的家目录
- 第七段:用户的shell类型
6,常见的
shell
:
- /bin/bash 默认shell类型,可以登录系统
- /sbin/nologin 无法登入系统
例:统计有多少个用户可以登入系统
grep "/bin/bash$" /etc/passwd | wc -l
二,用户的分类:
linux用户的分为三类的
第一类:管理员
uid = 0 用户
默认 root 的uid 是0,所以root是管理员
系统默认就创建的
权限非常高,可以执行任意的操作
第二类:系统用户
uid 是 1-999
通常无法登录系统,而且也没有用户家目录
系统用户的作用是用来运行一个特定的程序
第三类:普通用户
uid > 1000
普通用户都是在系统创建完成后,新创建的用户
普通用户权限非常低,通常只能在自己的家目录下进行操作
1,管理员用户
uid
:
0
特点:
- 默认只有一个,就是root
- root用户是没有任何权限约束
2,系统用户
uid
:
1-999
特点:在
Linux
安装完成后或者安装了某个程序自动生成的用户
- 这类用户是默认不能登入系统的
3,普通用户
uid
:
1000+
特点:
- 需要运行命令来创建
- 普通用户权限非常小的,通常仅仅能在自己的家目录下进行操作
- 默认该用户的家目录是在/home下的和用户同名的目录
三,用户组分类:
1,用户的基本组
- 在/etc/passwd中第四段gid,所指的就是用户的基本组
2,用户的附加组
- 除了主组以外的组,就是附加组
注意:
- 一个用户可以属于多个组
- 一个用户只能有一个主组,其他就是附加组
- 在用命令创建完用户的时候,默认的会创建一个组,这个组名和用户名是相同的(默认该组就是用 户的主组)
四,linux的文件的属性:
1,属主:文件属于谁,谁创建的文件,文件的属主就是谁
2,属组:设置文件对一个特定用户组所有的权限
- 属主、属组默认只有一个的
- 如果这个用户不属于属主和属组,那么这个用户就是属于“其他用户”
3,三类用户:
- 属主
- 属组
- 其他用户
五,创建用户
1,useradd命令:
作用:创建新用户
格式:
useradd [
选项
]
用户名
选项:
- -c “string” :设置新用户的描述信息
- -d /path/to/dir :设置用户的家目录
- -g gid :设置用户的gid
- -G gid:指定用户的附加组
- -m:在创建用户的时候,如果家目录不存在,则创建用户的家目录(默认使用该选项)
- -M:不自动创建家目录
- -r:创建系统用户
用此选项创建用户特点:
- 默认该用户能登录系统
- 默认用户无家目录
- 默认用户uid<999
- 默认shell类型是/bin/bash
- -s shType :指定用户的shell类型
- /bin/bash
- /sbin/nologin
- -u uid:指定用户的uid
2,groupadd命令
作用
:
新建用户组
格式:
groupadd
组名:
例:新建一个组名是
a1
的组
groupadd a1
选项:
- -g :指定用户组的组id
例:新建一个组名是
a2
,组
id
是
1080
的组
groupadd -g 1080 a2
3,id命令
作用:显示指定用户的
id
信息
格式:
id [
选项
]
用户名
选项:
- -u:显示用户的uid
例:显示aa2的uid
id -u aa2
- -g:显示用户的gid
例:显示aa2的gid
id -g aa2
- -G:显示用户的全部组id
id -G jery1
4,passwd命令
作用:修改用户的密码(给用户设置密码)
格式:
passwd [
选项
]
用户名
- passwd 用户 --修改指定用户的密码
- passwd --修改当前用户的密码
- 默认root能修改其他用户的密码,其他用户只能修改自己的密码
选项:
- -l:锁定用户(只有root用户才能进行操作)
- -u:解锁用户
5,userdel命名
作用:删除用户
格式:
userdel [
选项
]
用户名
选项:
- -r:在删除用户的时候,同时删除用户的家目录
例:删除用户
aa1
的同时删除其家目录
userdel -r aa1
6,chsh命令
作用:修改用户的
shell
类型
格式:
chsh [-s type]
用户名
例:
chsh -s /sbin/nologin qaz
7,usermod命令
作用:修改用户的基本信息
格式:
usermod [
选项
]
用户名
选项:
- -g:修改基本组(组不存在,现创建组)
例:usermod -g 1080 aa2
- -G:修改附加组
例:usermod -G 1070 aa2
- -u:修改uid
例:usermod -u 0 aa2
- -c:修改用户的描述信息
例:usermod -c "aa2" aa2
- -d:修改用户的家目录
例:usermod -d /tmp/a666 aa2
- -s:修改用户的shell类型
例:usermod -s /sbin/nologin aa2
- -l:修改用户名
例:usermod -l a66 aa2
8,su命令
作用:切换用户
选项:
- -c:普通用管理员身份执行命令
例
su -c "mkdir /a66" root
注意:
su切换用户后,返回需要输出命令:
exit