N25第四周 chmod chown以及 grep命令的常用示例

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

    [root@localhost ~]# cp -r /etc/skel /home/tuser1
    [root@localhost ~]# ls -al /home/tuser1/skel
    total 12
    drwxr-xr-x. 3 root root  74 Dec 22 04:09 .
    drwx------. 3 root root  17 Dec 22 04:09 ..
    -rw-r--r--. 1 root root  18 Dec 22 04:09 .bash_logout
    -rw-r--r--. 1 root root 193 Dec 22 04:09 .bash_profile
    -rw-r--r--. 1 root root 231 Dec 22 04:09 .bashrc
    drwxr-xr-x. 4 root root  37 Dec 22 04:09 .mozilla
    [root@localhost ~]# chmod -R go-rx /home/tuser1
    [root@localhost ~]# ls -al /home/tuser1/skel
    total 12
    drwx------. 3 root root  74 Dec 22 04:09 .
    drwx------. 3 root root  17 Dec 22 04:09 ..
    -rw-------. 1 root root  18 Dec 22 04:09 .bash_logout
    -rw-------. 1 root root 193 Dec 22 04:09 .bash_profile
    -rw-------. 1 root root 231 Dec 22 04:09 .bashrc
    drwx------. 4 root root  37 Dec 22 04:09 .mozilla
    [root@localhost ~]#

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

    [root@localhost etc]# vim /etc/group
    admins:x:5035:slackware
    clouds:x:5036:
    nova:x:5037:openstack
    mysql:x:227:
    hadoop:x:5038:

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

    [root@localhost etc]# vim passwd

    jow:x:4067:4067::/home/jow:/bin/bash
    centos:x:4068:4068::/home/centos:/bin/bash
    user1:x:4069:4069::/home/user1:/bin/bash
    user2:x:4070:4070::/home/user2:/bin/bash
    apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
    pcp:x:228:228:Performance Co-Pilot:/var/lib/pcp:/sbin/nologin
    named:x:25:25:Named:/var/named:/sbin/nologin
    magia:x:1100:1100::/home/linux:/bin/bash
    slackware:x:2002:2016::/home/slackware:/bin/tcsh
    openstack:x:3003:5036::/home/openstack:/bin/bash
    mysql:x:227:227::/home/mysql:/sbin/nologin
    hadoop:x:3004:5038::/home/hadoop:/bin/bash

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

    [root@localhost ~]# cp -r /etc/skel /home/hadoop
    [root@localhost ~]# ls -l /home | grep hadoop
    drwxr-xr-x.  3 root     root       74 Dec 22 04:31 hadoop
    [root@localhost ~]# chmod -R go= /home/hadoop
    [root@localhost ~]# ls -al /home/hadoop 
    total 16
    drwx------.  3 root root   74 Dec 22 04:31 .
    drwxr-xr-x. 26 root root 4096 Dec 22 04:31 ..
    -rw-------.  1 root root   18 Dec 22 04:31 .bash_logout
    -rw-------.  1 root root  193 Dec 22 04:31 .bash_profile
    -rw-------.  1 root root  231 Dec 22 04:31 .bashrc
    drwx------.  4 root root   37 Dec 22 04:31 .mozilla
    [root@localhost ~]# ls -al /home | grep hadoop
    drwx------.  3 root     root       74 Dec 22 04:31 hadoop
    [root@localhost ~]#

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

    [root@localhost ~]# chown -R hadoop:hadoop /home/hadoop
    [root@localhost ~]# ls -al /home | grep hadoop
    drwx------.  3 hadoop   hadoop     74 Dec 22 04:31 hadoop
    [root@localhost ~]#

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

第一种:
    [root@localhost ~]# cat /proc/meminfo | grep  "^[sS].*"
    SwapCached:            0 kB
    SwapTotal:       2098172 kB
    SwapFree:        2098172 kB
    Shmem:              7264 kB
    Slab:             114028 kB
    SReclaimable:      65800 kB
    SUnreclaim:        48228 kB

