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用户不能删除