名师课堂
课程报名 x
课程名称
红帽Linux系统管理培训(RHCE7)
价格 999.00
温馨提示:如果您的资料有变更,请在此修改,以便更好的为您服务!
姓名
手机号码

红帽Linux系统管理培训(RHCE7)

报名人数1742人 | 10.00分
价格:999.00
讲师:老鹰(eagle)
价格:999.00
讲师:老鹰(eagle)
开课时间:03月07日 20:00
收藏 扫一扫 扫码用手机学习
讲师介绍
课程介绍
课时列表
评价
笔记
课时1:访问命令行及从命令行管理文件
查看回放

1、访问命令行

  • 使用命令行工具通过本地控制台
  • 本地控制台访问术语
  • 使用桌面访问命令行
  • GNOME3桌面环境介绍
  • 使用Bash Shell执行命令
  • Bash shell技巧详解
  • 命令历史介绍

2、从命令行管理文件

  • Linux文件系统层次结构介绍
  • 识别Linux上重要目录的用途
  • 通过命令行创建、复制、剪切、删除文件或目录
  • 使用绝对路径和相对路径名称访问文件
  • Bash Shell通配符介绍
课时2:在红帽企业Linux中获取帮助,创建、查看和编辑文本文件
查看回放

1、在红帽企业Linux中获取帮助

  • 详解man page
  • 使用红帽软件管理器(RPM)获取配置文件帮助
  • 使用系统自带的帮助/usr/share/doc
  • 使用红帽官方的帮助
  • SOS Report工具的使用

2、创建、查看和编辑文本文件

  • 将一个程序的文本输出重定向到文件或另一个程序
  • I / O重定向和管道的使用
  • 使用vim编辑文本文件
  • 结合角本介绍输入输出重定向和管道
课时3:管理本地Linux用户和组
查看回放
  • 本地用户和组介绍
  • sudo 高级技巧介绍
  • 管理本地用户账户
  • 创建本地用户使用命令行工具
  • 管理本地组帐户
  • 管理本地用户密码
  • 修改密码策略
  • 详解Linux系统如何识别用户
  • 字典破解用户密码
课时4:利用Linux文件系统权限控制文件访问
查看回放
  • Linux文件系统权限介绍
  • 文件和目录的权限介绍
  • 管理文件系统权限使用命令行  
  • 管理umask权限
  • 管理特殊权限
  • 权限应用顺序介绍
课时5:监控和管理Linux进程、控制服务和守护进程
查看回放

1、监控和管理Linux进程

  • 查看和解释系统中运行的进程
  • 进程状态详解
  • 使用信号终止和控制进程
  • 了解后台和前台进程

2、控制服务和守护进程

  • Systemd 介绍
  • 了解systemd和Sysv之间的区别
  • 服务状态详解
  • systemctl工具介绍
课时6:配置和保护OpenSSH服务
查看回放
  • OpenSSH介绍
  • OpenSSH 原理详解
  • 配置基于密钥认证
  • 自定义SSH服务配置

课时7:分析和存储日志
查看回放
课时8:管理红帽企业Linux网络管理
查看回放
  • 了解计算机网络基本概念
  • 使用基本实用工具测试和查看网络配置
  • Linux路由表介绍
  • nmcli命令行介绍
  • 手动编辑网络配置文件
  • 主机名配置和DNS客户端配置
课时9:归档和系统间文件拷贝、安装和更新软件包
查看回放

1、归档和系统间文件拷贝

  • 使用tar管理文件
  • 查看和恢复文件从tar文件
  • 管理压缩的tar文件
  • 结合案例介绍tar
  • 安全拷贝文件从不同的Linux系统之间
  • SCP命令介绍
  • 使用RSYNC备份系统数据

2、安装和更新软件包

  • 使用红帽订阅来管理软件
  • 自动注册红帽系统到RHN
  • RPM命令详解
  • 源码包编译成RPM包
  • YUM工具详解
  • YUM库的创建
课时10:访问LINUX文件系统、使用虚拟化系统
查看回放

1、访问LINUX文件系统

  • 识别Linux文件层次结构
  • 如何使用软链接和硬链接
  • 文件系统挂载和卸载
  • 使用find 查看系统文件详解

2、使用虚拟化系统

  • KVM虚拟化介绍
  • 了解QEMU和KVM之间的关系
  • 交互式安装红帽RHEL7系统
课时11:自动化系统安装、正则表达式的使用
查看回放

1、自动化系统安装

  • kickstart原理详解
  • kickstart配置文件详解
  • 部署一个新的虚拟系统通过kickstart角本
  • DHCP\TFTP\FTP\KS服务部署

2、正则表达式的使用

  • 正则表达式的基础介绍
  • grep详解
  • egrep介绍
课时12:VIM编辑器详解、Crontab计划任务详解
查看回放

1、VIM编辑器详解

  • VIM文本编辑器详解
  • VIM编辑器四种模式介绍
  • VIM编辑器高级技巧详解
  • TMUX控制台多终端介绍

2、Crontab计划任务详解

  • crontab 语法详解
  • crontab 计划任务创建
  •  系统默认计划任务详解
  • 管理临时文件
课时13:访问控制列表(ACL)、SELinux的安全管理
查看回放

访问控制列表(ACL)

  • 解释ACL
  • ACL和文件系统关系
  • ACL详解

 

SELinux的安全管理

  • SELinux介绍
  • SELinux模式的切换
  • SELinux上下文的切换
  • SELinux布尔值的切换
  • SELinux详解
  • SELinux排错

