Linux中账号和权限管理
目录一、管理用户账号和组账号1.1管理用户账号1.1.1用户账号类型1.1.2用户标识号(UID)1.1.3用户账号文件1.1.4添加用户1.1.5设置、更改用户口令1.1.6修改用户账号属性1.1.7 删除用户账号1.1.8用户账号的初始配置文件1.2管理组账号1.2.1用户账号类型1.2.2组账号文件1.2.3 组账号添加1.2.4添加删除组成员1.2.5 组账号删除groupdel1.3账号
目录
一、管理用户账号和组账号
1.1管理用户账号
1.1.1用户账号类型
超级用户:拥有最高权限
普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主
目录中拥有完整权限 UID1000+
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用
户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行
1.1.2用户标识号(UID)
Linux中每个用户是通过UID来唯一标识的 1-60000自动分配
超级用户UID 0
普通用户UID CentOs6以前 500+ CentOs7以后 1000+
程序用户UID CentOs6以前 1-499 CentOs7以后 1-999
1.1.3用户账号文件
- /etc/passwd
作用:保存用户名称、宿主目录、登录Shell等基本信息
文件位置:/etc/passwd
每一行对应一个用户的帐号记录
以root为例 以":"为间隔
root:x:0:0:root:/root:/bin/bash
(1)第一字段:用户账号
(2)第二字段:密码占位符
(3)第三字段:用户账号ID
(4)第四字段:组账号ID
(5)第五字段:用户说明
(6)第六字段:宿主目录
(7)第七字段:登录Shell
- /etc/passwd
作用:保存用户的密码、账号有效期等信息
文件位置:/etc/shadow
每一行对应一个用户的帐号记录
以root为例 以":"为间隔 root:$6$cHjYg./EBkcf77Lq$.E8j3OecFmySOdzvP3tPi0Bc87nagokrFK9DEJoReUH6YQyp7JfqwoQ0ZcEmeLZbUeA.5eGyW.9AnKpgAEA3j1::0:99999:7:::
(1)第一字段:用户名:root
(2)第二字段:密码
$6$cHjYg./EBkcf77Lq$. 当为*或!!时表示用户不能登录到此系统,若该字段为空,则表示无
需密码即可登录
(3)第三字段:上次修改密码时间
1970年01月01日这是linux诞生的第一年已他作为元年开始计算
date -d '1970-01-01 19031 days" //计算实际修改日期
(4)第四字段:最小修改密码间隔时间
该字段规定了从第3字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是
0,则密码可以随时修改;如果是10,则代表密码修改后10天之内不能再次修改密码。此字是
为了针对某些人频繁更改账户密码而设计的。
(5)第五字段:密码有效期
经常变更密码是个好习惯,为了强制要求用户变更密码,这个字段可以指定距离第3字段(最
后一 次 更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段。该字段的默
认值为 99999,也就是273年,可认为是永久生效。如果改为90,则表示密码被修改90天之
后必须再次修改,否则该用户即将过期。管理服务器时,通过这个字段强制用户定期修改密
码。
(6)第六字段:密码到期提程(提示密码即将过期时间)
与第5字段相比绞,当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户"再
过n天你的密码就要过期了,请尽快重新设置你的密码该字段的默认值是7,也就是说,距离
密码有效期的第7天开始,每次登录系统都会向该账户发出"修改密码"的警告信息。
(7)第七字段:密码过期后的宽限天数(密码过期后多少天禁用此用户)
也称为"口令失效日",简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字
段规 定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登
陆, 也不会提示账户过期,是完全禁用。比如说,此字段规定的宽限天数是10,则代表密码
过期10天后失效;如果是0,则代表密码过期后立即失效;如果是-1,则代表密码永远不会失
效。
(8)第八字段:账号失效时间
同第3个字段一样,使用自1970年1月1日以来的总天数作为账户的失效时间。该字段表示,
账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!该字段通常被使用在
具有收费服务的系统中。
(9)第九字段:保留字段
1.1.4添加用户useradd
格式:useradd [选项] 用户名
选项 | 作用 |
---|---|
-u | 指定用户的UID号,要求该UID号码未被其他用户使用 |
-d | 指定用户的宿主目录位置(当与-M一起使用时,不生效)只能用绝对路径指定目录,且不需要事先创建目录 |
-e | 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式 |
-g | 指定用户的基本组名(或使用GID号) |
-G | 指定用户的附加组名(或使用GID号) |
-M | 不建立宿主目录,即使/etc/login.defs系统配置中已经设定要建立宿主目录 |
-s | 指定用户的登录Shell |
- useradd 用户名
- 批量创建用户
- useradd -u 指定UID号
- useradd -d 指定用户宿主目录
- useradd -e指定用户失效时间
- useradd -M 不建立宿主目录
- useradd -g 指定用户基本组名
- useradd -G 指定用户的附加组名
例:创建用户1122其ID号为1004基本组为qyd 不建立家目录 不允许登录
1.1.5设置、更改用户口令passwd
格式:passwd [选项] 用户
选项 | 功能 |
---|---|
-d | 清空指定用户的密码,仅使用用户名即可登录系统 |
-l | 锁定用户账户,锁定的用户账号将无法再登录系统。 |
-S | 查看用户账户的状态(是否被锁定)。 |
-u | 解锁用户账户 |
passwd 用户
非人机交互更改密码
更改用户口令
1.1.6 修改用户账号属性usermod
格式: usermod [选项] 用户名
选项 | 作用 |
---|---|
-L | 锁定用户账户 |
-I | 更改用户登录名称(Login name) |
-u | 修改用户的UID号 |
-U | 解锁用户账户 |
-d | 修改用户的宿主目录位置 |
-e | 修改用户的账户失效时间,可使用YYYY–MM-DD的日期格式 |
-g | 修改用户的基本组名(或使用GID号) |
-G | 修改用户的附加组名(或使用GID号) |
-s | 指定用户的登录Shell |
- usermod -l
格式:usermod 旧名字 -l 新名字
usermod -l 新名字 旧名字
- usermod -u
- usermod -L、usermod -U
- usermod -e
1.1.7 删除用户账号userdel
格式:userdel [-r] 用户名
添加-r选项时,表示连用户的宿主目录—并删除
1.1.8用户账号的初始配置文件
(1)文件来源
新建用户帐号时,从letc/skel目录中复制而来
(2)主要的用户初始配置文件
用户宿主目录下的初始配置文件只对当前用户有效
- ~/.bash_profile
此文件中的命令将在该用户每次登录时被执行,会设置一些环境变量,并且会调用该用户
的~/.bashrc文件
- ~/.bashrc
此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录切换新的
bash环境)
- ~/.bash_logout
此文件中的命令将在该用户每次退出时bash shell时使用
1.2管理组账号
1.2.1用户账号类型
- 基本组(私有组)有且唯一
建立账户时,若没有指定账户所展的组,系统会建立一个和用户名相同的组.这个组就是私有组,这个组
默认只容纳了一个用户。·在用户所属组中的第一个组称为基本组,基本组在/etc/passwd文件中指
定用户标识号(GID)
- 附加组(公共组)可有0至多个
除了第一个组外的其他组为附加组或公共组,附加组在/etc/group文件中指定
1.2.2组账号文件
- /etc/group:保存组帐号基本信息
- /etc/gshadow:保存组帐号的密码信息
1.2.3 组账号添加groupadd
格式 :groupadd [-g GID] 用户组名
1.2.4添加删除组成员gpasswd
设置组帐号密码(极少用)、添加/删除组成员
格式 :gpasswd [选项] 组帐号名
选项 | 功能 |
-a | 向组内添加一个用户 |
-d | 从组内删除一个用户成员 |
-M | 定义组成员列表,以逗号分隔 |
- gpasswd -a
- gpasswd -d
1.2.5 组账号删除groupdel
格式:groupdel 组账号名
1.3账号信息的查询
1.3.1 groups查看用户所属组
格式:groups 用户名
1.3.2 id查询用户身份标识
格式:id 用户名
1.3.3 finger查询用户帐号的详细信息
使用前需要安装finger安装包
格式:finger [用户名]
1.3.4 who、w、users
查询已登录到主机的用户信息
- who 系统当前所有的登录会话
- w 系统当前所有的登录会话及所做的操作
- users:显示当前登录系统的所有用户
二、文件、目录的权限和归属
1、访问权限
- 读取r:允许查看文件内容、显示目录列表
- 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- 可执行x:允许运行程序、切换目录
使用 ls -l 查看文件属性
2、归属(所有权)
- 属主:拥有该文件或目录的用户帐号
- 属组:拥有该文件或目录的组帐号
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者 | 文件所属组 | 其他用户 |
3、 设置文件和目录的权限chmod
格式:chmod [ugoa] [+-=] [rwx] 文件或目录
u:属主 g:属组 o:其他用户 a:所有用户
+:增加 -:去除 =:设置权限
r: 读 w:写 x :运行
或: chmod nnn(3位八进制数) 文件或目录
-R :递归修改指定目录下所有子项的权限
- 递归更改权限
4、设置文件和目录的归属chown
格式:chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
-R :递归修改指定目录下所有文件、子目录归属
- 改变属主:chown 属主 文件或目录
- 改变属组: chown :属组 文件或目录
- 改变属主与属组 chown 属主:属组 文件或目录
-R 递归修改指定目录下所有文件、子目录归属
正确方法:
5、权限掩码umask
3.1umask作用
控制新建的文件或者目录的权限
- 默认权限去除umask的权限为新建的文件或者目录的权限
- 文件默认权限为666,目录默认权限为777
3.3umask使用
- umask设置:umask 022
- umask查看: umask
当掩码为011时文件的权限仍为666 不会为655 因为文件本身权限就为666 没有执行权限 不需要减去1 (执行权限在八进制数下表示为1)所以仍然为666
更多推荐
所有评论(0)