首页 > 代码库 > 总结 1-1 ~ 1-6

总结 1-1 ~ 1-6

Linux运维第一天:

配置云主机、安装使用Xmanager Enterprise 4工具

Linux运维第二天:

安装虚拟机(vmware+Linux6.5/7.2)

虚拟机三种方式实现上网功能(host-only、Bridge、Nat)

host-only需要设置一下主机和两块网卡(上网网卡和vmnet1 ),然后配置虚拟机网卡

上网网卡共享给vmnet1,vmnet1设置dns:上网网卡使用的dns或8.8.8.8

vmnet1与虚拟机网卡要在一个网段上,dns:上网网卡使用的实际dns或8.8.8.8

bridege、nat很简单

1-1-UnixLinux系统介绍、可用试验环境和创建快照

Linux的优点及vmware使用技巧

优点:1、模块化程度高;2、源码公开;3、广泛的硬件支持;4、安全性及可靠性;5、具有优秀的开发工具;6、很好的网络支持文件系统;7、与UNIX完全兼容

vmware使用技巧:

1、增加虚拟机可用物理内存(最好关机状态调整)

2、硬件设备添加(可以开机状态添加)

3、控制权切换快捷方式:ctrl+alt;alt+G

安装配置虚拟机(RHEL7.2)

第一步:联网(最好使用固定IP)

第二步:关闭防火墙(systemctl disable firewalld)

第三步:关闭selinux(/etc/selinux/config)

第四步:开机挂载光驱(echo “/dev/cdrom /mnt iso9660 defaults 0 0” >> /etc/fstab)

