- 用户和组账号概述
- 用户账号
- 用户账号分类:超级用户 普通用户和程序用户
超级用户:rootlinux中的默认的超级用户,和windows中的administrator类似,拥有至高无上的权限.(慎用) 日常事务处理建议使用普通用户
普通用户:是有管理员创建的用户,权限有限,只对自己的家目录拥有完整权限
程序用户:安装操作系统以及部分应用程序时,添加的一些低权限账户,这些用户不能登录系统
- 组账号
组账号是一组用户的集合.每一个用户至少属于一个基本组(私有组),可以同时属于多个附加组
组账号的分类:基本组(私有组)和附加组(公共组)
- UID
UID(用户表示符):用户的数字形式的唯一标识符
root的UID为0
程序账号的UID默认是1-499
普通用户的UID默认是500-60000
- GID
GID(组账户标识符):组的数字形式的唯一标识符
root组账号的UID为0
程序账户组的GID:1-499
普通用户组的GID:500-60000
- 用户账户管理
- 用户账号文件
与用户账户相关联的两个文件是/etc/passwd和/etc/shadow
/etc/passwd:保存用户账户名称,宿主目录,登录shell等信息
/etc/shadow:存放用户密码,账号有效期等信息
- Passwd文件格式解析Z
所有用户都有可以访问,但是只有root才可以更改.
root:x:0:0:root:/root:/bin/bash
Root |
X |
0 |
0 |
Root |
/root |
/bin/bash |
账户名称 |
加密的密码占位符 |
用户账号的UID |
用户账号的GID |
用户全名 |
宿主目录 |
登录后使用的SHELL |
- Shadow文件格式解析
shadow文件又被称为”影子文件”,存放账号的信息和密码,非常重要,严格控制访问
root:$6$3uiu.ktWda5L4Zt6$wLH0GDH5I4uE0::0:99999:7:::
用户账号 |
使用sha-512加密后的密码 |
上次修改密码的时间,从1970.1.1到最近一次修改时间的间隔天数 |
密码的最短有效天数.0为不限制 |
密码的最长有效天数,默认为99999,表示为不限制 |
提前多少天警告密码过期,默认为7天 |
在密码过期后多少天禁用账号 |
账号失效时间,为空表示账号永久可用 |
保留字段备用 |
- 添加修改删除用户账号
- useradd命令-----添加用户账户
- Useradd 用户名
Useradd zhangsan ---------创建用户zhangsan
- Useradd 选项参数
- -u:指定用户的uid
- -d:指定该用户的家目录
- -e:指定用户的失效时间(格式:yyyy-mm-dd)
- -g:指定用户的基本组名(或是GID)
- -G:指定用户的附加组名(或是GID)
- -s:指定用户的登录shell
例如:useradd -d /admin -g jishubu -G root admin
解析:创建用户admin 指定/admin目录为其家目录 将其加入jishubu基本组,同时属于root附加组
- Passwd命令-----为账户设置密码
Passwd 用户名 ------------给指定用户设置密码
新密码: ---- ----过于简单会提示,但是可以使用
确认密码:
Passwd选项:
-d:清空指定用户密码
Passwd -d aa -------清空aa用户的密码
-l:锁定用户账户
-S:查看用户状态(是否被锁定)(大写)
-u:解锁用户
- usermod命令----修改已存在用户账号属性
Usermod是对已经存在的用户设置各种属性
usermod命令选项:
-u:修改用户的UID
-d:修改用户的宿主目录位置
-e:修改用户的账户失效时间
-g:修改用户的基本组
-G:修改用户的附加组
-s:指定用户的登录shell
-l:更改用户账户的登录名(usermod -l 新名称 旧名称)
-L:锁定用户账户
-U:解锁用户账户
- userdel命令------删除用户账户
Userdel 用户名 ------删除指定用户
Userdel命令选项:
-r:删除用户是连同家目录一起删除
- 用户账号的初始配置文件
添加一个用户后,useradd命令会在该用户的宿主目录中建立一些初始配置文件,这些文件都是隐藏的.
文件包括三个:
- .bash_logout ----文件中的命令将会在每次退出登录时执行
- .bash_profile -----文件中的命令将会在用户每次登录时被执行
- .bash_bashrc -----文件中的命令将会在每次加载bash时候执行
/etc目录下也有bashrc这个文件,这里面的文件是面对所有用户(全局配置)
- 组账号管理
- 组账号文件
与组行号相关的两个文件:/etc/group和/etc/gshadow
/etc/group:存放组账号名称,GID,组成员
/etc/gshadow:存放组账号的密码字符串等信息(很少用)
Grep “^root” /etc/group
- 添加管理删除组账号
- Groupadd命令----添加组账号
Groupadd jishubu ------------创建技术部组
- Gpasswd命令-----添加设置删除组成员
Gpasswd -a zhangsan root ---------将zhangsan加入root组
Gpasswd -d zhangsan root ---------将zhangsan从root组里删除
Groups 用户名 -----------------查看指定用户的所属组情况
Gpasswd -M aa,bb,cc,dd jishubu -------------将aa bb cc dd 四个用户同时加入jishubu组
- Groupdel命令-----删除组账号
Groupdel jishubu --------------删除jishubu组
- 查询账号信息
- groups命令-----查询用户账号所属的组
Groups zhangsan -----查询张三同时属于那些组
- Id -------查询用户账户的身份标识
Id root --------查询用户root的ID信息
- finger命令 -------查询用户账户的登录属性
Finger root ------查询用户root的登录属性
- w命令--------查询当前主机的用户登录情况
管理文件和目录的属性
- 查看目录和文件属性
ls -ld 目录名 -----------查看指定目录的属性信息
Ls -ld 目录1 目录2 --------查看多个目录的属性信息
drwxr-xr-x.
d |
Rwx=7 |
r-x=5 |
r-x |
. |
表示文件类型 (-:文件 d:表示目录 l:表示连接文件) |
文件的属主用户权限 |
文件属组用户的权限 |
该文件其他任何用户权限 |
SElinux权限 |
权限划分:
r:读取权限(查看文件内容) ----------数字”4”表示
W:写入权限(修改权限)------------数字”2”表示
X:执行权限(程序或是目录的双击打开权限) ------数字”1”表示
普通无法访问/etc/shaw文件 ls -l /etc/shadow
- 设置目录和文件的权限
Chmod [ugoa] [+-=] [rwx] 文件/目录 -------调整权限的命令格式
u:文件属主
g:文件属组
o:其他用户
a:代表所有人(a=u+g+o)
Chmod u+w aa.txt ---------给aa.txt文件的属主增加写入权限
Chmod [][][] 文件/目录 -------数字的方式来设置权限
7=4+2+1 -------7就是r+w+x 读写执行权限(完全控制)
5=4+1 --------5就是读和执行(只读)
Chmod 755 aa.txt -------将aa.txt文件的权限设置为属主是7 属组是5 其他用是5
Chmod命令选线:
-R:权限递归
Chmod -R 755 /pub -------将/pub目录权限设置为755,同时递归此目录下的所有对象
- 设置目录和文件的归属
文件和目录的归属就是属组和属主
Chown 属主:属组 文件/目录 ---------更改指定目录的属主和属组
Chown 属主 文件/目录 ----------更改指定目录的属主
Chown zhangsan:jishubu aa.txt ------将aa.txt文件的属主改为zhangsan 属组改为jishubu
Ls -l aa.txt ------查看验证文件的属主和属组是否改变