文章目录
前言
- 作为一个多用户、多任务的服务器操作系统,Linux 系统提供了严格的权限管理机制
- 主要从用户身份、文件权限两方面对资源访问进行限制
一、管理用户账号
1.用户账号概述
- 与windows操作系统相比,Linux系统中的用户账号和组账号的作用在本质上一样的
- 同样都是基于用户身份来控制对资源的访问,只不过在表现形式及个别细节方面存在些许差异
1.1 用户账号
在 Linux 系统中,根据系统管理的需要将用户账号分为不同的类型,其拥有的权限、担任的角色也各不相同,主要包括以下三类
- 超级用户:
root 用户是 Linux
操作系统中默认的超级用户账号,对本主机拥有最高的权限;系统中超级用户是唯一的 - 普通用户
由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限 - 程序用户
在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等
1.2 UID号
- Linux 系统中的每一个用户账号都有一个数字形式的身份标记,称为 UID(User IDentity,用户标识号)
- 对于系统来说,UID 作为区分用户的基本依据,原则上来说每个用户的 UID 号应该是唯一的
- root 用的 UID 号为固定值0;而程序用户账号的UID号默认为1 ~ 999;普通户UID默认为1000 ~ 60000
1.3 用户账号文件
Linux想系统中的用户账号、密码等信息均保存在响应的配置文件中,直接修改这些文件或使用用户管理命令都可以对用户账号进行管理
1.3.1 用户账号文件——/etc/passwd
- 保存用户名称、宿主目录、登录Shell 等基本信息
- 文件位置:/etc/passwd
- 每一行对应一个用户的帐号记录
[root@localhost~]# head-2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
1.3.2 用户账号文件——/etc/shadow
- 默认只有root用户能够读取shadow文件中的内容
- 且不允许直接编辑该文件中的内容
root: $6$VyOUGgOC$v5H1LM1wagZc/FwGfnrtJFn1T:18445:0:99999:7:::
字段1:用户帐号的名称
字段2:使用MD5加密的密码字串信息,当为"*"或"! "时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统
字段3:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数
字段4:密码的最短有效天数, 自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制
字段5:密码的最长有效天数, 自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
字段6:提前多少天警告用户密码将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算) ,默认值为空,表示账号永久可用。
字段9:保留字段(未使用)
- 使用cat 查看/etc/shadow,默认只有root用户才能读取该文件中的内容,且不允许直接编辑该文件中的内容
- 如果在环境生产中程序升级程序失败,出现账号已过期的报错,可以将账号设置为永不过期,即将第五个字段更改为99999,表示不进行限制,即可
- shadow的权限是非常高的,不能进行读取编辑与执行
2.用户账号管理
2.1 添加用户账号-useradd
- 基本命令格式:
useradd [选项<