第四周 文件操作

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

相关推荐

  • bash脚本编程class2

    bash脚本class2—循环语句的使用      一.三种循环语句以及其具体使用方法   我们知道,在shell脚本编程过程中,为了实现逻辑关系的运算,有三种执行命令的顺序:顺序执行,选择执行,循环执行。通过if,case这类语句可以实现条件筛选后执行命令,这次课程中所学的主要知识点为循环语句的三种使用方式:for,…

    Linux干货 2016-08-19
  • linux常用基础命令简介

    linux常用基础命令简介 linux入门 基础 笔记 linux新手入门常用命令语法参数简介 linux常用基础命令简介 cd 语法 选项 ls 语法 选项 echo 语法 选项 history 语法 选项 man 语法 选项 cd cd命令用来切换工作目录至指定目录。 其中指定目录表示法可为绝对路径或相对路径。若目录名称省略,则变换至…

    Linux干货 2017-03-26
  • 三台主机部署phpwind

    PHPWind(简称:PW)的使命是让网站更具价值,让更多人从网络中享受便利,以提升生活品质。 phpwind是一个基于PHP和MySQL的开源社区程序,是国内最受欢迎的通用型论坛程序之一。phpwind第一个版本ofstar发布于2004年。截止2013年12月phpwind项目品牌由阿里云计算有限公司拥有,软件全面开源免费。 特点 1. 非凡的访问速度 …

    2017-06-13
  • 制作本地yum源(以redhat5.8通过复制光盘文件到本地)

    为什么要制作本地yum源 1、RPM安装方式很多情况下不能有效解决复杂的包依赖关系。 2、而刚安装完成系统的YUM一般是通过联网使用。 3、如果是未注册的redhat5.0以上系统,则不能联网使用yum。 我们可以改变yum库的指向,使其指向本地自己制作的yum仓库,从而轻松实现本地yum方式查询、安装应用软件了。 下面据此给大家介绍其操作方法(以Redha…

    Linux干货 2016-04-11
  • 文件权限

    浅谈文件权限 Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。  文件权限: 文件或目录的访问权限分为只读,只写和可执行三种。  文件的权限主要针对三类对象进行定义:          owne…

    Linux干货 2016-08-07
  • ☞{ 编译内核;自制linux; }

    编译内核、自制linux 自制简单的linux 前提约定 CentOS 6.8 , Kernel-2.6.32-642.el6.x86_64 基于GRUB – 0.97 / 分区与 boot 分区独立, /boot 分区 100M+ ,/ 根分区看具体需求,此处为 1G Vmware 12.1,新建一个Li…

    Linux干货 2016-09-15

评论列表(2条)

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

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

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

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