马哥linux运维实战练习案例(一)

1、创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录

第一步:首先使用df -h 命令,查看本机磁盘分区使用情况:

[[email protected] ~]# df -h

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        18G 4.3G   14G   25% /

devtmpfs        482M    0  482M    0% /dev

tmpfs           490M   80K 490M    1% /dev/shm

tmpfs           490M 7.0M  483M    2% /run

tmpfs           490M     0 490M    0% /sys/fs/cgroup

/dev/sda1       497M 121M  377M   25% /boot

第二步:使用fdisk -l 命令查看所有的挂载点

[[email protected] ~]# fdisk -l /dev/sd[a-z]

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x000bd9cb

设备 Boot      Start         End      Blocks  Id  System

/dev/sda1  *        2048     1026047     512000   83  Linux

/dev/sda2         1026048     5220351    2097152   82  Linux swap / Solaris

/dev/sda3         5220352    41943039   18361344   83  Linux

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

第三步:用fdisk命令对新的磁盘进行分区:

[[email protected] ~]# fdisk /dev/sdb    ←fdisk后面不跟任何参数接设备文件进入磁盘分区操作

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partitiontable

使用磁盘标识符 0xf245c75d 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m  ←使用m来查看fdisk所有操作指令

命令操作

a   toggle a bootable flag

b   edit bsd disklabel

c   toggle the dos compatibilityflag

d   delete a partition

g   create a new empty GPTpartition table

G   create an IRIX (SGI) partitiontable

l   list known partition types

m   print this menu

n   add a new partition

………………………………………………

命令(输入 m 获取帮助):n  ←使用n来创建新的磁盘分区

Partition type:

p   primary (0 primary, 0extended, 4 free)   ← p 主分区

e   extended       ← e 扩展分区

Select (default p): p

分区号 (1-4,默认 1):1

起始扇区 (2048-41943039,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or+size{K,M,G} (2048-41943039,默认为 41943039):+10G           ← 使用+给分区设定大小为10G

分区 1 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):P   ← 使用P来查看已经创建好的分区

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0xf245c75d

设备 Boot      Start         End     Blocks   Id  System

/dev/sdb1            2048    20973567   10485760   83  Linux

命令(输入 m 获取帮助):W   ←使用W保存执行的操作后退出,也可以使用q放弃当前所有操作

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。     ←表明磁盘分区创建完毕

第四步:再次使用fdisk -l 命令查看挂载点

[[email protected] ~]# fdisk -l /dev/sd[a-z]

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x000bd9cb

设备 Boot      Start         End      Blocks  Id  System

/dev/sda1  *        2048     1026047      512000  83  Linux

/dev/sda2         1026048     5220351    2097152   82  Linux swap / Solaris

/dev/sda3         5220352    41943039   18361344   83  Linux

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0xf245c75d

设备 Boot      Start         End      Blocks  Id  System

/dev/sdb1            2048    20973567   10485760   83  Linux

第五步:使用mke2fs命令对新的分区进行格式化,创建文件系统,卷标等信息:

[[email protected] ~]# mke2fs -t ext4  /dev/sdb1

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

655360 inodes, 2621440 blocks

131072 blocks (5.00%) reserved for thesuper user

第一个数据块=0

Maximum filesystem blocks=2151677952

80 block groups

32768 blocks per group, 32768 fragments pergroup

8192 inodes per group

Superblock backups stored on blocks:

32768,98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: 完成

正在写入inode表: 完成

Creating journal (32768 blocks): 完成

Writing superblocks and filesystemaccounting information: 完成

第六步:创建新的挂载空目录;

第七步:将文件系统挂载到新创建的/data目录下:

[[email protected] ~]# mkdir /data    ←新建/data挂载目录

[[email protected] ~]# mount /dev/sdb1/data  ← 将文件系统挂载到/data目录下

[[email protected] ~]# df -h    ← 查看文件系统使用情况

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        18G 4.3G   14G   25% /

devtmpfs        482M    0  482M    0% /dev

