Linux运维实战练习案例20151220~20151231

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

# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sda:128.8 GB, 128849018880 字节,251658240 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0000d19d
   设备 Boot      Start         End      Blocks  Id  System
/dev/sda1  *        2048     1026047      512000  83  Linux
命令(输入 m 获取帮助):n
Partition type:
  p   primary (1 primary, 0extended, 3 free)
  e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (1026048-251658239,默认为 1026048):
将使用默认值 1026048
Last 扇区, +扇区 or +size{K,M,G} (1026048-251658239,默认为 251658239):+10G
分区 2 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sda:128.8 GB, 128849018880 字节,251658240 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0000d19d
   设备 Boot      Start         End     Blocks   Id System
/dev/sda1  *        2048     1026047      512000  83  Linux
/dev/sda2         1026048    21997567   10485760   83  Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partitiontable.
 
WARNING: Re-reading the partition tablefailed with error 16: 设备或资源忙.
The kernel still uses the old table. Thenew table will be used at
the next reboot or after you runpartprobe(8) or kpartx(8)
正在同步磁盘。
 
格式化类型为ext4
 #mke2fs -t ext4 /dev/sda2
 
创建/data目录
#mkdir /data
 
开机自动挂载,更改/etc/fstab配置文件:
vim /etc/fstab
/dev/sda2 /data  ext4

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

netstat -tan | grep"LISTEN[[:space:]]*$"
[:space:]表示空白字符
*表示前一个字符出现0次或多次
$什么为结尾



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

#useradd
#useraddnginx
#useraddzabbix
#useradd tomcat 
#useradd -s /sbin/nogoginnologin   //-s表示指定默认shell目录地址
#useraddhadoop
#grep "\(^[[:alnum:]]\+\>\).*\1$"/etc/passwd
首先过滤出用户名,基于用户名没有特殊字符[:alnum:],并且用户名是在/etc/passed文件下的行首字段,所有用行首锚定^,单词至少出现一次\+
词尾锚定\>这样就能过滤出所有用户名,shell名相同过滤,首先把前面的分组,中间跟任意内容.*,结尾内容跟前面的内容一致:\?$,匹配一次:\1$



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

#grep -E -o  “^[_[:alpha:]]+\(\)”/etc/rc.d/init.d/functions
-o 显示字符串本身
\转意


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

mkdir �Cp /data/plt
echo /data/plt | grep -E -o"[^/]+$"首先要指明除了斜线结尾至少出现一次:-E [^/]+$,
-o表示只显示匹配到的字符串本身




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

#find /usr -not -user root -a -not -userbin -a -not -user -hadoop
#find /usr -not \( -user root -o -user bin-o -user hadoop \)
-a:与
-o:或
-not:非
\(\):将一个或多个字符捆绑在一起,当作一个正题进行处理



7、某天系统被入侵了,黑客在你系统下留下木马文件:

现需要查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件;

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

#find / -nouser �Ca �Cnoguoup �Ca -atime -10 �Cls或
find / \( -nouser -o -nogroup \) -a \(-atime -10 \) -ls
#find /etc -size +20k -type f �Cls



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

#mkdir -p /test/data  //-p表示循环创建
#chmod o+w /test/data  //给普通用户增加写权限
#chmod g+s /test/data  
#chmod o+t /test/data







你可能感兴趣的:(linux,标签,primary)