第四周 文件操作

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

相关推荐

  • Linux设备驱动Hello World程序介绍

    by Valerie Henson07/05/2007 (译者注:本文的例子是只能在linux的2.6内核下使用的,2.6以上的内核,译者没有做过实验,2.4是要修改make文件才能运行。) 本文的出处:这里 自古以来,学习一门新编程语言的第一步就是写一个打印“hello world”的程序(可以看《hello world 集中营》这个帖子供罗列了300个“…

    Linux干货 2015-04-01
  • SHELL脚本编程之变量的种类

    变量 在进行脚本编程的时候,经常会使用到不同类型的变量,根据变量的生效范围,可大致分为以下的几类: 本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程,包括当前shell进程的子shell进程都是无效的,它的作用域就是当前shell进程 环境变量:生效范围是当前shell进程及其子进程 局部变量:生效范围是当前shell进程中某…

    Linux干货 2016-08-12
  • Linux基础目录名称命名法则及功能规定

    Linux中有非常多的目录文件,那么这些目录文件的命令规则,和功能都有那些,今天学习了下,下面是我的学习记录,跟大家分享下。 文件命名规则 (1) 除了/之外,所有字符都合法 (2) 特殊字符如@、#、¥、&、()、-、空格等最好不要使用,当使用空格作为文件名时,执行命令会出错 (3) 避免使用”.”作为文件名的第一个字符,因为在Linux系统中以”…

    Linux干货 2016-08-15
  • find命令详解

    find命令是用来在给定的目录下查找符合给定条件的文件   find [OPTIONS] [查找起始路径] [查找条件] [处理动作]   一、OPTIONS参数     -P、-L、-H:控制软连接的对待方式,用的不多。不介绍了   二、查找路径     就是个目录路径,相对和绝对都可以。   三、查找条件     (一)、根据名称查找       -na…

    Linux干货 2016-09-19
  • linux 逻辑卷管理

    lvm介绍:     lvm:全称Logical Volume Manager,重点在于可以弹性调整filesystem 容量,并非在于数据安全     lvm:整合多个分区或者磁盘为一个整体,让分区看起来想一个整体。     lvm:设备…

    Linux干货 2016-09-01
  • linux下文件处理基础命令(自己预习瞎学的)

                      Linux下文件处理基础命令     1.创建文件   有时候我们会遇到需要创建一个空文件的情况。比如,应用程序可能希望在写…

    2017-07-15

评论列表(2条)

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

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

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

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