课时14:配置网络用户和组,添加磁盘、分区和文件系统在Linux系统
查看回放

配置网络用户和组

  • 身份管理服务详解
  • 连接到一个中央服务器LDAP和Kerberos
  • LDAP 详解
  • KERBEROS原理详解
  • IPA详解
  • 跨平台实现用户验证AD

 

添加磁盘、分区和文件系统在Linux系统

  • 增加分区和文件系统
  • 管理交换分区
  • 管理GPT分区表
课时15:管理逻辑卷管理(LVM)存储,控制服务和后台进程、管理的IPv6网络
查看回放

1、管理逻辑卷管理(LVM)存储

  • 逻辑卷管理的概念
  • 逻辑卷详解
  • 扩展物理卷
  • 扩展卷组
  • 扩展逻辑卷
  • 物理卷数据迁移
  • 使用SSM存储管理器管理LV

2、控制服务和后台进程

  • 使用systemctl控制服务
  • 控制系统启动过程
  • 编写ssh服务单元配置文件

3、管理的IPv6网络

  • 回顾IPv4的网络配置
  • 配置IPv4网络
  • IPv6的网络概念
  • 解读IPv6地址
  • IPv6的网络配置
课时16:配置链路聚合和桥接,网络端口安全
查看回放

1、配置链路聚合和桥接

  • 配置网卡绑定
  • 配置链路聚合
  • 配置网络桥接
  • 配置物理交换机以太网通道
  • Teamd 和 Bonding区别

 

2、网络端口安全

  • 管理Firewalld
  • 配置防火墙
  • 编写自定义规则
  • 伪装和端口转发
  • 添加自定义firewalld区域和服务 
  • 管理SELinux的端口

课时17:ISCSI存储服务器搭建,提供基于文件的存储
查看回放

1、ISCSI存储服务器搭建

  • iSCSI的概念
  • iSCSI服务器搭建
  • iSCSI客户端配置

2、提供基于文件的存储

  • 导出NFS文件系统 
  • NFS和KERBEROS结合详解
  • SMB文件共享
  • SMB多用户配置和客户端配置
课时18:配置MariaDB数据库 ,搭建Apache HTTPD Web服务
查看回放

1、配置MariaDB数据库

  • 安装MariaDB 
  • 管理数据库用户和访问权限
  • 创建和恢复MariaDB备份
  • 配置MariaDB数据库

 

2、搭建Apache HTTPD Web服务

  • 配置Apache HTTPD
  • 配置和故障排除虚拟主机
  • 配置HTTPS
  • 配置动态Web内容
课时19:创建bash脚本、SHELL条件语句和控制结构
查看回放

1、创建bash脚本

  • 为什么使用shell编程?
  • 特殊字符
  • 变量和参数的介绍
  • 变量替换
  • 变量赋值

 2、SHELL条件语句和控制结构

  • 条件判断
  • 条件测试结构
  • 文件测试操作符

红帽认证金牌讲师(RHCI)红帽认证架构师(RHCA) 红帽首批认证架构师8级已培养红帽架构师RHCA120余名 国内著名Linux讲师,红帽认证金牌讲师(RHCI)红帽RHCA讲师,红帽认证架构师(RHCA),红帽认证云计算专家,红帽认证虚拟化管理员RHCVA,红帽认证安全专家(RHCSS),VMware虚拟化专家(VCP), 已培养红帽架构师RHCA120余名,虚拟以化管理员多100多人;已培养红帽系统工程师RHCE600余人。 7年Red Hat Linux网络服务器维护经验,5年讲师经验,4年Linux应用与开发经验,熟悉各种操作系统及相关应用软件,对Linux统的各种网络服务器非常了解:多年钻研Linux系统的新技术和教学方法,能把握学生心理J逐步深入的提高学员水平,授课认真负责,能吉合自己的实际工作经验理论联系实际丰富课堂内容,能够控制课堂气氛,给学员充实感。 中国电信、中国移动、·脚鱼研究院、中国联通、浙江电力、安徽电力、云南电网、杭州银行、农发银行、江省人社厅、中国石化、中国石油、中国国航、南方航空等等” 红帽认证金牌讲师RHCI 红帽认5正架构师RHCA 红帽认证安全专家RHCSS 红帽OpneStack认证系统管理员 红帽认证数据中心专家RHCDS 红帽混合云存储专业技能证书 红帽混合云管理专业技能证书 红帽平台即服务专业技能证书 VMware认证专家(VCP) oracle认证专家(OCP)

2017-08-29
非常好
2017-07-29
请问课程的实验环境在哪里下载 谢谢
2017-06-28
谢谢老师!
2017-06-19
不错
2017-06-08
那个环境在哪里下载呀
2017-05-25
谢谢老师!学到很多!!!
2017-04-07
很好 多来点实际企业案例
2017-03-31
2017-03-29
很好
2017-03-17
课程能下载么?

配置和保护OpenSHH服务

   ssh -> 安全协议,用于远程登录服务器,管理主机


ssh 全称 Secure Shell / CS 架构

   以往使用的是明文传输的Telnet -> 不安全

   Open -> 开源 

   真正SSH是商业的

   默认监听:22 

客户端语法:
   ssh [username@hostname] [-p 端口号]

   #ssh -X root@desktop0.example.com


客户端连接服务器,服务器验证客户端的身份
 
