一.用户帐号类型
用户分为三种类型,分别是超级用户、普通用户、程序用户。
超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有至高 无上的权限,类似于 Windows 操作系统中的 Administrator 用户(uid和gid均为0)。
普通用户:账号需要由 root 用户或其他管理员用户创建,拥有的权限受 到一定限制,处理问题受到限制,一般只在用户自己的宿主目录中拥有完整权限。(500+ (CentOS6以前), 1000+(CentOS7以后) 不指定 顺序)。
程序用户:在安装 Linux 操作系统及部分应用程序时,会添加一些特定的低权限用 户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运 行,如 bin、daemon、ftp、mail 等,以后实验中会经常遇到,先了解下即可(1-499 (CentOS 6以前), 1-999 (CentOS 7以后) 不登录的用户 系统默认的情况对守护进程获取资源进行权限分配)。
二.用户组介绍
用户组分为基本组(私有组)和附加组(公共组)
1.基本组:有且唯一。
- 建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组默认只容纳了一个用户。
- 在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定
2.附加组:有很多个,可有可无。
- 除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定
三.用户账号管理
1.文件位置:
/etc/passwd
存放保存用户名称、宿主目录、登录 Shell 等基本信息。
-
root 用户名称
-
:x 密码占位符
-
:0 uid
-
:0 gid
-
:root 备注信息,描述
-
:/root 家目录路径
-
:/bin/bash shell环境
2./etc/shadow 存放保存密码
用途:存储用户的密码信息,又称为“影子文件” 。/etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。
文件位置:/etc/shadow。
每行说明:每一行对应一个用户的密码信息。
查看文件内容:
/etc/shadow文件也是以冒号(:)作为分隔符,将每行分成了9段,每个字段的含义如下:
-
字段1:用户名。
-
字段2:密码加密值。当此字段为*或!!时,表示用户不能登录到此系统。当为空时,表示用户无需密码即可登录。
-
字段3:上次修改密码时间。从1970/1/1到上次修改密码的天数。 0 有特殊意思,表示用户应该在下次登录系统时更改密码。
-
字段4:最小修改密码间隔天数,即两次修改口令之间所需的最小天数。若不设置,默认为0,表示当天即可修改。 空字段或 0 都表示当天即可修改。
-
字段5:密码有效期。若为99999,表示永久有效。
-
字段6:警告时间。表示从系统开始警告用户到用户密码正式失效之间的天数。空字段或者 0 表示没有密码警告期。
-
字段7:密码过期后的宽限天数。
密码过期后,仍然接受使用此密码进行登录的天数(在此期间,用户应该在下次登录时修改密码)。
-
字段8:账户失效时间。从1970/1/1日起,到用户被禁用的天数。默认为空。
账户过期不同于密码过期。账户过期后,用户将不被允许登录。密码过期后,用户将不被允许使用此密码登录。
-
字段9:保留字段。此字段保留作将来使用。
3.添加用户账号useradd
添加用户:查看是否在 passwd和shadow文件中生成信息
- 在/etc/passwd 文件和/etc/shadow 文件的末尾增加该用户账号的记录
- 若未明确指定用户的宿主目录,则在/home 目录下自动创建与该用户账号同名的宿 主目录,并在该目录中建立用户的各种初始配置文件。
- 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账 号的记录信息将保存到/etc/group 和/etc/shadow 文件中。
如图所示,创建新用户李五。
useradd配合一些指令,有着不同的意义。
- -u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
- -d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
- -e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
- -g:指定用户的基本组名(或使用 GID 号)。
- -G:指定用户的附加组名(或使用 GID 号)。
- -M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。
- -s:指定用户的登录 Shell /sbin/nologin
举例说明:创建新用户liliu,指定uid为10086
4.密码管理
passwd命令
为用户账号设置密码
passwd [选项]... 用户名
基本用法 不加选项 可以添加密码
选项
- -d:清空指定用户的密码,仅使用用户名即可登录系统。
- -l:锁定用户账户。
- -S:查看用户账户的状态(是否被锁定)。
- -u:解锁用户账户。
举例:
锁定用户lisi
如图
5.修改用户账号属性
usermod命令
usermod [选项]... 用户名
常见选项:
- -l 更改用户账号的登录名称(Login Name)
- -L 锁定用户账户
- -u 修改用户的 UID 号
- -U 解锁锁用户账户
- -d:修改用户的宿主目录位置。
- -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
- -g:修改用户的基本组名(或使用 GID 号)
- -G:修改用户的附加组名(或使用 GID 号)
- -s:指定用户的登录 Shell
举例说明: 锁定用户lisi 解锁用户lisi。
6.删除用户
userdel [选项] 用户
- -r 将宿主目录一起删除
三.组管理
1.组账号文件
与用户帐号文件相类似 /etc/group:保存组帐号基本信息 /etc/gshadow:保存组帐号的密码信息基本不使用
2.添加组
groupadd命令
groupadd [-g GID] 组账号名
3.组内管理
gpasswd 命令——添加、设置、删除组成员
- -a:向组内添加一个用户
- -d:从组内删除一个用户成员
- -M:定义组成员列表,以逗号分隔
举例:将用户赵三添加进李四组。
4.删除组账号
groupdel 组帐号名
5.查询finger
finger命令查询用户帐号的详细信息(finger [用户名])
举例说明:查询用户赵三信息。
四.文件/目录的权限和归属
程序访问文件时的权限,取决于此程序的发起者
- 进程的发起者,同文件的属主:则应用文件属主权限
- 进程的发起者,属于文件属组;则应用文件属组权限
- 应用文件“其它”权限
访问人群分为了三类
- 所属主(u)
- 所属组(g)
- 其他人 (o)
权限分为三种
- 读(r,4)
- 写(w,2)
- 执行(x,1程序,脚本)
1.chmod改变权限
举例说明:
改变文件权限为777
2.chown改变属组属主
改变目录tmp属主,属组为张三。
3.umask
umask 的值可以用来保留在创建文件权限
实现方式:
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022