tmpfs           490M   80K 490M    1% /dev/shm

tmpfs           490M 7.0M  483M    2% /run

tmpfs           490M     0 490M    0% /sys/fs/cgroup

/dev/sda1       497M 121M  377M   25% /boot

/dev/sdb1       9.8G  37M  9.2G    1% /data

第八步:使用mount命令查看已挂载的所有设备

[[email protected] ~]# mount

proc on /proc type proc(rw,nosuid,nodev,noexec,relatime)

……

/dev/sda1 on /boot type xfs(rw,relatime,seclabel,attr2,inode64,noquota)

/dev/sdb1 on /data type ext4(rw,relatime,seclabel,data=ordered)

第九步:想要开机自动挂载设备,必须编辑/etc/fstab文件

[[email protected] ~]# ls -l/dev/disk/by-uuid/   ←查看UUID号

总用量 0

lrwxrwxrwx. 1 root root 10 12月 30 19:281120ff5e-8ec9-4a19-bd9f-b97732c49bb7 -> ../../sda3

lrwxrwxrwx. 1 root root  9 12月 30 19:282015-03-31-23-50-00-00 -> ../../sr0

lrwxrwxrwx. 1 root root 10 12月 30 19:283e0c7287-7a32-4fab-b6cc-5945e4fd083c -> ../../sda2

lrwxrwxrwx. 1 root root 10 12月 30 19:285d97147b-798d-4316-9381-acf7d8f8bdfb -> ../../sdb1

lrwxrwxrwx. 1 root root 10 12月 30 19:28fbac508c-2ca0-48d1-a74a-6ee4be99ca89 -> ../../sda1

2、显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行;

3、添加用户nginx、zabbix、tomcat、nologin以及hadoop用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行;

[[email protected] ~]# useradd nginx

[[email protected] ~]# useradd zabbix

[[email protected] ~]# useradd tomcat

[[email protected] ~]# useradd nologin

[[email protected] ~]# useradd hadoop

[[email protected] ~]# tail -l /etc/passwd

avahi:x:70:70:Avahi mDNS/DNS-SDStack:/var/run/avahi-daemon:/sbin/nologin

sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

lu:x:1000:1000:lu:/home/lu:/bin/bash

nginx:x:1001:1001::/home/nginx:/bin/bash

zabbix:x:1002:1002::/home/zabbix:/bin/bash

tomcat:x:1003:1003::/home/tomcat:/bin/bash

nologin:x:1004:1004::/home/nologin:/bin/bash

hadoop:x:1005:1005::/home/hadoop:/bin/bash

^:行首锚定;用于模式的最左侧;

$:行尾锚定;用于模式的最右侧;

\>:词尾锚定;用于单词模式的右侧;

\1: 从左侧起,第一个左括号以及与之匹配右括号之间的模式所匹配到的字符;

[[email protected] ~]# grep"^\([[:alnum:]]\+\>\).*\1$" /etc/passwd

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

4、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行;

# grep –o "\([[:alpha:]_*[:alpha:]]\)\+()"  etc/rc.d/init.d/functions

5、使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名(注意是目录名,而非目录路径)

[[email protected] ~]# echo"/etc/init.d/functions/" | egrep -o "[[[:alpha:]]*/?$" |cut-d/ -f1

functions

6、查找/usr目录下不属于root、bin或hadoop的所有文件;

# find /usr -not \( -user root -o -user bin-o -user hadoop \)

7、某天系统被入侵了,黑客在你系统下留下木马文件:现需要查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件;

另外,需要查找/etc目录下大于20k且类型为普通文件的所有文件;

[[email protected] ~]# man find

-nogroup      ←没有属组

No group corresponds to file’snumeric group ID.

-nouser       ←没有属主

No user corresponds to file’snumeric user ID.

-atime n       ←访问时间

File was last accessed n*24 hoursago.  When find fig-

ures out how many 24-hourperiods  ago  the file  was

last  accessed, any fractional part is ignored, so to