1、基于用户名和密码的身份验证
   
   客户端接收服务端的公钥 - 服务端私钥(公钥) - 服务端重新生成密钥:sshd 重启
   1) 客户端向服务端发送一个连接请求
   2) 第一次连接服务器,服务器向客户端发送一个公钥,客户端确认是否接收
   	  存储到当前用户Home目录下的.ssh 目录known_hosts文件下
   3) 客户端使用服务端传送过来的公钥对用户的密码进行加密,并发送给服务器,服务器接收之后使用私钥解密验证。



2、基于密钥的身份验证(自动化)
   
   客户端:
   # ssh-keygen -> 客户端生成密钥
   # ssh-copy-id 服务器IP -> 把客户端的公钥拷贝到服务器
   
   1) 客户端首先在本地生成一对密钥,然后客户端通过 ssh-copy-id把公钥
   	  传送给目标服务器
   2) 客户端使用服务器的公钥加密一段数据再使用自己的私钥加密传送给目标服务
   	客户端验证服务器合法性 服务器也要验证客户端的合法性(双向)
   3) 验证: ssh 服务器IP

   id_rsa 文件是非常重要,别人拷走的话会免密码登陆  -> 建议加密 就是生成的时候加密

   启用agent,将私钥的加密密码添加
   #ssh-agent bash -> 如果关闭agent还是需要密码
   #ssh-add  

   




SSH 默认安装
  openssh-server-6.6.1p1-22.el7.x86_64 --> 服务端
  openssh-clients-6.6.1p1-22.el7.x86_64 --> 客户端

sshd config服务配置参数说明:
Port 22 -> 监听端口
ListenAddress 0.0.0.0 -> 监听地址
ServerKeyBits 1024 -> 密钥长度
PermitRootLogin yes -> 允许root登陆
PubkeyAuthentication yes -> 密钥验证登陆
AuthorizedKeysFile      .ssh/authorized_keys -> 客户端发送过来的公钥存放
PasswordAuthentication yes -> 密码是否允许为空
UsePAM yes -> 基于时间和那些主机允许连接
X11Forwarding yes -> X 选项目的是为了转发服务端的图形化到客户端
UseDNS yes -> 默认要求做DNS解析,不做正解和反解
Banner none -> 定义欢迎信息


ssh白名单
AllowUsers student root #多个用户空格隔开


#修改sshd config之后重新启动 
# systemctl  restart  sshd
# systemctl  status  sshd
# systemctl reload sshd.service
#tail -f /var/log/messages #通过输出日志判断服务状态
#semanage port -a -t  ssh_port_t   -p tcp 222 -> 设置selinux上下文


#防火墙放通端口
# firewall-cmd --permanent --add-port=222/tcp
# firewall-cmd --reload

 

[展开全文]
【修正20170317 11:33】
 1、原来我把满权限是根据用户区分,后面发现这个是错的,搞混了,应该是根据目录和文件的区分,也就是目录是777,文件是666)
系统文件权限管理
-------------------------------------------------------------
1、基本权限

1)查看权限: ls -l
	[root@localhost ~]# ls -l /etc/passwd
	-rw-r--r--. 1 root root 2285 Mar  8 05:48 /etc/passwd

2)权限、角色格式说明

	-rw-r--r--. 1 root root 2285 Mar  8 05:48 /etc/passwd

	第一个字符代表文件类型: 
		- 普通文件
		d 目录
		b 块设备
		l 链接文件
		c 字符设备 -> /dev/zero

	第二个组合:User  -> rw-
	第三个组合:Group -> r--
	第四个组合:Other -> r--
	
	含义说明:
		r -> 读 数字表示 4
		w -> 写 数字表示 2
		x -> 执行 数字表示 1
		'-'-> 未赋予 0
		. -> 表示Selinux 启用


	角色说明:
		第一个root表示用户
		第二个root表示组

3)修改权限:chmod 
	
	角色:
		a 所有
		u 用户
		g 组
		o 其他

	操作符:
		+ 增权限
		- 减权限
		= 设置权限(覆盖原始权限) # a=r , u=r 

	[root@localhost tmp]# chmod u+x passwd  #单个增加权限
	[root@localhost tmp]# chmod u+x,g+wx,o+wx passwd  #组合增加权限
	[root@localhost tmp]# ll passwd 
	-rwxrwxrwx. 1 root root 2285 Mar 14 08:33 passwd   #rwxrwxrwx
	
	
	
	修改权限的方式: 
		字母方式: rwx  
		数字方式: 421
		
	
	注意:
	
	a、无权限,对root不起作用

	[root@localhost tmp]# chmod 000 passwd 
	[root@localhost tmp]# ll passwd 
	----------. 1 root root 2285 Mar 14 08:33 passwd

	b、文件权限:普通文件对于执行权限可有可无,但对脚本能否执行至关重要
	c、目录权限:最重要的是执行权限,决定用户能否进入目录,cd不会成功
	


4)修改角色:chown
	#chown root:root passwd   --> 修改用户和组
	#chown     :root passwd   --> 只修改组


5)通用项
	-R --recursive --> 递归修改
	#chown -R root:root 目录/文件名
	#chmod u+r -R 目录/文件名



6)权限匹配顺序	
	当一个用户去访问文件和目录: 
		-> 先进行 uid 匹配,应用user权限
		-> 然后进行 gid 匹配,应用组群权限
		-> 最后都不匹配,就应用其他权限



2、特殊权限

