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