第四周 文件操作

1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限

[root@localhost ~]# cp -a /etc/skel /home/tuser1

[root@localhost ~]# chmod -R go= /home/tuser1

[root@localhost ~]# ls -ld /home/tuser1/

drwx——. 2 root root 4096 Nov 30 17:47 /home/tuser1/

 

[root@localhost ~]# cp -r /etc/skel /home/tuser1

[root@localhost ~]# chmod -R 700 /home/tuser1/

[root@localhost ~]# ls -ld /home/tuser1/

drwx——. 3 root root 4096 Dec 24 19:19 /home/tuser1/

 

2、编辑/etc/group文件,添加组hadoop

[root@localhost ~]# vi /etc/group

[root@localhost ~]# tail -1 /etc/group

hadoop:x:557

 

[root@localhost ~]# echo “hadoop:x:557” >> /etc/group && tail -1 /etc/group

hadoop:x:557

 

3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop

[root@localhost ~]# vi /etc/passwd

[root@localhost ~]# tail -1 /etc/passwd

hadoop:x:1009:1009::/home/hadoop:/bin/bash

 

[root@localhost ~]# echo “hadoop:x:1009:1009::/home/hadoop:/bin/bash” >> /etc/passwd && tail -1 /etc/passwd

hadoop:x:1009:1009::/home/hadoop:/bin/bash

[root@localhost ~]# id hadoop

uid=1009(hadoop) gid=1009 groups=1009

 

4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限

[root@localhost ~]# cp -r /etc/skel /home/hadoop

[root@localhost ~]# chmod -R 700 /home/hadoop

[root@localhost ~]# ls -ld /home/hadoop

drwx—— 2 root root 4096 Dec 24 19:39 /home/hadoop

 

5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop

[root@localhost ~]# chown -R hadoop:hadoop /home/hadoop

[root@localhost ~]# ls -al /home/hadoop

total 20

drwx——   2 hadoop hadoop 4096 Dec 24 19:39 .

drwxr-xr-x. 12 root   root   4096 Dec 24 19:39 ..

-rwx——   1 hadoop hadoop   18 Dec 24 19:39 .bash_logout

-rwx——   1 hadoop hadoop  193 Dec 24 19:39 .bash_profile

-rwx——   1 hadoop hadoop  231 Dec 24 19:39 .bashrc

 

6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式

[root@localhost ~]# grep “^[sS]” /proc/meminfo

SwapCached:            0 kB

SwapTotal:       8388604 kB

SwapFree:        8388604 kB

Shmem:              6896 kB

Slab:              43572 kB

SReclaimable:      20876 kB

SUnreclaim:        22696 kB

 

[root@localhost ~]# grep -i “^s” /proc/meminfo

SwapCached:            0 kB

SwapTotal:       8388604 kB

SwapFree:        8388604 kB

Shmem:              6896 kB

Slab:              43572 kB

SReclaimable:      20876 kB

SUnreclaim:        22696 kB

 

[root@localhost ~]# grep -E “^(s|S)” /proc/meminfo

SwapCached:            0 kB

SwapTotal:       8388604 kB

SwapFree:        8388604 kB

Shmem:              6896 kB

Slab:              43572 kB

SReclaimable:      20876 kB

SUnreclaim:        22696 kB

 

7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户

[root@localhost ~]# grep -v “/sbin/nologin$” /etc/passwd |cut -d: -f1

root

sync

shutdown

halt

gentpp

gentoo

fedora

mageia

slackware

gentnn

slack

centos

hadoop

 

[root@localhost ~]# grep -v “nologin\>$” /etc/passwd |cut -d: -f1

root

sync

shutdown

halt

gentpp

gentoo

fedora

mageia

slackware

gentnn

slack

centos

hadoop

 

8、显示/etc/passwd文件中其默认shell为/bin/bash的用户

[root@localhost ~]# grep “/bin/bash$” /etc/passwd | cut -d: -f1

root

gentoo

mageia

gentnn

centos

hadoop

 

[root@localhost ~]# grep “bash\>$” /etc/passwd | cut -d: -f1

root

gentoo

mageia

gentnn

centos

hadoop

 

9、找出/etc/passwd文件中的一位数或两位数

[root@localhost ~]# grep “\<[0-9]\{1,2\}\>” /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

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

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

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

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

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

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

[root@localhost ~]# grep “\<[0-9]\{1,2\}\>” /etc/passwd | cut -d: -f3 | sort -n

0

1

2

3

4

5

6

7

8

11

12

14

29

32

74

81

89

99

 

10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行

[root@localhost ~]# ls -ld /boot/grub

drwxr-xr-x. 2 root root 4096 Nov 30 17:49 /boot/grub