a、setuid=suid -> u+s 
	给用户设置,针对文件,必须是应用程序,且有x权限,任何用户执行这个文件的时候是以文件的拥有者权限去决定

	比如普通用户执行passwd命令修改自己密码的时候,passwd运行的时候进程是以root的权限(拥有者)去执行,目的是保护执行文件安全

	例如:修改passwd用户权限执行位为除了root之外,普通用户不能修改密码
---------------------------------------BEGIN---------------------------------------------
	系统默认情况下:	
	[lvzhiqiang@localhost ~]$ passwd
	Changing password for user lvzhiqiang.
	Changing password for lvzhiqiang.
	(current) UNIX password: 
	New password: 
	Retype new password: 
	passwd: all authentication tokens updated successfully.
	
	[lvzhiqiang@localhost ~]$ ll $(which passwd)
	-rwsr-xr-x. 1 root root 27832 Jan 29  2014 /bin/passwd
	[lvzhiqiang@localhost ~]$ su - root
	Password: 
	[root@localhost ~]# chmod u-s $(which passwd)
	[root@localhost ~]# ll $(which passwd)
	-rwxr-xr-x. 1 root root 27832 Jan 29  2014 /bin/passwd --> s 权限被移除
	#回到普通用户执行passwd
	[lvzhiqiang@localhost ~]$ passwd
	Changing password for user lvzhiqiang.
	Changing password for lvzhiqiang.
	(current) UNIX password: 
	New password: 
	Retype new password: 
	passwd: Authentication token manipulation error -->执行失败

	#恢复passwd普通用户可执行状态
	[root@localhost ~]# chmod u+s $(which passwd)  -->恢复passwd普通用户可执行状态
	[root@localhost ~]# su - lvzhiqiang
	[lvzhiqiang@localhost ~]$ passwd
	Changing password for user lvzhiqiang.
	Changing password for lvzhiqiang.
	(current) UNIX password: 
	New password: 
	Retype new password: 
	passwd: all authentication tokens updated successfully. --> 执行成功

-------------------------------END-------------------------------------------------
	#chmod u+s vim -> #任何普通用户都可以用vim修改任何文件,这个例子只是说明的特殊权限重要性,结合上面passwd的例子可以理解,因此不是所有的程序都需要设置特殊权限,vim也是这样,不需要特殊权限


b、setgid=sgid
	针对文件,必须是应用程序,且有x权限,以组决定
	针对目录,必须对目录wx权限,内部新创建的文件和目录有相同的组,目录继承权限

	在目录创建新文件,继承组的权限,对于文件服务器的管理很方便

	#chmod g+s /dir
	
	例子:普通用户创建一个目录,设置g位为s,再创建一个目录,默认设置,普通用户和root用户同时在这两个目录下创建同名文件,查看它们的权限显示
	---------------------------------------BEGIN---------------------------------------------
		[lvzhiqiang@localhost ~]$ mkdir testdir -> 普通用户下创建 testdir目录
		drwxrwxr-x. 2 lvzhiqiang lvzhiqiang 6 Mar 14 21:17 testdir
		[lvzhiqiang@localhost ~]$ cd testdir/
		[lvzhiqiang@localhost testdir]$ > abc.txt
		[lvzhiqiang@localhost testdir]$ ll -h
		-rw-rw-r--. 1 lvzhiqiang lvzhiqiang 0 Mar 14 21:17 abc.txt
		[lvzhiqiang@localhost testdir]$ cd ..
		[lvzhiqiang@localhost ~]$ chmod g+s testdir -> 设置g权限位
		[lvzhiqiang@localhost ~]$ ll -h
		drwxrwsr-x. 2 lvzhiqiang lvzhiqiang 20 Mar 14 21:17 testdir
		[lvzhiqiang@localhost ~]$ su root
		Password: 
		[root@localhost lvzhiqiang]# cd testdir/
		[root@localhost testdir]# > 123.txt
		[root@localhost testdir]# ll -h
		-rw-r--r--. 1 root       lvzhiqiang 0 Mar 14 21:18 123.txt -> 可以看到,当设置testdir目录g权限位为s时候,root在该目录下创建的文件会自动继承原始组权限
		-rw-rw-r--. 1 lvzhiqiang lvzhiqiang 0 Mar 14 21:17 abc.txt
		[root@localhost testdir]# su - lvzhiqiang
		[lvzhiqiang@localhost ~]$ mkdir testdir02 -> 普通用户下创建一个testdir02的目录,不用设置g的权限位
		[lvzhiqiang@localhost ~]$ cd testdir02/
		[lvzhiqiang@localhost testdir02]$ > abc.txt
		[lvzhiqiang@localhost testdir02]$ ll -h
		-rw-rw-r--. 1 lvzhiqiang lvzhiqiang 0 Mar 14 21:19 abc.txt
		[lvzhiqiang@localhost testdir02]$ su  root
		Password: 
		[root@localhost testdir02]# > 123.txt
		[root@localhost testdir02]# ll -h
		-rw-r--r--. 1 root       root       0 Mar 14 21:19 123.txt --> 可以看到,root在testdir02目录下创建的文件还是以root的权限为主,并没有去继承原始目录的组权限
		-rw-rw-r--. 1 lvzhiqiang lvzhiqiang 0 Mar 14 21:19 abc.txt
		[root@localhost lvzhiqiang]# ll -h
		drwxrwsr-x. 2 lvzhiqiang lvzhiqiang 34 Mar 14 21:18 testdir
		drwxrwxr-x. 2 lvzhiqiang lvzhiqiang 34 Mar 14 21:19 testdir02
	
	---------------------------------------END---------------------------------------------

