前言
学习: 1. Linux的账号和 权限 管理;2 . 设置 bash shell、用户、全局配置环境变量的方法
一、查 Linux 用户账号与组账号信息
1.1 用户账号
超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的。
普通用户:由 root 用户 或 其他管理员用户创建,拥有的权限会受到限制,一般 只在用户自己的宿主目录中拥有完整权限。
程序用户:在安装 Linux 操作系统及部分应用程序时,会 手动添加 一些 特定的低权限 用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail
等用户名。
1.2 组账号
基本组(私有组):基本组账号只有一个,一般为创建用户时指定的组。在 /etc/passwd
文件中第4字段
记录的即为该用户的基本组 GID 号。
附加组(公共组):用户除了基本组以外,额外添加指定的组。
1.3 UID 和 GID
UID:用户标识号
GID:组标识号,Group Identify
- root 用户账号:的 UID和GID 号为固定值 0;
- 普通用户 账号:的 UID和GID 号默认为 1000~60000(Centos7)(Centos5、6: 500-60000);
- 程序用户 账号:的 UID和GID 号默认为 1~999(Centos7)(Centos5、6: 1-499);
1.4 查询账号信息:finger、groups、who
-
命令1 格式:
groups [用户名]
,作用:查询用户所属的组; -
命令2 格式:
id [用户名]
,作用:查询用户身份标识;
-
命令3 格式:
finger [用户名]
,作用:查询用户账号的属性信息与登录信息,执行前需要执行yum install -y finger
命令进行安装finger软件包;
-
命令4:
w
、who
、users
、作用:查询已登录到主机的用户信息(注销、重启 才会更新信息);
通常使用 tty 来简称各种类型的终端设备,Centos7系统中,tty1 表示图形界面,tty2-tty6 表示文字界面,可以用 Ctrl + Alt + F1-F6
切换。
按 Ctrl+Alt+F2
登陆,执行 w
命令,查看使用的终端就是 tty2;
pts
说明是用远程工具连接的,比如 xshell,后面的数字代表登录的时间顺序,越小证明登录的越早。
1.5 用户账号文件:/etc/passwd
作用:保存用户名称、宿主目录、登录Shell 等基本信息。
文件位置:/etc/passwd,
- 使用命令
vim /etc/passwd
进入 vi 命令模式查看 或head -10 /etc/passwd
查看; - 使用命令
cat /etc/passwd | grep -i "用户名"
,根据用户名查找账号信息; - 每一行对应一个用户的账号记录
每个用户的信息用冒号:
分割出七个字段。各字段含义如下:
- 字段 1:用户账号名称
- 字段 2:用户密码占位符 “ x ”
- 字段 3:用户账号的 UID 号
- 字段 4:所属基本组账号的 GID 号
- 字段 5:用户说明(用户全名)
- 字段 6:用户宿主目录
- 字段 7:登录Shell信息(
/bin/bash
为可登录系统,/sbin/nologin
和/bin/false
为禁止用户登录系统)
基于系统运行和管理需要,所有用户都可以访问 passwd 文件中的内容,但是只有 root 用户才能进行更改。
小知识:字段2为什么都是 “ x ” ?因为在早期的 UNIX 操作系统中,用户帐号的密码信息是保存在 passwd 文件中的,不法用户可以获取到密码字串并进行暴力破解,存在安全隐患。后来经改进后,将密码转存入专门的 shadow 文件中,而 passwd 文件中仅保留密码占位符 " x "。
1.6 用户账号文件:/etc/shadow
作用:保存用户的密码、账号有效期等信息。
文件位置:/etc/shadow,
- 使用命令
vim /etc/shadow
进入 vi 命令模式查看 或head -10 /etc/shadow
查看; - 使用命令
cat /etc/shadow | grep -i "用户名"
,根据用户名查找账号密码信息; - 每一行对应一个用户的密码记录;
每个用户的密码信息用冒号:
分割出八个字段。各字段含义如下:
- 字段1:用户帐号的名称;
- 字段2:使用 W