第五步:配置YUM源(/etc/yum.repos.d/*.repo)

配置文件如下:注意[]中不要出现空格什么的

[RHEL7_SERVER]

name = rhel server

baseurl = file:///mnt

enable = 1

gpgcheck = 0

1-2 Linux基本命令

Linux系统中两种终端(控制台终端、pts虚拟终端)

ctrl+alt+F2~F6 切换控制台终端(tty1~tty6) alt + F1 (返回tty1)

pts虚拟终端(远程连接等pseudo-tty)

shell提示符

[root@xiaogan ~]#简介  root当前用户、@xiaogan主机名 ~ 当前目录 #/$权限描述符

Linux命令

ls 查看目录

pwd查看路径

cd切换目录

hwclock查看硬件时间

date查看系统时间

获取帮助的方式三种(1、date --help;2、fdisk -h;3、man find)

关机、重启等操作(shutdown -h关机和 –r 重启、reboot重启、init 0关机、init 6重启、定时关机)

rhel7中也可以使用 systemctl  reboot 或 systemctl poweroff

Linux7个启动级别

init命令切换、systemd中的systemctl isolate切换

0 poweroff

0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。
1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
2 多用户模式,没有NFS网络支持。
3 完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。
4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
5 图形化模式,登陆后进入图形GUI模式,X Window系统。
6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启。

RHEL7中不再使用/etc/inittab进行默认启动级别配置,systemd使用target替代

第三运行级别(命令行界面)multi-user.target

第五运行级别(图形界面)graphical.target

切换运行级别:init 0~6 或 systemctl isolate …target

技术分享

设置默认运行级别:systemctl set-default …target

查看当当前默认运行级别:systemctl get-default

1-3 文件的基本管理和xfs文件系统备份恢复

Linux系统目录结构--->一切都是文件

/目录下文件详解

/dev设备文件

/etc配置文件

/proc、/sys运行时系统信息

/boot启动目录(Grub引导)

/bin、/sbin命令

/lib、/lib64库文件

/usr 源码目录

/share 帮助信息等

/var、/tmp临时文件目录

/root、/home用户默认登录目录

相对路径、绝对路径

相对路径相对而言,一般以. 或.. 开头

绝对目录绝对而言,一般以 / 开头

文件的创建、复制、删除

touch 创建文件

cp 复制

mv 移动或重命名

rm 、rmdir删除

cat、more、less、head、tail查看文件内容

实战:xfs文件系统的备份和恢复

使用工具xfsdump、xfsrestore

[root@xiaogan122 ~]# xfsdump –help #查看帮助信息
xfsdump: version 3.1.4 (dump format 3.0) #版本信息
xfsdump: usage: xfsdump [ -a (dump DMF dualstate files as offline) ] 
                        [ -b <blocksize> ] #设置块大小
                        [ -c <media change alert program>  ] 
                        [ -d <dump media file size>  ]
                        [ -e (allow files to be excluded) ]
                        [ -f <destination> ... ] #指定目标目录
                        [ -h (help) ] #帮助信息
                        [ -l <level> ] #设置备份级别
                        [ -m (force usage of minimal rmt) ]
                        [ -o (overwrite tape) ]
                        [ -p <seconds between progress reports> ]
                        [ -q <use QIC tape settings> ]
                        [ -s <subtree> ... ]
                        [ -t <file> (use file mtime for dump time ]
                        [ -v <verbosity {silent, verbose, trace}> ]
                        [ -z <maximum file size> ]
                        [ -A (don‘t dump extended file attributes) ]
                        [ -B <base dump session id> ]
                        [ -D (skip unchanged directories) ]
                        [ -E (pre-erase media) ]
                        [ -F (don‘t prompt) ]
                        [ -I (display dump inventory) ]
                        [ -J (inhibit inventory update) ]
                        [ -K (generate format 2 dump) ]
                        [ -L <session label> ] #指定session标签
                        [ -M <media label> ... ] #指定media标签
                        [ -O <options file> ] #指定options file (选项文件列表),一条命令-o只能使用一次
                        [ -R (resume) ]
                        [ -T (don‘t timeout dialogs) ]
                        [ -Y <I/O buffer ring length> ]
                        [ - (stdout) ]
                        [ <source (mntpnt|device)> ]

备份系统:

备份整个文件系统

xfsdump -f /opt/dump_sdb1 /dev/sdb1  -L dump_sdb1_01 –M media0

将/dev/sdb1设备中的文件备份到/opt/dump_sdb1中,session标签为dump_sdb1_01,media标签为media0

-f 指定生成备份文件路径

-L指定session标签

-M指定media标签

添加-L、-M选项,可实现无交互备份

备份单个文件

xfsdump -f /opt/dump_passwd -s /sdb1/passwd /sdb1 -L dump_passwd -M passwd

-s指定备份文件

恢复文件或文件系统:xfsrestore -f /opt/dump_sdb1 /sdb1

技术分享

第一步:首先关闭系统,添加一个硬盘

第二步:查看新添加硬盘的文件名为sdb,对sdb进行分区

第三步:对新建立的分区格式化,使用mkfs.xfs

第四步:挂载/dev/sdb1分区

第五步:复制一个文件到/sdb1目录下,新建一个目录到/sdb1目录下,留作测试用

第六步:备份文件系统

第七步:文件恢复,删除文件制造误删假象,然后使用xfsrestore命令恢复文件

1-5-vim编辑的使用和Xmanager远程工具的使用

vim编辑器的使用

vim有三种模式

命令行模式、编辑模式、命令模式

三种通过命令模式互相切换,如图:

技术分享

主要操作方式:

i 当前光标后插入

a 当前光标前插入

A当前光标行末插入

o 当前光标行下插入

O当前光标行上插入

dd删除当前前光标所在行

ndd / dnd 删除当前光标在内的N行

yy复制当前光标所在行

nyy / yny复制当前光标在内的n行

dw删除当前光标及后的一个单词

ndw / dnw删除当前光标及后的n个单词

d$删除当前光标及后到行尾的内容

shift ^ 定位到行首

shift $ 定位到行末

gg定位到文件开始文职

shift + g 定位到文件末尾

ctrl + g 显示当前光标位置及文件信息

% 移动到配对的()[]{}位置去

:s/old/new  一行内替换第一个出现的old为new

:s/old/new/g 一行内替换所有old为new

:m,ns/old/new/g 在m-n行之间替换所有old为new

:%s/old/new/g 全文替换所有old为new

:%s/old/new/gc 全文替换,每次替换前询问

视图模式:一次在多行前添加内容

第一步:ctrl + v 进入视图模式

第二步:移动光标,选中需要添加或删除内容的行

第三步:输入大写的I或小写的x编辑内容

第四步:ESC键退出即可

实战:转码工具的使用iconv

windows中的文本导入到linux系统中,会出现乱码问题解决方法:

[root@xiaogan122 ~]# iconv --help
Usage: iconv [OPTION...] [FILE...]#格式
Convert encoding of given files from one encoding to another.

Input/Output format specification:
  -f, --from-code=NAME       encoding of original text #指定源文件编码
  -t, --to-code=NAME         encoding for output #指定目标文件编码

Information:
  -l, --list                 list all known coded character sets #列出已知编码

Output control:
  -c                         omit invalid characters from output #忽略无效的字符输出
  -o, --output=FILE          output file  #指定输出文件名称
  -s, --silent               suppress warnings
#保持沉默,即抑制警告
      --verbose              print progress information

  -?, --help                 Give this help list
      --usage                Give a short usage message #给出使用格式
  -V, --version              Print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

For bug reporting instructions, please see:
<
http://www.gnu.org/software/libc/bugs.html>.

技术分享

实战:在RHEL6.5中恢复误删除的文件

extundelete命令的使用

背景:ext文件系统存储原理

每个文件名对应一个inode结点,每个inode结点对应一个实际物理存储位置。

在我们创建文件时,会指定文件的文件名,然后,系统会给文件名分配一个inode结点,和对应的物理存储位置。

在我们删除文件时,linux系统直接删除的是文件名,只是我们看不到的inode结点号和实际物理存储位置中的信息并没有擦出。

但是,当我们再次创建文件时,可能linux系统会使用掉这个inode节点号,并将对应的物理存储位置中的数据覆盖。

操作流程:误删除文件后立刻卸载文件系统,并以只读方式挂载,防止文件被覆盖。使用extundelete命令扫描该文件系统节点号,查找已删除的文件节点号,并通过节点号、文件名等方式恢复文件

使用extendelete命令需要安装对应的软件包:extundelete-0.2.4.tar.bz2

http://sourceforge.net 开源软件发布中心

tar jxf extundelete*.tar.bz2

./configure

make

make install   (源码包安装通用三部曲)

技术分享

技术分享

extundelete命令:

[root@xiaogan122 ~]# extundelete --help
Usage: extundelete [options] [--] device-file #格式
Options:
  --version, -[vV]       Print version and exit successfully.
  --help,                Print this help and exit successfully.
  --superblock           Print contents of superblock in addition to the rest.
                         If no action is specified then this option is implied.
  --journal              Show content of journal. #显示过程信息?!
  --after dtime          Only process entries deleted on or after ‘dtime‘. #只针对在删除时间在dtime之后的文件
  --before dtime         Only process entries deleted before ‘dtime‘. #只针对删除时间在dtime之前的文件
Actions:
  --inode ino            Show info on inode ‘ino‘. #列出节点号为ino上的信息
  --block blk            Show info on block ‘blk‘. #列出块号为blk上的信息
  --restore-inode ino[,ino,...] #还原节点号为ino的文件
                         Restore the file(s) with known inode number ‘ino‘.
                         The restored files are created in ./RECOVERED_FILES
                         with their inode number as extension (ie, file.12345).
  --restore-file ‘path‘  Will restore file ‘path‘. ‘path‘ is relative to root #还原path文件
                         of the partition and does not start with a ‘/‘
                         The restored file is created in the current
                         directory as ‘RECOVERED_FILES/path‘.
  --restore-files ‘path‘ Will restore files which are listed in the file ‘path‘.#还原path文件中列出的文件
                         Each filename should be in the same format as an option
                         to --restore-file, and there should be one per line.
  --restore-directory ‘path‘ #还原path目录
                         Will restore directory ‘path‘. ‘path‘ is relative to the
                         root directory of the file system.  The restored
                         directory is created in the output directory as ‘path‘.
  --restore-all          Attempts to restore everything. #还原所有
  -j journal             Reads an external journal from the named file.
  -b blocknumber         Uses the backup superblock at blocknumber when opening
                         the file system.
  -B blocksize           Uses blocksize as the block size when opening the file
                         system.  The number should be the number of bytes.
  --log 0                Make the program silent. #保持沉默
  --log filename         Logs all messages to filename.#将日志保存到filename中
--log D1=0,D2=filename   Custom control of log messages with comma-separated
   Examples below:       list of options.  Dn must be one of info, warn, or
   --log info,error      error.  Omission of the ‘=name‘ results in messages
   --log warn=0          with the specified level to be logged to the console.
   --log error=filename  If the parameter is ‘=0‘, logging for the specified
                         level will be turned off.  If the parameter is
                         ‘=filename‘, messages with that level will be written
                         to filename.
   -o directory          Save the recovered files to the named directory. #将恢复的文件保存到指定目录
                         The restored files are created in a directory
                         named ‘RECOVERED_FILES/‘ by default.

tree命令,用来查看目录树形结构

rpm -ivh /mnt/Packages/tree-1.5.3-2.el6.x86_64

查看设备inode结点信息(若不指定-o选项,这恢复到当前目录下)

extundelete /dev/sdb1 –-inode 2 #依次查看,知道出现结点信息为止

五种方式恢复文件:

第一种:通过节点号恢复(通过查询inode结点信息获得节点号)

extundelete /dev/sdb1 --restore-inode 12

第二种:通过文件名恢复(通过查询inode结点信息获得文件名)

extundelete /dev/sdb1 --restore-file passwd

第三种:通过读取文件,恢复文件列出的文件

extundelete /dev/sdb1 –-restore-files file #file中存储的是要恢复的文件列表

第四种:恢复目录

extundelete /dev/sdb1 --restore-directory dir #恢复目录dir

第五种:恢复所有文件

extundelete /dev/sdb1 --restore-all

可使用tree命令查看目录结构,看看是不是所有的文件都恢复了,这是我们会发现,extundelete不能恢复空文件或空目录!!!

1-6-RHEL7用户管理、RHEL6及RHEL7root密码破解、RHEL6安装vmware tools

用户管理

三种用户:超级用户(root)、本地用户、系统用户[一般根据id可判断其类型]

用户配置文件/etc/passwd;密码/etc/shadow

用户组配置文件/etc/group;密码/etc/gshadow

/etc/passwd信息格式:

用户名:密码占位符:UID:GID:用户组:默认目录:登录shell

/etc/shadow信息格式:

用户名:加密密码:最近改密时间:连续改密时间间隔:密码过期时间:改密提醒:过期期限:过期时间:保留

命令管理:

useradd [用户名] #添加用户

[root@xiaogan122 ~]# useradd --help
Usage: useradd [options] LOGIN  #3种格式
       useradd -D
       useradd -D [options]

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
#指定新账户的主目录
  -D, --defaults                print or change default useradd configuration #查看或修改useradd默认设置 或使用默认设置创建用户
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
#指定新账户的起始组ID
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account#指定用户附加组ID
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user‘s home directory#为用户创建默认登录目录
  -M, --no-create-home          do not create the user‘s home directory #不创建用户目录
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             login shell of the new account
#指定默认登录shell
  -u, --uid UID                 user ID of the new account #指定用户ID
  -U, --user-group              create a group with the same name as the user #组名和用户名相同
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

技术分享

userdel [用户名] #删除用户 

[root@xiaogan122 ~]# userdel --help > userdel.help
[root@xiaogan122 ~]# cat userdel.help
Usage: userdel [options] LOGIN

Options:
  -f, --force             force some actions that would fail otherwise
  #强制删除                e.g. removal of user still logged in
                          or files, even if not owned by the user
  -h, --help #帮助信息     display this help message and exit
  -r, --remove#删除用户目录 remove home directory and mail spool
  -R, --root CHROOT_DIR   directory to chroot into

#应用的变化从CHROOT_DIR读取,CHROOT_DIR目录和使用配置文件目录。
  -Z, --selinux-user      remove any SELinux user mapping for the user

passwd [用户名] #修改用户密码

[root@xiaogan122 ~]# passwd --help
Usage: passwd [OPTION...] <accountName>
#格式
  -k, --keep-tokens       keep non-expired authentication tokens
#密码永不过期
  -d, --delete            delete the password for the named account (root only) #删除用户密码
  -l, --lock              lock the password for the named account (root only) #禁止修改密码
  -u, --unlock            unlock the password for the named account (root only)
#解除限制
  -e, --expire            expire the password for the named account (root only) #终止用户密码
  -f, --force             force operation
#强制执行
  -x, --maximum=DAYS      maximum password lifetime (root only)
#密码最长有效时间
  -n, --minimum=DAYS      minimum password lifetime (root only)
#密码最短有效时间
  -w, --warning=DAYS      number of days warning users receives before password expiration
                          (root only)
#提前多少天提醒用户修改密码
  -i, --inactive=DAYS     number of days after password expiration when an account becomes
                          disabled (root only) 
  -S, --status            report password status on the named account (root only)
#查询用户密码状态
  --stdin                 read new tokens from stdin (root only) #从标准输入读取数据

Help options:
  -?, --help              Show this help message
  --usage                 Display brief usage message #用法格式

usermod [用户名]  #modify a user account修改用户账户设置

Usage: usermod [options] LOGIN

Options:
  -c, --comment COMMENT         new value of the GECOS field
  -d, --home HOME_DIR           new home directory for the user account #修改用户默认目录
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE #设置账户有效期
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE #设置密码过期后活跃天数
  -g, --gid GROUP               force use GROUP as new primary group#使用Group为新的主组
  -G, --groups GROUPS           new list of supplementary GROUPS #附加组
  -a, --append                  append the user to the supplemental GROUPS #添加用户到组
                                mentioned by the -G option without removing
                                him/her from other groups
  -h, --help                    display this help message and exit
  -l, --login NEW_LOGIN         new value of the login name #改名
  -L, --lock                    lock the user account #锁定账户
  -m, --move-home               move contents of the home directory to the #移动用户主目录
                                new location (use only with -d)
  -o, --non-unique              allow using duplicate (non-unique) UID#允许使用重复的UID
  -p, --password PASSWORD       use encrypted password for the new password 使用加密的密码
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             new login shell for the user account #指定登录shell
  -u, --uid UID                 new UID for the user account #指定UID
  -U, --unlock                  unlock the user account #解锁
  -Z, --selinux-user SEUSER     new SELinux user mapping for the user account

技术分享

groupadd [组名] #添加组

groupdel [组名] #删除组

su [用户名]  #切换用户

su – [用户名] #切换用户和环境变量

id [用户名] #查看年用户ID信息

w #查看登录信息

who #查看登录信息

whoami #查看当前使用用户

who am i #查看当前登录用户

finger #user information lookup program查询用户信息

usage: finger [-lmps] [login ...] #格式

技术分享

技术分享

实战:RHEL6、RHEL7系统root密码破解

RHEL6系统root密码破解:开机,进入选择操作系统界面,e编辑启动项,再次输入e编辑第二行命令,在代码最后输入空格和1,(即输入" 1"),回车确认,然后按b键,启动进入单用户模式。ok,passwd改密码吧!!!

RHEL7系统root密码破解:

(背景,系统selinux需要处于开机自动关闭状态,即/etc/selinux/config中selinux=disabled)。

开机,进入选择系统界面,按e键,进入编辑,找到加载内核的那一行,如下图:

技术分享

将ro删除,输入如下:

rw init=/sysroot/bin/sh

意思是ro是只读,改成rw读写模式,初始化进入救援模式

进入后,输入换根命令:

chroot /sysroot

然后就可以改密码了!!!输入passwd改密码吧!!!

在急救模式中重启命令如下:

两次退出后,输入/bin/sh/ shutdown –r now

技术分享

实战:RHEL6安装vmware工具

其实很简单!我都不想写…

打开虚拟机,开机状态,在虚拟机的菜单栏,选择虚拟机--->安装vmware-tools

然后,系统就会自动挂载vmware-tools的linux.iso镜像

在终端输入df查看镜像挂载位置,并将其重新挂载到/mnt #其实这个没必要,只是我有强迫症

然后,拷贝压缩包到当前目录下,解压,运行立面的vmware-install.pl安装即可!!!

命令如下:

umount /dev/cdrom #卸载光驱

umount /dev/mnt #卸载/mnt

mount /dev/cdrom /mnt #挂载光驱到/mnt

cp /mnt/VMwareTools-*.tar.gz . #复制源码到当前目录

tar zxf VMwareTools-*.tar.gz #解压到当前目录

./vmware*/vmware-install.pl #运行,开始安装,我试过了,这么做是可以的!!!使用*匹配

#剩下的就是一路回车!!!不需要修改什么设置

#你也可以将上面的写成脚本,一键搞定!!!

#!/bin/bash

umount /dev/cdrom #卸载光驱

umount /dev/mnt #卸载/mnt

mount /dev/cdrom /mnt #挂载光驱到/mnt

cp /mnt/VMwareTools-*.tar.gz . #复制源码到当前目录

tar zxf VMwareTools-*.tar.gz #解压到当前目录

./vmware-tools-distrib/vmware-install.pl #运行,开始安装

#输入回车这个没研究

 

先到这里吧!!!其他的等有时间了把,明天出去玩啊,早睡早起!!!

 

总结 1-1 ~ 1-6