c、sticky bit
	针对目录,只有root和目录拥有者才能删除,否则其他用户会删除不属于自己的文件


	文件服务器

	#chmod o+t /dir
	
	例子:防止其它用户删除不属于自己的文件(非属主和属组)
	
	---------------------------------------BEGIN---------------------------------------------
	[lvzhiqiang@localhost ~]$ chmod 777 fold01/
	[lvzhiqiang@localhost ~]$ ll -h
	drwxrwxrwx. 2 lvzhiqiang lvzhiqiang 20 Mar 14 21:41 fold01
	drwxrwsr-x. 2 lvzhiqiang lvzhiqiang 34 Mar 14 21:18 testdir
	drwxrwxr-x. 2 lvzhiqiang lvzhiqiang 34 Mar 14 21:19 testdir02
	[lvzhiqiang@localhost ~]$ cd fold01/
	[lvzhiqiang@localhost fold01]$ ll -h
	-rw-rw-r--. 1 lvzhiqiang lvzhiqiang 0 Mar 14 21:41 abc.txt
	[lvzhiqiang@localhost fold01]$ su aa
	Password: 
	[aa@localhost fold01]$ ls
	abc.txt
	[aa@localhost fold01]$ ll -h
	-rw-rw-r--. 1 lvzhiqiang lvzhiqiang 0 Mar 14 21:41 abc.txt
	[aa@localhost fold01]$ rm abc.txt 
	rm: remove write-protected regular empty file ‘abc.txt’? y --> abc.txt 文件不属于aa用户,aa却可以删除
	
	
	[lvzhiqiang@localhost ~]$ ll -h
	drwxrwxrwx. 2 lvzhiqiang lvzhiqiang  6 Mar 14 21:45 fold01
	drwxrwsr-x. 2 lvzhiqiang lvzhiqiang 34 Mar 14 21:18 testdir
	drwxrwxr-x. 2 lvzhiqiang lvzhiqiang 34 Mar 14 21:19 testdir02
	[lvzhiqiang@localhost ~]$ chmod o+t fold01/ --> 设置o位为t权限
	[lvzhiqiang@localhost ~]$ ll -h
	drwxrwxrwt. 2 lvzhiqiang lvzhiqiang  6 Mar 14 21:45 fold01
	drwxrwsr-x. 2 lvzhiqiang lvzhiqiang 34 Mar 14 21:18 testdir
	drwxrwxr-x. 2 lvzhiqiang lvzhiqiang 34 Mar 14 21:19 testdir02
	[lvzhiqiang@localhost ~]$ cd fold01/
	[lvzhiqiang@localhost fold01]$ > 123.txt
	[lvzhiqiang@localhost fold01]$ ll -h
	-rw-rw-r--. 1 lvzhiqiang lvzhiqiang 0 Mar 14 21:48 123.txt
	[lvzhiqiang@localhost fold01]$ su aa
	[aa@localhost fold01]$ rm 123.txt 
	rm: remove write-protected regular empty file ‘123.txt’? y
	rm: cannot remove ‘123.txt’: Operation not permitted -->  其它用户不能删除不属于自己的文件

	
	---------------------------------------END---------------------------------------------

3、umask 默认权限设置

	普通用户和管理员用户 创建文件和目录的权限不一样,主要是掩码不一样

	文件:666  满权限     -> 666 - 002 = 664 #普通用户创建文件的权限值
	
	例子:普通用户创建一个文件
	
	[aa@localhost ~]$ umask 
	0002 -> 八进制值
	[aa@localhost ~]$ > abc.txt
	[aa@localhost ~]$ ll abc.txt 
	-rw-rw-r--. 1 aa aa 0 Mar 14 21:52 abc.txt -> rw-rw-r 换算成数值为 664 

	
	目录:777 满权限    -> 777 - 002 = 755 #普通用户创建目录的默认权限值

	
	注意1:二进制表示比较复杂,不好记忆

	注意2:基本权限不能针对普通用户设置独立权限


3、高级权限 -> ACL 针对每个用户设置访问规则(未来课程讲)

-------------------------------
以上笔记如有疑问欢迎群里@吕小强,一起探讨一起进步
-------------------------------

 

[展开全文]
上一节课:内置命令剪切到其他路径之后,仍然可以使用
#mv /usr/bin/echo /tmp