match -atime +1, a file has tohave been  accessed  at

least two days ago.

-size n[cwbkMG]     ←文件大小

File  uses n  units of space.  The following suffixes

can be used:

‘b’    for 512-byte blocks (this is the defaultif  no

suffix is used)

‘k’    for Kilobytes (units of 1024 bytes)

‘M’    for Megabytes (units of 1048576 bytes)

‘G’    for Gigabytes (units of 1073741824 bytes)

-type c    ←文件类型

File is of type c:

f      regular file     ←常规类型

组合条件:   与:-a         或:-o     非:-not

[[email protected] ~]# find / -nouser -o-nogroup -atime -7

find: ‘/proc/40532/task/40532/fd/6’: 没有那个文件或目录

find: ‘/proc/40532/task/40532/fdinfo/6’: 没有那个文件或目录

find: ‘/proc/40532/fd/6’: 没有那个文件或目录

find: ‘/proc/40532/fdinfo/6’: 没有那个文件或目录

[[email protected] ~]# find /etc -size +20k-type f

/etc/pki/ca-trust/extracted/java/cacerts

/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt

/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

/etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem

/etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem

/etc/pki/nssdb/cert8.db

/etc/ssh/moduli

…………………………………..


8、创建目录/test/data,让某组内普通用户对其有写权限,且创建的所有文件的属组为目录所属的组;此外,每个用户仅能删除自己的文件。

[[email protected] ~]# groupadd works        ←添加works用户组

[[email protected] ~]# chown works/test/data/     ←改变属组

[[email protected] ~]# chown lu /test/data/          ←改变属主

[[email protected] ~]# usermod -G works lu           ←改变用户所在的组

[[email protected] ~]# su - lu

[[email protected] ~]$ groups

lu works

[[email protected] ~]# ls -ld /test/data/

drwxr-xr-x. 2 lu works 4096 Dec 31 16:54/test/data/

[[email protected] ~]# chmod g+ws,o+t /test/data

[[email protected] ~]# ls -ld /test/data/

drwxrwsr-t. 2 lu works 4096 Dec 31 16:54/test/data/

[[email protected] ~]# su - lu

[[email protected] ~]$ cd /test/data/

[[email protected] data]$ touch a

[[email protected] data]$ rm a

[[email protected] data]$ touch a.txt

[[email protected] data]$ su -

Password:

[[email protected] ~]# useradd -G worksmage      ←新建一个mage用户并且登录,实验一下能不能删除lu用户创建的a.txt文件

[[email protected] ~]# su - mage

[[email protected] ~]$ groups

mage works

[[email protected] ~]$ rm /test/data/a.txt

