3.16
用户和组的概念
用户
- 超级用户 管理员用户,对系统具有绝对的访问权限,root的UID为0并且只能为0。
- 系统用户 也称程序用户,主要用于管理系统中的服务、进程及程序的相关用户。UID:1-999
- 普通用户 由管理员root创建,对系统的操作权限是有限的。UID:1000-60000
组
拥有相同权限的用户的集合,一个组可以包含多个用户,一个用户可以属于多个组。
主组
也叫默认组,任何一个用户默认都会有一个主组,有且只有一个
创建用户时不指定主组会创建一个与用户名同名的主组
附加组
也叫附属组,一个用户除主组之外,也可以有0个或多个附加组。
用户的管理
创建用户
useradd {选项} 用户名
-g 表示主组
-G 表述附加组
-u 表示uid
-s 表示登录的shell,默认登录shell为可交互
设置不可交互的shell,设置/sbin/nologin
-d 表示设置用户的家目录,默认普通用户的家目录在/home 目录
查看用户
id {用户名} 或 cat /etc/passwd
修改用户
usermod
-c 修改描述信息
-s 该用户帐号的新登录 shell
-d 修改用户家目录
echo {密码} | passwd --stdin {用户名}
设置用户的密码使用passwd命令。普通用户只能由超级用户root来设置,普通用户只能修改密码,但是密码必须符合复杂度要求
删除用户
uaserdel
在删除用户的时候,用户的家目录和邮件池不会被删除
-r 删除用户所有文件和邮件池
组的管理
创建组
groupadd
groupadd {选项} 组名
-g 表示GID
-G
-u
查看组
cat /etc/passwd | grep 组名
cat /etc/group 保存组相关信息文件,该文件每一行表示的是一个组的信息,有多少行就有多少个组。
四个栏位:
- 组名
- 密码占位符
- GID
- 组成员
shadow
cat /etc/gshadow 保存组密码及相关信息的文件,有多少行就有多少个组。
四个栏位:
- 组名
- 加密之后的密码(感叹号没有密码)
- 组的管理员
- 组成员
groups
表示打印当前用户所在的组
tail /etc/gshadow
查看后面几行
修改组
groupmod
groupmod {选项}
-g 修改组ID
-n 修改组名
groupmod -n {修改组名} {组名}
groupmod -g {新组id} {组名}
gpasswd
gpasswd {组名} 为一个组添加密码
-a 向组里面添加用户
-d 向组里面删除用户
-M 设置组 GROUP 的成员
-A 设置组里的管理员
删除组
groupdel
groupdel {选项}
-f 强制删除
用户相关的文件
cat /etc/passwd-保存用户相关信息
七个栏位:
- 用户名
- 密码占位符
- 用户ID
- 主组GID
- 用户描述
- 家目录
- 登录shell
cat /etc/shadow-保存用户密码信息
九个栏位
- 用户名
- 用户加密之后密码
- 最后修改密码时间
- 密码最小生存周期(0表示立刻可以修改)单位天
- 密码最大生存周期(99999表示密码永不过期)单位天
- 密码警告期(到期前x天警告)
- 密码非活动期(密码一到期,在x天内仍然可以登录)
- 账户失效的时间
- 保留字段
chage 改变密码期限
chage {用户名}
-l {用户名} 查看密码期限信息
普通用户的提权操作
工作时通常创建一个普通用户,然后授予普通用户的某些权限
系统中的一个普通用户ys,此用户本身没有创建用户和修改用户的权限;可以通过提权操作让ys拥有临时创建用户和修改用户的权限
三种方法:
方法一
visudo
set un显示行号
100行
查看绝对路径:which
ys ALL=(ALL) (绝对路径)需要使用的命令
提权给用户修改密码时,密码默认可以保留5分钟,5分钟之后密码失效
使用命令时添加 sudo,使用前需要给用户设置密码
方法二
vim /etc/sudoers
和方法一同步操作
修改完必须强制保存
方法三
创建提权文件
vim /etc/sudoers.d/00-ys
ys ALL=(ALL) 命令绝对路径
如果在提权的时候免密码:
ys ALL=(ALL) NOPASSWD:命令绝对路径
组的提权
组中的所有用户提权
方法一
visudo
107行%adminuser ALL=(ALL) (绝对路径)需要使用的命令
方法二
vim /etc/sudoers
和方法一同步操作
修改完必须强制保存
方法三
创建提权文件
vim /etc/sudoers.d/00-adminuser
%adminuser ALL=(ALL) 命令绝对路径
如果在提权的时候免密码:
%adminuser ALL=(ALL) NOPASSWD:命令绝对路径
命令:
su - 用户名 切换用户
exit 用于退出登录的用户
超级管理员可以root可以在不需要密码的情况下切换到任何可交互登录的普通用户,当一个用户的shell为非交互登录的shell(/sbin/nologin),超级管理员root用户是不能进行切换登录的
普通用户切换到其他可交互式登录的用户包括root用户,是必须要输入登录的密码
--stdin 标准输入
管道符|前面命令执行结果,作为后面的输入
id 用户名
ll -d /home/用户名
vim /etc/passwd
3.2(s)
一、查找命令
which
查找命令的绝对路径
whereis
用于查找命令的绝对路径及相应的文档手册
find
用于根据查找条件进行查找
查找条件:
查找条件:可以根据文件大小、格式、权限、属主属组等条件查找。
find命令也可以对查找的结果进行相应的操作
语法:
- find 查找路径 选项 -ok
- find 查找路径 选项 -exec
Linux操作系统中一切皆文件。而文件是有类型的,有七种类型文件:
- 普通文件:f或.
- 目录文件:d
- 软链接文件:l
- 字符设备文件:c
- 块设备文件:b
- 套接字文件:s
- 管道文件:p
grep
在Linux系统中:
^ 表示以什么开头,例如以ys开头表示^ys
$ 表示以什么结尾,例如以/bin/bash结尾表示/bin/bash$
grep -v 不匹配相应的行,即是取反
二、打包压缩工具
压缩工具:
语法:zip 压缩之后的文件 需要压缩的文件
压缩命令 | 解压命令 |
---|---|
zip命令压缩 | unzip命令解压 |
gzip命令压缩 | gunzip命令解压 |
bzip2命令压缩 | bunzip2命令解压 |
xz命令压缩 | unxz命令解压 |
打包命令:tar(归档)
解压:tar -zxvf {包}
三、网络管理
临时修改:hostname
永久修改:
vim /etc/hostname
hostnamectl set-hostname yishun.example.com
hostnamectl 命令可以查看主机名,也可以修改主机名
配置IP地址
在rhel7以前默认管理网络的服务为network,在rhel8以默认管理网络的服务为NetworkManager,而没有network服务。
nmtui命令
打开图形化网络管理界面
修改网卡的配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE="Ethernet" //网卡类型
BOOTPROTO="dhcp" //获取IP地址的方式:none或static表示静态获取或手动配置;dhcp表示自动获取
NAME="ens160" //连接的名字
UUID="36760cb7-c331-4bcb-b771-8e66abda7528" //UUID
DEVICE="ens160" //设备名
ONBOOT="yes" //是否启用网卡
IPADDR=192.168.36.1 //IP
PREDIX=24 //子网掩码
GATEWAY=192.168.36.254 //网关
dns=192.168.117.117 //dns
如果配置没有问题卡启动,重启即可
使用nmcli命令
设置IP:
nmcli connection modify ens160 ipv4.addresses 192.168.36.2/24 ipv4.gateway 192.168.36.254 ipv4.dns 192.168.117.117 ipv4.method manual
多个IP在对应添加后+ipv4.XXX 192.168.118.118
cat /etc/resolv.conf
route -n
ipv4.add 192.168.36.2/24 //配置它的IP
ipv4.gateway 192.168.36.254 //配置它的网关
ipv4.dns 192.168.117.117 //配置dns
ipv4.method manual //设置手动模式
nmcli connection down ens160 //关闭ens160网卡(可更改)
nmcli connection up ens160 //开启ens160网卡(可更改)
3.23(权限管理)
/ 根目录
~ 用户家目录
- 上一次访问的目录
file可以查看文件类型
ls -l 也可以查看文件类型
查看二进制文件
ldd {文件名}
删除空目录
rmdir
权限
权限 | 英文 | 数字 |
---|---|---|
读 | r | 4 |
写 | w | 2 |
执行 | x | 1 |
没有权限 | - | 0 |
读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
设置权限
chmod
chmod u=rwx,g=rwx,o=--- {文件路径} //添加权限
chmod u+rwx {文件路径} //添加权限
chmod u-x {文件路径} //去掉权限
数字设置权限
chmod 777 {文件路径}
chmod 000 {文件路径}
chown {用户名}:{属组} {文件}
没有指定组名,默认是用户名的组