1、管理本地LINUX用户和组
1) 集中用户(适用于服务器特别多,大环境下使用)
2) 本地用户
    a、类型(以用户UID分类):

        UID=0         #超级管理员
        UID=1-999     #系统用户 一般用在应用程序执行者,如:ftp用户就是用来跑ftp应用的,这样的用户一般禁用登陆SHELL
        UID=1000+     #普通用户

        查看用户UID:#id 用户名


    b、如何创建用户
        #useradd 用户名 -->实际修改了四个文件,可以直接手动编辑这四个文件(不推荐)

        常用选项:-u     指定用户的UID
                  -s      指定用户的登陆SHELL,禁用登陆/sbin/nologin    
                  -g    指定用户组
                  -G    指定附加组/从属组(如果一个用户隶属多个组的适合,如oracle用户 隶属dba、oinstall)


        -> /etc/default/useradd  #useradd命令执行时会去读取该配置文件(可以理解为一个样板数据文件)
            
        -> /etc/login.defs          #用户密码策略文件,可以通过这个文件修改用户密码有效期,PASS_MAX_DAYS字段
        
        
        -> /etc/passwd              #用户信息存放

            格式:username:x:1000:1000:username:/home/username:/bin/bash
                  用户名:密码位(存放/etc/shadow):UID:GID:空的(注释):家目录:登陆SHELL

                  如何禁用登陆,只要在SHELL位置填入/sbin/nologin
                  如何使用命令修改用户的登陆SHELL:#usermode -s /bin/bash user01
                  
        -> /etc/shadow --> 大概知道即可,真正存放用户密码的文件
        

        注意:
        * 当创建完用户,就会默认创建同名Group,且UID和GID相等
        * useradd 用户名 -p 加密密码,不能是明文的,否则写进/etc/shadow也将是明文
        
        
        实验题:
                修改用户过期时间:usermod -e 90 用户名

                或者修改/etc/default/useradd 修改EXPIRE字段

                [root@localhost ~]# vim /etc/login.defs
                PASS_MAX_DAYS   99999 #30强制每个月修改密码
    

    c、修改用户信息
        #usermod 用户名 --> 修改用户属性信息


    d、删除用户信息
        #userdel -r 用户名 -->删除用户信息, -r 连带删除所有的配置信息,否则只删除4个文件记录,邮箱、HOME目录是没有删除的




    f、设置用户密码
    #passwd 用户名
    如何快速创建密码 # echo "123456" | passwd --stdin usera


    
    
    g、创建组信息
    
        #groupadd 组名 --> 创建组
        #groupdel 组名 --> 删除组
        #groupmod 组名 --> 修改组信息

        /etc/gshadow --> 存放组密码信息
        /etc/group -->存放组信息
        
        #gpasswd -d 删除用户归属的某个组
        如:# gpasswd --delete sarah  sysmgrs
        
        主组(权限比较小)和附属组(部门命名)


    i、密码是怎么生成
    
        生成的第一次的密码密文 和 第二次的密码密文是不一样,即使明文密码是一样的

        明文+salt(随机)+算法 = 密码

        man crypt -> 查看passwd算法类型


    j、su切换用户与用户环境变量
        用户切换:加载的配置文件是不一样的
        su usera #非登陆用户,没有环境变量的
        
            加载顺序:/home/usera/.bashrc -> /etc/bashrc
            
        su - usera 登陆用户

            加载顺序:
                /etc/profile (全局配置文件,只要是登陆用户,定义环境变量,只有用户在登陆的时候才会加载,只加载一次)
                -> /etc/profile.d/初始化脚本文件
                -> /home/usera/.bash_profile 存放的是用户私有配置文件,只加载一次,只有登陆用户登陆的时候才会加载
                -> /home/usera/.bashrc
                -> /etc/bashrc  全局配置文件,定义命令别名,别名永久生效,每启动一个shell都会加载一次
    

            # vim /home/usera/.bashrc
            --------------------------------
            # User specific aliases and functions

            alias rm='rm -i'
            alias cp='cp -i'
            alias mv='mv -i'
            #定义别名的位置

            # Source global definitions
            if [ -f /etc/bashrc ]; then
                    . /etc/bashrc
            fi
            ---------------------------------


    k、sudo --> 提升普通用户权限
        #visudo 或者 vi /etc/sudoers
            user     ALL=                    (ALL ->默认是root)                  ALL
            用户名     主机名                     以那一个用户身份去执行命令        NOPASSWD:用户可以执行的命令(多个命令用逗号隔开)
            
            例如: root     ALL=(ALL)       ALL
                  username ALL=(root)      NOPASSWD:/usr/bin/rpm

        sudo文章:

             https://linux.cn/article-8278-1.html

        vim 技巧
        :r ! which rpm -->获取rpm的安装路径


    实验题:
    cp 如何查看进度:
        rsync -p 文件名 /tmp/ 好在校验 ,大文件
        rsync 一般是同步数据用,远程同步备份,老师今晚讲了这个命令另一个用途,可以在本机同步(复制) ,最主要能看到文件的同步进度,适合大文件,因为有校验机制。

        第一个会话窗口:watch -n 1 du -sh 文件名 #监控文件
        第二个会话窗口:cp 文件



    openssl 穷举密码 -- 课后练习


-------------------------------
以上笔记如有疑问欢迎群里@吕小强,一起探讨一起进步
-------------------------------

 

[展开全文]
监控和管理系统进程


一、进程和程序的区别
1、程序是静态的概念,软件资源的长期保存
2、进程是程序执行的过程,动态的概念,执行的实例,父子进程的关系


