00. 课程介绍部分
1. 系统重要目录与文件
解锁系统别名概念
解锁系统运行级别
解锁系统安装软件方法 yum install -y xxx
系统硬件查看方法
01. 课程知识回顾(提问环节)
1. 重要文件信息
a 主机名称配置文件 centos6/7 临时/永久
b 实现自动挂载操作 配置信息
c 开机自动运行命令 有执行权限
d 登录提示信息文件 登录前提示 登录后提示
e 设置环境变量文件 变量 环境变量(PATH--命令是否可以直接执行)
作业:
01. 重新连接或使用bash命令,都可以让主机名称修改生效 bash -- 解释器 shell==bash(空间) 02. 研究不同文件系统特征 adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs https://blog.csdn.net/u010385646/article/details/50813865
03. 如果rc.local 和 fstab 都配置了挂载信息, 哪个文件优先使用
系统会优先执行fstab 在选择加载执行rc.local
论证方式一:
fstab文件有挂载:
rc.local文件有卸载:
挂载上了: fstab文件生效
没挂载: rc.local文件生效
为什么有效果
情况一:
fstab先执行了: 显示/oldboy信息
rc.local后执行了:
情况二: rc.local和fstab同时执行 显示/oldgirl信息
04. 目录结构重要文件说明
a 变量和别名配置文件 -- /etc/profile
别名功能作用:
1. 将复杂麻烦的命令简单化
2. 简化命令参数输入 安全目的/出于提升工作效率
3. 让一些危险命令不容易执行了
如何实现别名设置:
临时设置: alias --- 查看系统别名
alias 别名='代替命令信息' (alias mv='mv -i') 符号信息必须是英文
alias cateth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
步骤: # alias cateth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
#cateth0
# bash
# cateth0 关机后设置失效
[root@oldboyedu ~]# alias cateth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@oldboyedu ~]# cateth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0 UUID=c754956b-daa0-43c1-9d27-7cf5e4418fa4
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.254
IPV6_PRIVACY=no
DNS1=223.5.5.5
[root@oldboyedu ~]# bash
[root@oldboyedu ~]# catet0
bash: cateth0: command not found
永久设置:
vi /etc/profile alias cateth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
步骤:#vi /etc/profile
编辑模式添加alias cateth0=‘cat /etc/sysconfig/network-scripts/ifcfg-et h0’
底行模式退出保存
#source /etc/profile 执行以下
#alias 查看
#cateth0 查看
断开 连接
#alias 查看 正常
#cateth0 查看 正常
清屏幕键 :ctrl+L
[root@oldboyedu ~]# vi /etc/profile
# /etc/profile
# Functions and aliases go in /etc/bashrc
# will prevent the need for merging in future updates. pathmunge () { case ":${PATH}:" in *:"$1":*) ;; *) if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi esac } if [ -x /usr/bin/id ]; then if [ -z "$EUID" ]; then # ksh workaround EUID=`/usr/bin/id -u` UID=`/usr/bin/id -ru` fi USER="`/usr/bin/id -un`" LOGNAME=$USER MAIL="/var/spool/mail/$USER" fi pathmunge /usr/sbin pathmunge /usr/local/sbin after pathmunge /usr/sbin after fi HISTSIZE=1000 if [ "$HISTCONTROL" = "ignorespace" ] ; then export HISTCONTROL=ignoreboth else export HISTCONTROL=ignoredups fi
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file umask 002 else umask 022 fi for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null fi fi done unset i unset -f pathmunge alias cateth0='cat /etc/sysconfig/network-scripts/ifcfg-et h0' "/etc/profile" 77L, 1881C written [root@oldboyedu ~]# source /etc/profile
[root@oldboyedu ~]# alias alias cateth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0' alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' [root@oldboyedu ~]# cateth0 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth0 UUID=c754956b-daa0-43c1-9d27-7cf5e4418fa4 DEVICE=eth0 ONBOOT=yes IPADDR=10.0.0.200 PREFIX=24 GATEWAY=10.0.0.254 IPV6_PRIVACY=no DNS1=223.5.5.5
断开 连接
[root@oldboyedu ~]# cateth0
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth0 UUID=c754956b-daa0-43c1-9d27-7cf5e4418fa4 DEVICE=eth0 ONBOOT=yes IPADDR=10.0.0.200 PREFIX=24 GATEWAY=10.0.0.254 IPV6_PRIVACY=no DNS1=223.5.5.5
[root@oldboyedu ~]# alias
alias cateth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0' alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@oldboyedu ~]#
永久设置别名成功
测验练习: 如何实现rm设置别名,实现rm具有回收站功能,将删除的信息放入/tmp目录
第一个里程: 设置别名功能--临时设置
实现移动回收站命令 mv -t /tmp ??? alias rm='mv -t /tmp'
测试: rm /etc/hosts == mv -t /tmp /etc
临时别名步骤:alias rm=’mv –t /tmp’
alias 查看alias rm='mv -t /tmp'
ls /tmp 查看这个目录上的内容
ls 查看你要删除的内容的位置下是否有要删除的内容cmd rm cmd 删除cmd ls /tmp
实践:
[root@oldboyedu ~]# alias rm='mv -t /tmp'
alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='mv -t /tmp' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@oldboyedu ~]# ls /tmp
ks-script-f6znBM oldboy oldboy.txt systemd-private-7bbbed2c4f9d4a5cb5195ba811707a92-chronyd.service-jMPbUf vmware-root_7050-2856979129 vmware-root_7051-3854405991 vmware-root_7052-2856848062 vmware-root_7054-2865302332 vmware-root_7055-3846082786 vmware-root_7057-3845558523 vmware-root_7059-3854012793 vmware-root_7061-3853881726 vmware-root_7063-3845427452 vmware-root_7064-2831355179 vmware-root_7065-3878983413 vmware-root_7077-3887437654 vmware-root_7084-2856323718 vmware-root_7115-4122845447 yum.log
[root@oldboyedu oldboy]# mkdir cmd
[root@oldboyedu oldboy]# ls cmd
[root@oldboyedu oldboy]#
[root@oldboyedu oldboy]# rm cmd
[root@oldboyedu oldboy]# ls /tmp
cmd ks-script-f6znBM oldboy oldboy.txt systemd-private-7bbbed2c4f9d4a5cb5195ba811707a92-chronyd.service-jMPbUf vmware-root_7050-2856979129 vmware-root_7051-3854405991 vmware-root_7052-2856848062 vmware-root_7054-2865302332 vmware-root_7055-3846082786 vmware-root_7057-3845558523 vmware-root_7059-3854012793 vmware-root_7061-3853881726 vmware-root_7063-3845427452 vmware-root_7064-2831355179 vmware-root_7065-3878983413 vmware-root_7077-3887437654 vmware-root_7084-2856323718 vmware-root_7115-4122845447 yum.log
断开后,内容回复
第二个里程: 设置别名功能--永久配置
vi /etc/profile
alias rm='mv -t /tmp'
第三个里程: 需要修改其他和别名有关的文件
别名和变量设置文件:
/etc/profile (全局配置) ~/.bash_profile (局部配置)
/etc/bashrc (全局配置) ~/.bashrc (局部配置)
说明: 所有文件数据名称前面有个点,表示为隐藏数据
如果想查看目录中隐藏数据, ls -a命令查看所有信息
当全局和局部配置有冲突时: 局部配置有先
etc/profile (全局配置) 配置了 alias rm='mv -t /tmp'
~/.bashrc (局部配置) 配置了 alias rm='rm -i'
全局配置: 国法--- 全部用户都必须遵守 强奸法: 违背女人或儿童意识,强行发生关系
局部配置: 家规--- 指定家族人员必须遵守 强奸法: 也不能违背男人意识
调整: 将局部配置有冲突的进行注释
vi ~/.bashrc
#alias rm='rm -i
补充: 临时失效==不识别别名功能
第一种: 将别名功能临时关闭
unalias rm --- 取消别名
第二种: 忽略别名功能
\rm /oldboy/oldboy.txt /usr/bin/rm /oldboy/oldboy.txt
b 系统启动级别相关文件
什么是系统启动级别:
centos6 centos7 (target) /usr/lib/systemd/system/runlevel*target
0 关机级别 将所有服务不要运行 / usr/lib/systemd/system/runlevel0.target -> poweroff.target
1 单用户级别 修改破解root密码/修复系统(文件系统坏) /usr/lib/systemd/system/runlevel1.target -> rescue.target
2 多用户 没有网络服务多用户模式 /usr/lib/systemd/system/runlevel2.target -> multi-user.target 3 多用户 有网络多用户 ***** 正常模式 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
4 未使用 /usr/lib/systemd/system/runlevel4.target -> multi-user.target 5 图形化级别 显示桌面信息 安装图形化软件包 /usr/lib/systemd/system/rlevel5.target -> graphical.target
6 重启级别 立即将服务进行重启 /usr/lib/systemd/system/runlevel6.target -> reboot.target
用户级别配置方法:
临时设置级别/永久设置:
临时设置: systemctl get-default --- 查看级别
runlevel --- 查看当前设置的运行级别
systemctl set-default rescue.target --- 设置级别
init 1 --- 设置级别方式
永久设置:
vi /etc/inittab 文件
id:3:initdefault:
05. 目录结构重要文件说明
/usr /usr/local 存放第三方程序数据信息
掌握系统安装软件的方法:
方法一: 利用yum命令安装软件
yum install -y tree
比喻: 点外卖 一切准备就绪
方法二: 利用rpm命令安装软件
rpm -ivh /oldboy/tree.rpm
-i 表示安装软件 install
-v 表示软件安装过程 verbose
-h 表示显示人类可读信息 human
比喻: 买熟食 需要加热
方法三: 编译安装软件(三步曲) 程序源码包 .
/configure xxxx --- 自定义软件安装路径/定义使用软件哪些功能
make --- 编译过程 翻译过程 C C++ java php python go
make install --- 编译安装
比喻: 做饭 购买食材 自己规划食物味道
方法四: 二进制包安装方式(绿色软件) 软件包(压缩)---解压---直接使用
比喻: 零食 包装零食 打开直接吃
06. 目录结构重要文件说明
/var /var/log --- 系统重要日志文件
messages --- 系统或服务运行状态日志文件(正确信息 错误信息-error/faild)
Jul 10 22:42:18 oldboyedu systemd: Started System Logging Service.
Jul 10 22:42:18 oldboyedu systemd: Started Postfix Mail Transport Agent.
Jul 10 22:42:18 oldboyedu systemd: Started Dynamic System Tuning Daemon.
Jul 10 22:42:18 oldboyedu systemd: Reached target Multi-User System.
Jul 10 22:42:18 oldboyedu systemd: Starting Update UTMP about System Runlevel Changes...
01 02 03 04
01: 日志信息产生的时间
02: 显示主机名称
03: 信息出现原因 系统信息 xxx服务信息 文件有关系
04: 具体信息的描述
secure --- 安全文件 记录用户的登录信息
Jul 10 23:57:45 oldboyedu sshd[8793]: Accepted password for root from 10.0.0.1 port 52019 ssh2
Jul 10 23:57:45 oldboyedu sshd[8793]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 11 00:01:26 oldboyedu sshd[8793]: pam_unix(sshd:session): session closed for user root 01 02 03 04
01: 用户登录到主机时间
02: 系统主机名称
03: 用户登录的方式 远程登录方式SSH
04: 记录登录的提示信息 登录失败日志信息
Jul 11 00:02:31 oldboyedu sshd[8834]: Invalid user alex from 10.0.0.1 port 52054
Jul 11 00:02:31 oldboyedu sshd[8834]: input_userauth_request: invalid user alex [preauth]
Jul 11 00:02:31 oldboyedu sshd[8834]: pam_unix(sshd:auth): check pass; user unknown
Jul 11 00:02:31 oldboyedu sshd[8834]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1
Jul 11 00:02:33 oldboyedu sshd[8834]: Failed password for invalid user alex from 10.0.0.1 port 52054 ssh2
Jul 11 00:02:43 oldboyedu sshd[8834]: pam_unix(sshd:auth): check pass; user unknown
Jul 11 00:02:45 oldboyedu sshd[8834]: Failed password for invalid user alex from 10.0.0.1 port 52054 ssh2
Jul 11 00:02:49 oldboyedu sshd[8834]: error: Received disconnect from 10.0.0.1 port 52054:0: [preauth]
Jul 11 00:02:49 oldboyedu sshd[8834]: Disconnected from 10.0.0.1 port 52054 [preauth]
Jul 11 00:02:49 oldboyedu sshd[8834]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1
如何查看日志文件信息:
第一种方法:
只看日志文件前几行
[root@oldboyedu ~]# head -3 oldboy.log --- 默认看前10行内容
01 oldboy
02 oldboy
03 oldboy
第二种方法: 只看日志文件后几行
[root@oldboyedu ~]# tail -3 oldboy.log
07 oldboy
08 oldboy
09 oldboy
第三种方法: 查看文件中指定内容的行(过滤 筛选)
grep --- 擅长过滤信息
grep "过滤内容" /oldboy.log
[root@oldboyedu ~]# grep "08" oldboy.log 08 oldboy
[root@oldboyedu ~]# grep "07" oldboy.log 07 oldboy
[root@oldboyedu ~]# grep "Failed" /var/log/secure
Jul 11 00:02:33 oldboyedu sshd[8834]: Failed password for invalid user alex from 10.0.0.1 port 52054 ssh2
Jul 11 00:02:45 oldboyedu sshd[8834]: Failed password for invalid user alex from 10.0.0.1 port 52054 ssh2
第四种方法: 实时追踪查看日志的变化 tail -f /var/log/secure
07. 课程知识总结梳理:
1) 实现别名功能配置 永久/临时
和环境变量与别名有关的文件
局配置文件 ??? 国法
局部配置文件 ??? 家规
2) 系统运行级别
几种级别
如何修改查看级别(centos6/7)
3) 软件常见安装方式 特点--吃饭
4) 系统日志文件 文件内容 文件查看方法
作业:
01. 研究centos系统利用单用户破解密码方法
02. 系统优化说明 硬件信息如何查看