Linux多用户操作
账户实质
-
账户实质上就是一个用户在系统上的标识
- 系统根据账户来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境(如用户的工作目录、shell版本、以及X-Window环境的配置等),使每个用户的工作都能独立不受干扰地进行。
-
Linux中的账户包括
- 用户账户
- 组账户
用户
-
Linux系统下的用户账户(简称用户)有三种:
- 普通用户:在系统上的任务是进行普通工作,由系统管理员创建分配。
- 超级用户(或管理员账户):在系统上的任务是对配普通用户和整个系统进行管理,可以访问所有文件
- 系统用户:系统张昌工作内奸的用户,供内核使用
-
每个用户都被分配了一个唯一的用户ID号(UID)
- 超级用户:UID = 0,GID = 0
- 普通用户:UID>=1000
- 系统用户(伪用户,不可登录):0<UID<1000
-
用户名和UID被保存在/ect/passwd文件中
-
当用户登录时,他们被分配了一个主目录和一个运行的程序(通常时shell)
-
若无适当权限,用户无法读取、写入或执行彼此的文件
组
- 组是用户的集合
- 每个组都被分配了一个唯一的组ID号(GID)
- 组和GID被保存在/etc/group 文件中
- 每个用户都有他们自己的私有组
- 每个用户都可以被添加到其他组中来获得额外的存取权限
- 组中的所有用户都可以共享属于该组的文件
标准组和私有组
- 标准组
- 每个用户可以属于多个标准组
- 若使用标准组,在创建一个新的用户时就应该指定他所属于的组
- 私有组
- 每个用户只有一个私有组
- 当在创建一个新用户时,若没有指定其所属的私有组,RHEL/CentOS默认建立一个和该用户同名的私有组,且用户被分配到这个私有组中。
用户和组的关系
- 组是用户的集合
- 一个标准组可以容纳多个用户
- 同一个用户可以属于多个组,这些组可以是私有组,也可以是标准组
- 当一个用户属于多个组时,将这些组分为:
- 主组(初始组):用户登录系统时的组
- 附加组:登录后可切换的其他组
账户管理
-
默认启用shadow passwords功能
- /etc/passwd文件对任何用户均可读,为了增加系统的安全性,用户的口令通常用shadow passwords保护。
- 经过保护的账户密码和相关设置信息保存在/etc/shadow文件里。/etc/shadow只对root用户可读。
- 默认使用sha512哈希算法存储用户的口令。
-
一般不设置组口令。因为绝大多数应用程序不使用它
-
建议尽量使用私有组来提高系统安全性
-
管理工具由shadow-utils软件包提供
-
不建议管理员直接编辑系统账户文件来维护账户
账户验证信息文件
-
口令文件/etc/passwd
- 文件权限(-re-r–r--)
-
影子口令文件 /etc/shadow
- 文件权限(-r--------)
- 组账号文件 /etc/group
- 文件权限(-rw-r–r--)
- 组口令文件 /etc