命令: ps - Process Status 


	a)进程的状态,判断系统是否稳定

		D ->  不可中断式睡眠,IO(网络IO,磁盘IO)导致 
			  (不通常见,反应硬件资源存在问题,例:有一次我部署的NFS服务端被我关机了,
					客户端去执行df命令的时候被卡住,因为客户端df命令在不停的搜索nfs的挂载信息)
		R ->  正常,运行中或者是将要运行
		S ->  可中断式睡眠,等待一个事件,当等待到 -> R 
		T ->  暂停进程
		X ->  任何一个运行进程都会经历
		Z ->  僵尸进程,被终止之后,子进程需要向父进程反馈退出信息,单父进程因为某种原因收不到该信息,子进程变成僵尸进程。
			  程序问题(跟踪程序状态)、内核问题


	b)查看进程信息: ps aux -- all user x(进程) BSD的标准 建议常用

	格式:USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
		第一列:进程拥有者
		第二列:进程的PID
		第三列:占用cpu的百分比,以一颗逻辑核心为100%计算
		第四列:占用内存百分比
		第五列:进程的地址空间比 --> 申请地址空间
		第六列:RSS进程实际从操作系统获得的内存大小 --> 优化项
		第七列:TTY
		第八列:进程的状态
		第九列:进程启动时间
		第十列:进程的启动到现在持续占用cpu时间 -> 调优先级
		第十一列:进程的名字

	c) 对进程进行资源限制 -> cgroup 



	实例1:NFS 服务端 挂掉了,客户端df -h 执行卡住 --> 客户端ps 查看当前进程信息

	实例2: dd if=/dev/zero  of=/dev/null --> dd 循环命令, Ctrl +Z 中止 或者发信号




	d) top -> 命令 获取当前服务器整体的运行信息,这个比较耗资源,建议服务器负载高的时候,不要轻易执行这个命令。 
	f) 负载信息:load average: 0.00, 0.01, 0.05 -> cpu核心数
	
		一分钟平均负载
		五分钟平均负载平均负载
		十五分钟平均负载
	g) pstree -p | less 查看进程树
	h) pidof bash -> 查看进程的pid





二、计划任务

三、通过信号和进程沟通

	kill 给进程发送信号 
	格式: kill -9 pid 

	1 重新初始化进程
	9 终止进程,暴力
	15 默认信号
	18 继续
	19 暂停
	20 把进程放到后端运行
	10 dd命令结合 -> 查询目前dd命令运行的情况

	实例:tty1:#dd if=/dev/zero of=/dev/null 
		  tty2:#while echo -n; do kill -10 $(pidof dd); sleep 1; done ->查看dd命令的执行进度

	#pstree -p | grep -A2 -B2 firebox -> A2 B2 列出前后两行

	将当前的执行转入后台:
	#nohup dd if=/dev/zero of=/dev/null &



四、控制服务和守护进程


	systemd(1) -> rhel7 linux系统1号进程,不可中断
	systemd体系 

	systemctl --> 服务的管理

	基于单元的配置文件(.service)
	语法一致和服务快照


	systemctl start sshd.service 
	systemctl stop sshd.service 
	systemctl restart sshd.service 
	systemctl enable sshd.service 
	systemctl make sshd.service -> 屏蔽服务


	按需启动服务,减少系统资源消耗
	尽可能并行启动进程,减少系统启动等待时间

	提供一个一致的配置环境,不光是服务的配置
	提供服务状态快照,可以恢复到特定点的服务状态
	
	(认真阅读老师的systemd文档)



五、OpenSSL 命令

 字典文件存放地
 /usr/share/dict/words
 
 #openssl passwd -table -l -salt '随机值(/etc/shadow)' -stdin < /usr/share/dict/words | grep '加密密码'

 

[展开全文]

1、脚本命令的参数,建议长选项,主要目的是为了方便阅读。

2、早期版本TAB键不能对子命令进行补齐。

3、了解虚拟控制台的好处

当前终端被某个进程锁定或者占用,通过快键键切换到另外一个控制台会话解决问题。 其实这个方法也应用在通过第三方SSH终端在连接到远程服务器时,当正在操作的会话出现问题而无法敲入命令时,新建一个副本会话,解决问题。


 

 

4、如何使用帮助工具解决问题

1)Linux的命令分为内置和外置命令:

内置命令(本身提供)

外部命令(本身不提供,通过SHELL调用)

2)help命令的使用方法不一样

内部命令:# help echo

外部命令:# ls --help

技巧:为了方便查看命令帮助的输出,使用管道配合使用

#ls --help | less

3) 如何识别命令是内置的还是外置的(>> 表示命令的输出)

# type echo

>> echo is a shell builtin

4)如何找到命令的安装路径和帮助的绝对路径

# whereis ls

5)外置命令,一般是通过PATH变量定义的路径去寻找,所以编译源码包的时候,生成的可执行文件的所在目录必须在PATH变量下定义好,例如:Oracle安装 过程中定义的环境变量。

 


 

 

6) 使用whatis 命令快速获取命令的简要描述信息,这个很实用。

[root@localhost tmp]# whatis cp

cp (1) - copy files and directories

cp (1p) - copy files

 

7) man 手册

a、格式:man [章节] 命令

 

章节类型:

1 Executable programs or shell commands #普通用户命令

2 System calls (functions provided by the kernel) 系统调用

3 Library calls (functions within program

libraries) 库调用

4 Special files (usually found in /dev) 特殊文件(一般是设备文件)

5 File formats and conventions eg /etc/passwd 文件的格式

6 Games 游戏

7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 宏,环境变量

8 System administration commands (usually only for root) 系统管理员的命令

 

b、常用章节类型:

1/5/8

c、示例: # man ls 返回简要的帮助信息

# man 1p ls 返回详细帮助信息

# man -k ls 按关键字查询 (非常实用)

# man -a ls 返回所有章节信息

8) pinfo信息读取

不常用,知道即可

9) rpm软件包文档(通过软件包安装文件下的帮助文件)

# rpm -qd vim-common-7.4.160-1.el7.x86_64 #查询软件的帮助

示例:如何通过获取帮助修改网卡配置

[root@localhost man]# rpm -qf /etc/sysconfig/network-scripts/ifcfg-eno16777736

file /etc/sysconfig/network-scripts/ifcfg-eno16777736 is not owned by any package

[root@localhost man]# rpm -qf /etc/sysconfig/network-scripts/ #查找配置文件是那一个安装包下的