第二种:
    [root@localhost ~]# cat /proc/meminfo | grep -i "^s.*"
    SwapCached:            0 kB
    SwapTotal:       2098172 kB
    SwapFree:        2098172 kB
    Shmem:              7264 kB
    Slab:             114028 kB
    SReclaimable:      65800 kB
    SUnreclaim:        48228 kB

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

    [root@localhost ~]# cat /etc/passwd | cut -d: -f1,7 
    root:/bin/bash
    bin:/sbin/nologin
    daemon:/sbin/nologin
    adm:/sbin/nologin
    lp:/sbin/nologin
    sync:/bin/sync
    shutdown:/sbin/shutdown
    halt:/sbin/halt
    mail:/sbin/nologin
    [root@localhost ~]# cat /etc/passwd | cut -d: -f1,7 | grep -v "/sbin/nologin"
    root:/bin/bash
    sync:/bin/sync
    shutdown:/sbin/shutdown
    halt:/sbin/halt

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

    [root@localhost ~]# cat /etc/passwd | cut -d: -f1,7 | grep "/bin/bash"
    root:/bin/bash
    admin:/bin/bash
    gentoo:/bin/bash
    cx:/bin/bash
    gestuser:/bin/bash
    moose:/bin/bash
    moosefs:/bin/bash

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

   [root@localhost ~]#  grep "\b[0-9]\{1,2\}\b" /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

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

   [root@localhost ~]# grep "^[[:space:]]*$" /boot/grub/grub.conf

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

    [root@localhost rc.d]# grep "^#[[:space:]]\+[^[:space:]]\+"  /etc/rc.d/rc.local
    # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
    # It is highly advisable to create own systemd services or udev rules
    # to run scripts during boot instead of using this file.
    # In contrast to previous versions due to parallel execution during boot
    # this script will NOT be run after all other services.
    # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
    # that this script will be executed during boot.
    [root@localhost rc.d]#

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

    [root@localhost ~]# netstat -tan | grep "LISTEN[[:space:]]*$"
    tcp        0      0 192.168.122.1:53        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:631           0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
    tcp6       0      0 :::22                   :::*                    LISTEN     
    tcp6       0      0 ::1:631                 :::*                    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 nologin
    [root@localhost ~]# tail -10 /etc/passwd
    named:x:25:25:Named:/var/named:/sbin/nologin
    magia:x:1100:1100::/home/linux:/bin/bash
    slackware:x:2002:2016::/home/slackware:/bin/tcsh
    openstack:x:3003:5036::/home/openstack:/bin/bash
    mysql:x:227:227::/home/mysql:/sbin/nologin
    hadoop:x:3004:5038::/home/hadoop:/bin/bash
    bash:x:4071:4071::/home/bash:/bin/bash
    testbash:x:4072:4072::/home/testbash:/bin/bash
    basher:x:4073:4073::/home/basher:/bin/bash
    nologin:x:4074:4074::/home/nologin:/bin/bash
    [root@localhost ~]# man usermod
    [root@localhost ~]# usermod -s /sbin/nologin nologin
    [root@localhost ~]# grep -E "^([^:]+\b).*\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:4071:4071::/home/bash:/bin/bash
    nologin:x:4074:4074::/home/nologin:/sbin/nologin
    [root@localhost ~]#

原创文章,作者:diglinux,如若转载,请注明出处:http://www.178linux.com/64498

(0)
diglinuxdiglinux
上一篇 2016-12-22
下一篇 2016-12-23

相关推荐

  • 采用二进制包安装mysql

    本文是在CentOS7系统平台下安装Mysql5.6.26版本数据库的操作说明,如有错误,请指正。 系统平台:CentOS-7-x86_64    数据库版本:mysql-5.6.26   Mysql镜像文件下载地址:http://dev.mysql.com/downloads/mirrors.html 本次演示的Mysql安装…

    Linux干货 2017-05-04
  • Centos图形界面和命令行界面切换—-使用init

    1、从图形界面切换到命令行界面      点击Applications–System Tools–Terminal。    打开后输入: su root(运行init需要管理员权限) 按回车,输入init 3或者init 2都可以,然后回车就可以    进入命令行界…

    Linux干货 2015-11-10
  • select循环解析

    前言:   select命令用于创建菜单,在select循环执行时会根据list数组给出选择菜单,用户选择后的结果保存在变量中,然后给出菜单,等待用户选择。select是个死循环,如果用户用户想跳出选择循环,需要在循环体中根据条件增加break语句。 格式: select variable in list do 循环体命令 done 示例: 在这个…

    Linux干货 2016-08-24
  • Linux磁盘管理实操

    Linux磁盘管理实操 1、创建一个10G分区,并格式为ext4文件系统。 先使用fdisk工具创建一个10G的新分区。使用fdisk打开要创建磁盘分区的物理设备fdisk /dev/sdb,然后使用n指令创建新的分区,分区类型选此处选择为主分区,第一个柱面使用默认的1,最后的柱面,使用+10G这种表示方式,表示创建的分区大小为10G。 创建后可以使用p指令…

    系统运维 2016-12-13
  • 数组和变量之间的关系及如何灵活运用数组

    什么是数组?数组:存储多个元素的连续的内存空间,相当于多个变量的集合什么是变量? 变量即是存储单个元素的内存空间 如果整个数组只有一个名字;数组名是数组的标识;也是数组所指向的存储多个元素的连续的内存空间开始地址的标识;数组索引定义从 0 开始(第一个数组元素);到 N 结束引用某个数组元素时,数组名+【索引】格式:${ARRAY_NAM…

    Linux干货 2017-05-22
  • shell脚本变成之数组、字符串处理及其它功能补充

    数组定义:                  能够存储多个元素的内存空间,每个元素在数组中具有特定的索引编号,我们可以通过变量名和索引编号来查看数组中的某一元素。    &nbsp…

    Linux干货 2016-08-24

评论列表(1条)

  • 马哥教育
    马哥教育 2017-01-03 17:08

    不错,完成的很好,可以看出对基础知识这块掌握的委扎实。再接再励