目录
1.用户账号与组账号
1.1 用户账号的三大类型
1.2 组账号
1.3 ID
2.用户账号管理
2.1 文件位置
2.2 添加用户
2.3 密码管理
2.4 修改用户账号的属性
2.5 用户账号的初始配置文件
2.6 组管理
2.7 查询
3. 文件/目录的权限和归属
3.1 读写执行权限
3.2 设置文件和目录的权限
3.3 umask
1.用户账号与组账号
1.1 用户账号的三大类型
inux中每个用户是通过 User Id (UID)来唯一标识的 新建用户 1-60000 自动分配 0-65535 端口号
管理员:root, 0
程序用户:1-499 (CentOS 6以前), 1-999 (CentOS 7以后) 不登录的用户 系统默认的情况
对守护进程获取资源进行权限分配
普通用户:500+ (CentOS6以前), 1000+(CentOS7以后) 不指定顺序给用户进行交互式登录使用
1.超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有至高 无上的权限,类似于 Windows 操作系统中的 Administrator 用户。只有当进行系统 管理、维护任务时,才建议使用 root 用户登录系统,日常事务处理建议只使用普通用户账号。
2.普通用户:账号需要由 root 用户或其他管理员用户创建,拥有的权限受 到一定限制,处理问题受到限制,一般只在用户自己的宿主目录中拥有完整权限。
3.程序用户:在安装 Linux 操作系统及部分应用程序时,会添加一些特定的低权限用 户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运 行,如 bin、daemon、ftp、mail 等。
1.2组账号
Linux组分为:
1.基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组默认只容纳了一个用户 ,即有且唯一。在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定。
2.附加组(公共组):除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定。可有可无,可以有多个。
3.用户和组的关系:默认行为当你创建一个新用户时会自动创建一个和之同名的主组
(1)用户的主要组(primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组。
(2)用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,附属组。
1.3 ID
1.UID(User IDentity,用户标识号):Linux 操作系统中的每一个用户账号都有一个数字形式的身份标记,称为 UID(UserIDentity,用户标识号),对于操作系统核心来说,UID 是区分用户的基本依据,原则上每个用户的 UID 号应该是唯一的。root 用户账号的 UID 号为固定值 0,而程序用户账号的 UID号默认为1~499,500~60000 的 UID 号默认分配给普通用户使用。root不一定是超级管理员,uid=0 才是。超级管理员。
2.GID(Group IDentify,组标识号):与 UID 类似,每一个组账号也有一个数字形式的身份标记,称为 GID(Group IDentity,组标识号)。root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。
2.用户账号管理
2.1 文件位置
1./etc/passadd 存放用户信息文件 (系统上所有的用户信息都存在这个文件中)
root: x: 0: 0: root: /root: /bin/bash
(1) root:用户名
(2)x:密码占位符
(3)0:uid用户编号
(4) 0:gid组编号
(5)root:备注
(6)/root:家目录的位置
(7)/bin/bash:用户默认加载的shell环境
2./etc/shadow 存放保存密码
root:$6$4V92DDnjpoaeXmmD$Dx./:18318:0:99999:7:::
第一字段:root:用户名
第二字段:$6$4V92DDnjpoaeXmmD$Dx:算法加密后密码 如果此处 为* !! 禁止登陆
第三字段18318: 从1970.1.1 (linux 诞生的日期) 到 今天 过了19318
第四字段:0: 代表不限制 更改密码的时间 ,如果写10 代表10天内不能修改
第五字段:99999:密码 有效期 约等200年 永久
第六字段:7:密码到期前 7天 提醒你
第7字段: 密码过期后的宽限天数 30 天 还能登陆
第8字段:账号失效时间
第九字段:无用字段
2.2 添加用户
useradd命令
基本格式:useradd 【选项】 用户名
添加用户:查看是否在 passwd和shadow文件中生成信息
(1)在/etc/passwd 文件和/etc/shadow 文件的末尾增加该用户账号的记录
(2)若未明确指定用户的宿主目录,则在/home 目录下自动创建与该用户账号同名的宿 主目录,并在该目录中建立用户的各种初始配置文件。
(3)若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账 号的记录信息将保存到/etc/group 和/etc/shadow 文件中。
选项 | 作用 |
-u | 指定用户uid |
-d | 指定家目录 |
-e | 账户失效时间 |
-g | 指定基本组的gid |
-G | 指定附加组的gid |
-M | 不建立家目录 |
-s | 指定shell类型 |
1.指定uid
2.指定家目录
3.不指定家目录
4.账户失效时间
5.指定基本组gid
6.指定附加组gid
2.3密码管理
passwd命令 为用户账号设置密码
passwd 【选项】... 用户名 基本用法 不加选项 可以添加l
选项 | 作用 |
-d | 清空指定用户的密码,不需要密码登录 |
-l | 锁定用户账户 |
-S | 查看用户账户是否被锁定 |
-u | 解锁用户账户 |
-f | 强制解锁 |
1. -d 清空指定用户密码,不需要密码登录
2. passwd -l liliu 锁定liliu 不让用户登录
passwd -S 查看是否锁定
3.passwd -u 解锁 -f 强制解锁
2.4 修改用户账号的属性
usermod命令
usermod [选项]... 用户名
常见选项:
1.-l 更改用户账号的登录名称(Login Name)
2.-L 锁定用户账户
3.-u 修改用户的 UID 号
4.-U 解锁锁用户账户
5.-d:修改用户的宿主目录位置。
6.-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
7.-g:修改用户的基本组名(或使用 GID 号)
8.-G:修改用户的附加组名(或使用 GID 号)
9.-s:指定用户的登录 Shell
-l 更改用户账号的登录名称
2.5 用户账号的初始配置文件
用户宿主目录下的初始配置文件只对当前用户有效
~/ .bash_profile
#此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会调用该用户的 ~/.bashrc文件
~/.bashrc
#此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录 切换 新的bash环境)
~/.bash_logout
#此文件中的命令将在该用户每次退出时bash shell时使用
/etc/bashrc
2.6组管理
1.组账号文件
与用户帐号文件相类似
/etc/group:保存组帐号基本信息;
/etc/gshadow:保存组帐号的密码信息基本不使用。
2.添加组
groupadd命令
groupadd [-g GID] 组账号名
3.组内管理
gpasswd 命令——添加、设置、删除组成员
(1)-a:向组内添加一个用户
(2)-d:从组内删除一个用户成员
(3)-M:定义组成员列表,以逗号分隔
2.7查询
1.groups:查询用户所属组
格式:
groups 用户名
2.id:查询用户身份标识(uid、gid和组)
格式:
id 用户名
3.finger:查询用户账号的详细信息
格式:
finger [用户名]
3. 文件/目录的权限和归属
3.1 读写执行权限
1.(1)读取r: 允许查看文件内容 (有rx权限才可以显示目录列表)
(2)写入w: 允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
(3)可执行x: 允许运行程序、切换目录
读 | r | 4 |
写 | w | 2 |
执行 | x | 1 |
读写执行 | rwx | 7 |
2.cp /etc/issue /mnt/dir 这条命令中 ,cp、etc、issue、dir和mnt分别最低需要什么权限?
(1) /bin/cp 需要x权限 ;
(2) /etc/ 需要x权限 ;
(3) /data 需要x权限 ;
(4) /etc/issue 需要r权限 ;
(5) /data/dir 需要w,x权限。
3.对文件的权限
-
r 可使用文件查看类工具,比如:cat,可以获取其内容
-
w 可修改其内容
-
x 可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)
4.对目录的权限
-
r 可以使用ls查看此目录中文件列表
-
w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
-
x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限
3.2设置文件和目录的权限
1.chmod
格式:
chmod [ugoa] [+-=] [rwx] 文件或目录
u | 属主 |
g | 属组 |
o | 其他用户 |
a | 所有用户 |
+ | 增加 |
- | 去除 |
= | 设置权限 |
r | 读 |
w | 写 |
x | 执行 |
2.chmod 777 文件/文件夹 -R 递归
-R:递归修改指定目录下所有子项的权限
3.3 umask
umask 的值可以用来保留在创建文件权限
实现方式:
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变。
(1)新建目录的默认权限: 777-umask;
(2)非特权用户umask默认是 002;
(3) root的umask 默认是 022。