initscripts-9.49.30-1.el7.x86_64

[root@localhost man]# rpm -qd initscripts-9.49.30-1.el7.x86_64 #获取安装包的帮助源文件

[root@localhost initscripts-9.49.30]# cd /usr/share/doc/initscripts-9.49.30/ #到帮助源文件目录下

[root@localhost initscripts-9.49.30]# grep -ri ipaddr * #找到样板文件,IPADDR 配置文件的参数名

 

10) sosreport #收集日志和配置形成压缩包,除了敏感文件之外

11) redhat-support-tool #收费

12) /usr/share/doc #软件安装完之后带出的帮助文件

 

5、命令行管理文件

a、提示符: # 表示管理员身份 $ 表示普通用户

 

b、复制命令

#cp 源文件 目标

#cp -r /etc /tmp #源目录 拷贝到新目录, -r 表示递归,包括源目录下的子目录

 

习题:cp 查询进度实现

c、剪切(移动)或重命名

#mv 源文件 目标

(这里有一点需要注意,如果是在当前目录下操作,mv所做为重命名, 否则为移动剪切)

d、删除

#rm -i 源文件 # -i 删除前提醒 -f 强制删除 -r 递归删除

注意:rm 命令不能直接删除目录,必须加 -r 选项

#rmdir 命令只能删除空目录

注意:使用命令需要慎重

f、绝对路径和相对路径

绝对:以根目录开始的路径都是绝对路径

/usr/local/nginx

/usr/bin/echo

相对:以 '.' 或 '..' 开始的路径都是相对路径

'..'(两个点) 表示上级目录

'.' (一个点)表示当前目录

 

g、通配符

* 匹配所有

#ls -l a* #表示列出所有以a字符开头文件名的文件

 

i、修改文件的时间属性: touch 文件 #邮件服务中会使用,保持时间一致使用

j、创建目录:mkdir

#mkdir -p /u1/u2/u3 #-p 级联创建多个目录,包括父目录

示例:创建目录

[root@localhost opt]# mkdir test01

[root@localhost opt]# mkdir -p ./test01/test01 #表示在当前目录下创建一个级联目录,/test01前面带一个点,表示当前目录,这里仅为演示使用。

 

6、文件的层次结构:一个倒转的树形结构

 

 

Linux下目录树查看命令: #tree

/ 文件系统入口从根目录开始

/etc 配置文件目录

/root root用户目录

/usr 安装的软件、共享的库

/var 系统可变目录

/home 普通用户的家目录

/tmp 临时目录,任意用户可读可写

/boot 系统启动过程所需的文件目录

/dev 系统设备目录

/run 系统启动以来的进程的运行时数据,写数据非常快,存储内存里

/proc 内核参数信息,性能优化调整

/opt 自定义安装软件的目录,例如:编译安装

 

~ 和 根目录 / 区别: 一个是用户的家目录,一个是文件系统的入口

7、 ssh -X root@主机IP地址 #表示把服务端的图形转到客户端,客户端在本地操作服务的的图形化

 

客户端执行服务端图形化工具 xmanager 用途:Oracle远程安装

[展开全文]
a)	初步了解当前系统的命令行工具
	i.	如何查看当前用户登录使用的SHELL命令解释器: # echo $SHELL
	ii.	列出当前系统所有已经安装的SHELL命令解释器:# chsh  -l 
		注: 其中BashShell是系统默认SHELL, chsh也是切换SHELL的命令,
		一般情况下Linux操作系统都把BashShell当作默认SHELL,因此学会BashSehll很重要。
	iii.    什么是SHELL:应用程序或者用户和Linux内核进行交互的程序
                (而交互又分为登录交互【终端交互】和非登录交互【脚本后台执行】)
		注: 因为普通用户和应用程序是不能直接通过命令直接去同Linux内核进行交互,因此通过
		SHELL间接访问


 

b)	Bash Shell命令
	i.	语法:命令 [选项] 参数
	ii.	命令是实质上是:可执行程序(二进制)或者可执行的脚本(文本)
	iii.    选项:控制命令执行的效果,选项分为长选项和短选项
		例如:ls -a 和 ls --all 
		简要理解就是短选项是选项名的简称,长选项是选项名的全称
	iv.	子命令:#yum install vsftpd   install是yum的子命令

c)	Bash Shell技巧
	i.	更新man库:#mandb
	ii.	查询命令简要描述:# whatis ls
	iv.	按下快捷键TAB,作用是补全命令或者列举命令
	v.	命令别名: #alias a=’ls  -al’ ; 这里 a 就是ls  -al的别名

d)	历史命令操作
	i.	reverse (反向搜索):使用Ctrl  +  r 快捷键进入历史命令的搜索模式, 方向键往左或右 提取搜索到的命令 
	ii.	history #列出历史命令,一般默认缓存1000条,可以通过环境变量自定义历史命令设置,如调整条数,加上命令执行的日期时间

e)	本地环境下的图形界面和字符控制台切换
        Ctrl + Alt + F1/2/3/4/5/67
	
f)     常用命令:ls 
       i.    如何查看当前路径下隐藏的文件或目录: #ls  -a,其中隐藏目录或文件是前缀带 "." 的

 

[展开全文]
最新学员
 
在线
客服
隐藏

AIX班级群
561765734

Hyper-v班级群
608695830

RHCE班级群
133074155

RHCVA班级群
608695410

VCP班级群
591291541

MCSA班级群
601290873

服务时间: 8:00 - 22:00

客服热线: 400-008-7848