第四周 文件操作

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 21:01
下一篇 2017-12-25 10:17

相关推荐

  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 //使用who命令列出列出当明显登录的所有用户,使用cut命令取出用户名,使用sort命令去重即可// [root@localhost ~]# who | cut -d' ' -f1…

    Linux干货 2016-08-08
  • N25_第六周作业

    1、复制/etc/rc.d/rc.sysinit文件至tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s@^[[:space:]]\+@#&@g(CentOS7下并未看到这个文件) 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;…

    Linux干货 2017-02-15
  • 第十四周 N21 总有刁民想害朕

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;  iptables -A  INPUT -p tcp –dpor…

    Linux干货 2016-10-17
  • Linux发展史

    一、从 Unix 到 Linux 这一段历史         早在 Linux 出现之前的二十年 ( 大约在 1970 年代 , 就有一个相当稳定而成熟的操作系统存在了!那就是 Linux 的老大哥『 Unix 』是也!怎么这么说呢?!他们这两个家伙有什么关系呀?这里就给他说一说啰!众所皆知的,Linux 的核心是由 …

    Linux干货 2016-10-14
  • bash变量类型及区别之浅谈

    变量类型,区别 位置变量$0 $1,$2,$# $@ $* 变量的类型:本地变量、环境变量、位置变量 本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程包括当前shell的子进程均无效 环境变量:生效范围为当前shell进程及子进程 位置变量:$1,…..$n,${10}来表示,用于放脚本在脚本代码中调用通过命令行传…

    Linux干货 2016-08-12
  • CentOS进程管理

    CentOS进程管理 笔记 Linux系统中的基本运行单位是进程,通过对系统系统中的进程的管理能够对系统的实时运行状态进行了解和调度。Linux中提供了用于查看、调整和停止进程的命令。本文仍然以RHEL6说明Linux系统的进程管理。 CentOS进程管理 一、进程概述 二、查看进程 1、使用ps命令 2、top命令 一、进程概述 程序是保存在存储介质中的可…

    Linux干货 2017-05-15

评论列表(2条)

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

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

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

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