Linux中的账号和权限管理
引言
Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户。
Linux系统用户是根据用户ID来识别的,默认ID长度为32位,默认ID编号从0开始,但是为了和老式系统兼容,用户ID限制在60000以下。
一、用户账户管理
1.1、用户账户分类
- 超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限,系统中超级用户是唯一的。
- 普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。
- 程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等。
1.2、UID和GID
Linux系统中的每一个用户账号和组账号都有一个数字形式的身份标记,称为UID(UserIDentity,用户标识号)和GID(Group IDentify,组标识号)。
超级用户的UID和GID 固定值0 固定值0
程序用户账号的UID和GID号默认为 Centos5,6: 1~499,Centos7: 1~ 999
普通用户的UID和GID号默认为 Centos5, 6: 500~ 65535,Centos7: 1000~ 65535
1.3、用户账户文件
文件位置: /etc/passwd
保存用户名称、宿主目录、登录shell等基本信息(任何用户都可读取)
7个字段,用":"隔开
1: 用户名
2 :密码占位符“X”或密码加密的字符串
3 :UID号 (主)
4 :GID号 (组)
5 :用户名描述信息
6 :宿主目录
7 :登录shell信息,一般是/bin/bash
读取方式举例:
cat /etc/passwd
head - 2 /etc/passwd
tail -1 /etc/passwd
注意:
结尾是/sbin/nologin ###这些程序账号是用来访问服务,不能用来登录系统
文件位置: /etc/shadow
保存用户的密码、账号有效期等信息(默认只有root用户能够读取)
9个字段,用:隔开
1 账户名
2 密码信息,当为*或!!时表示用户不能登录到此系统,若该字段为空,则表示无需密码即可登录
3上次修改密码时间 1970年1月1号到最近修改密码间隔的天数
4 密码的最短有效天数,如0则不限制
5 密码的最长有效天数,如99999则不进行限制
6 提前多少天告警,用户口令将过期,默认是7
7 密码过期后多少天内禁用此用户
8 账号失效时间,1970年1月1日计算,默认是空则账号永久使用9 保留字段,目前没使用
1.4、用户账户管理
useradd 命令–添加用户账号
*注意:useradd命令只能对新建用户设置,对已有用户无法设置
选项 | 说明 |
-u | 指定Uid |
-d | 指定家目录位置 |
-e | 失效时间 |
-g | 基本组 |
-G | 附加组 |
-M | 不生成家目录 |
-s | 指定shell类型 |
passwd 命令–设置/更改用户口令
选项 | 说明 |
-d | 清空用户密码 |
-l | 锁定用户 |
-S | 查看用户是否被锁定 |
-u | 解锁 |
usermod命令–修改用户账号属性
选项 | 说明 |
-l | 修改用户名 |
-L | 锁定用户 |
-U | 解锁用户 |
-u | 指定uid |
-d | 指定家目录位置 |
-g | 基本组 |
-G | 附加组 |
二、组账户管理
组账号文件
文件位置: /etc/group;/etc/gshadow2.2、添加、删除、修改组账号
(1)groupadd 命令–添加组账号
需要指定GID时,使用“-g”选项
(2)gpasswd 给组设置密码
gpasswd -a 添加组成员
gpasswd -d 删除组成员
(3)groupdel命令–删除组账号
(4)查询
finger命令查询用户帐号的详细信息(finger [用户名])
w 命令查询已登录到主机的用户信息
who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令
几个案例:
gpasswd -a zyl root ###将zyl用户添加到root组 [root@localhost ~]# groups zyl ###查看zyl属于哪个组 [root@localhost ~]# groupdel zyl ###删除zyl账号
三、文件/目录的权限与归属
3.1、设置目录/文件的权限chmod
命令格式:
chmod 【ugoa】【+/-】【rwx】文件…
chmod nnn 文件… ##数字组合“nnn”表示要设置的权限模式,如“755”
ugoa”表示该权限设置所针对的用户类别,“u”代表文件属主,“g”代表文件属组内的用户,“o”代表其他任何用户,“a”代表所有用户(u、g、o)
"+/-/=”表示设置权限的操作动作,“+”代表增加相应权限,“-”代表减少相应权限,“=”代表仅设置对应的权限
"rwx”是权限的字符组合形式,可以拆分使用
3.2、设置目录/文件的归属chown
格式
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
-R:递归修改指定目录下所有子项的权限(包括目录中的文件)