rm: cannot remove `/test/data/a.txt‘:Operation not permitted   ←mage用户不能删除

时间: 2024-10-23 15:47:10

马哥linux运维实战练习案例(一)的相关文章

【干货】马哥linux运维学院公开课-第一季

一大波高质量Linux运维和自动化运维公开课正在来袭,你准备好了么? 2016为了感谢广大同仁对马哥linux运维学院的支持,经过内部商讨,特推出一系列公开课来助力大家在职场中的发展!接下来就跟随小编来瞧瞧马哥linux运维学院都为大家呈上了一份什么样的神秘干货大礼包??? 想要参加公开课的小伙伴们请加群:339184057公开课报名链接:http://ke.qq.com/course/119808 课程详情 O2O业务的运维挑战和解决之道 AWK企业实战案例分享 深入浅出三剑客-grep/se

【干货】马哥linux运维学院公开课-今晚课程介绍:《应运而生的架构》

一大波高质量Linux运维和自动化运维公开课正在来袭,你准备好了么? 2016为了感谢广大同仁对马哥linux运维学院的支持,经过内部商讨,特推出一系列公开课来助力大家在职场中的发展!接下来就跟随小编来瞧瞧马哥linux运维学院都为大家呈上了一份什么样的神秘干货大礼包??? 公开课列表 课程详情 1. O2O业务的运维挑战和解决之道2. AWK企业实战案例分享(上篇.下篇)3. 深入浅出三剑客--grep/sed/awk4. WEB安全攻防那些事5. PHP沙盒基于Docker的自动化实现6.

马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文件系统管理详解之三10_05_脚本编程之八 脚本完成磁盘分区格式化20_01_DNS主从复制及区域传送04_04_grep及正则表达式01_03_操作系统基础08_02_bash脚本编程之七 case语句及脚本选项进阶14_03_bash脚本编程之十一(Linux启动流程之三) SysV服务脚本01

在马哥linux运维学院学习心得

题目:在马哥linux运维学院学习心得 姓名:谭龙 班级:M18 学号:26 时间:2016-02-29--2016-06-02(正常毕业时间预计在7月中上旬)   正文: 个人基本情况: 我是一名在校的即将毕业的大四学生,毕业时间为2016.7.专业为矿物加工工程专业,纯正的四川-广安人(邓小平故居就在那).因找不到工作,加上自己也不知道干什么,在堂弟的推荐下,来参加了马哥linux运维学院的学习:怀揣着一颗对计算机懵懂的心,开始涉足从未接触过了linux. 个人收获与心理变化: 在一开始接触

马哥linux运维公开课第三季—《自动化运维之jumpserver跳板机剖析》

运维2.0时代同时也代表着DevOps的时代,越来越多的人关注自动化运维,但是大家有没有想过,自动化运维如何来,作为运维的我们又该如何使用现有的工具去实现自动化运维,本周六晚八点半,就由jumpserver跳板机的创作团队为大家分享下如何使用开源工具来实现一个自动化运维框架的细节. 公开课官方群:339184057 ### jumpserver跳板机的官网信息 官网: http://www.jumpserver.org demo: http://demo.jumpserver.org 更新log

linux运维实战练习案例-2015年12月20日-12月31日 (第一次)

一.实战案例(练习)内容 假如你学习完Linux,想找一份儿Linux相关的运维工作,某天你接到一家公司给出的邀请,你来到该公司面试,面试前,运维主管给你出了一些简单的笔试题,题目如下: 1.创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录: 操作步骤: (1).使用fdisk工具创建一个10G的分区 [[email protected] ~]# fdisk /dev/sda 欢迎使用 fdisk (util-linux 2.23.2). 更改将停留在内存中,

linux运维实战练习案例-2016年2月3日(第二次)

一.实战案例(练习)内容 1.描述centos6系统开机启动流程: 第一步:POST(加电自检) POST:Power On Self Test 加电自检.指计算机系统接通电源,是BIOS功能的一个主要部分,包括对CPU.系统主板.基本内存.扩展内存.系统ROM BIOS等器件的测试.如发现错误,给操作者提示或警告.简化或加快该过程,可使系统能够快速启动. 第二步:启动BOIS,加载BIOS中的BootSequence(设备加载次序) 启动BIOS的设置界面,然后根据按次序查找各引导设备,第一个

马哥linux运维学习第一周作业

本周作业内容: 1.描述计算机的组成及其功能. 计算机组成按照两大部分 分别为硬件与软件 硬件分为五个部分: <1·控制器 <2·运算器 <3·存储器 <4·输入设备 <5·输出设备 CPU是控制器与运算器的集合,功能是对程序进行控制及对数据的加工 内存与硬盘 数据及缓存数据的存放 主板为 I/O设备的总线 鼠标键盘为 I/O设备 软件分为2个部分 系统软件 指控制与协调外部设备,并支持应用软件的使用.主流的操作系统有Windows.linux.unix.apple ios

Linux运维实战练习案例

1.创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录: 分析:1).为服务器添加一块硬盘 2).创建挂载点 3).分区格式化(指定文件系统类型) 4).配置fstab文件开机自动挂载 配置实现:     [[email protected] ~]# mkdir /data     创建挂载点     [[email protected] ~]# fdisk -l /dev/sd[a-z]  查看     Disk /dev/sda: 128.8 GB, 128