[root@localhost ~]# ls /boot/grub

splash.xpm.gz

[root@localhost ~]# ls /boot/grub2

device.map  fonts  grub.cfg  grubenv  i386-pc  locale

 

[root@localhost ~]# grep “^[[:space:]]\+.*” /boot/grub2/grub.cfg | wc -l

64

 

[root@localhost ~]# grep “^[[:space:]]\+.*” /boot/grub/grub.conf

 

11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行

[root@localhost ~]# grep “^#[[:space:]]\+[^[:space:]]\+” /etc/rc.d/rc.sysinit

 

12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行

[root@localhost ~]# netstat -tan

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN

tcp        0      0 192.168.43.191:22       192.168.43.233:50240    ESTABLISHED

tcp        0     52 192.168.43.191:22       192.168.43.233:51118    ESTABLISHED

tcp6       0      0 :::111                  :::*                    LISTEN

tcp6       0      0 :::22                   :::*                    LISTEN

tcp6       0      0 ::1:25                  :::*                    LISTEN

[root@localhost ~]# netstat -tan | grep “LISTEN[[:space:]]*$”

tcp        0      0 0.0.0.0:111             0.0.0.0:*                LISTEN

tcp        0      0 0.0.0.0:22              0.0.0.0:*                LISTEN

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN

tcp6       0      0 :::111                  :::*                               LISTEN 

tcp6       0      0 :::22                   :::*                               LISTEN

tcp6       0      0 ::1:25                  :::*                              LISTEN

 

13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息

[root@localhost ~]# useradd bash

[root@localhost ~]# useradd testbash

[root@localhost ~]# useradd basher

[root@localhost ~]# useradd -s /sbin/nologin nologin

[root@localhost ~]# tail -4 /etc/passwd

bash:x:4006:4006::/home/bash:/bin/bash

testbash:x:4007:4007::/home/testbash:/bin/bash

basher:x:4008:4008::/home/basher:/bin/bash

nologin:x:4009:4009::/home/nologin:/sbin/nologin

 

[root@localhost ~]# grep  -E  “^([^:]+\>).*\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

bash:x:4006:4006::/home/bash:/bin/bash

nologin:x:4009:4009::/home/nologin:/sbin/nologin

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90572

(0)
N28_noonN28_noon
上一篇 2017-12-24
下一篇 2017-12-25

相关推荐

  • python基础_1

    变量/常量 常量:一旦赋值,就不能对它从新复制。python不存在常量 字面常量:一个单独出现的量,未赋值给任何变量或者常量 变量:就是一个名字,在固执符号的左边,这个名字可以指复制符号右边的内容。 变量列子: i = 3 print(i)  注:python 是强类型语言,是动态类型语言。(强类型指类型之间不能相互计算/动态类型是指变量是可以赋值…

    Linux干货 2017-10-10
  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加samba用户gentoo,centos和u…

    Linux干货 2016-10-17
  • 马哥教育网络班22期+第三周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  ~]# who |sort -nu root     pts/0        2016-08-…

    Linux干货 2016-08-29
  • 如何在linux系统上获取命令的帮助信息,man文档的章节划分

    内置命令获取帮助文档的方式:   判断一个命令是否是Linux内置的,可以用type命令,只有Linux的内置命令才能使用 help 命令获得帮助。 type cd 输出:cd is a shell builtin 说明这个命令是系统自带的内置命令,那么就可以使用 help命令来获取帮助。 help 命令名 外部命令获取帮助文档的方式: 第一种办法是使用 &…

    Linux干货 2016-10-31
  • iptables的DNAT、SNAT配置

    DNAT:目的地址转换。当外网主机访问内网的某台服务器的时候,如果直接暴露服务器的IP于公网,可能会遭受各种各样的攻击,而DNAT的主要作用就是在服务器前面添加一台防火墙。将防火墙的地址公布出去,让外网客户端通过访问防火墙的地址就可以访问到本地服务器。这样就起到了保护服务器的目的; SNAT:源地址转换。内网主机在访问互联网的时候所有源地址都转换为防火墙的外…

    2017-06-12
  • LVS NAT模型

    LVS NAT NAT模式顾名思义就是对地址进行转换 通过访问前端外网的VIP调度到后端两台真实主机 拓扑图如下                      &n…

    2017-05-15

评论列表(2条)

  • 马哥教育
    马哥教育 2018-01-07 17:29

    赞,前面几个题目使用了至少一种方法实现,比较好~~排版上也很清晰,继续加油~

  • 马哥教育
    马哥教育 2018-01-07 17:38

    内容上没什么问题,排版上可以变化一下~~加油哈~