Linux用户、组管理和正则表达式的基础命令

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

[root@localhost skel]# cp -r /etc/skel /home/tuser1
[root@localhost skel]# ls -al /home/tuser1
total 12
drwxr-xr-x. 3 root root  70 Jul 19 22:39 .
drwxr-xr-x. 9 root root 100 Jul 19 22:38 ..
-rw-r--r--. 1 root root  18 Jul 19 22:38 .bash_logout
-rw-r--r--. 1 root root 193 Jul 19 22:38 .bash_profile
-rw-r--r--. 1 root root 231 Jul 19 22:38 .bashrc
drwxr-xr-x. 2 root root  59 Jul 19 22:39 skel
[root@localhost ~]# chmod -R go= /home/tuser1
[root@localhost ~]# ls -la /home/tuser1
total 16
drwx------.  3 root root   70 Jul 19 22:39 .
drwxr-xr-x. 14 root root 4096 Jul 20 00:51 ..
-rw-------.  1 root root   18 Jul 19 22:38 .bash_logout
-rw-------.  1 root root  193 Jul 19 22:38 .bash_profile
-rw-------.  1 root root  231 Jul 19 22:38 .bashrc
drwx------.  2 root root   59 Jul 19 22:39 ske

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

[root@localhost skel]# nano /etc/group

  GNU nano 2.3.1              File: /etc/group                                  

entadmin:x:5002:test
test2:x:4003:
distro:x:2016:
mageia:x:1100:
admins:x:5003:slackware
mariadb:x:994:
magedu:x:5000:gentoo,fedora
fedora:x:4005:
hadoop:x:5004:

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

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

  GNU nano 2.3.1             File: /etc/passwd                                  

test:x:4001:1000:shijl,hs,110,119:/var/tmp/gentoo:/bin/bash
fedors:x:4002:4002:Fedora Core:/home/fedors:/bin/tcsh
test2:x:4003:4003::/home/test2:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
slackware:x:2002:2016::/home/slackware:/bin/tcsh
mariadb:x:996:994::/home/mariadb:/sbin/nologin
gentoo:x:4004:1000::/users/gentoo:/bin/bash
fedora:x:4005:4005::/users/fedora:/bin/bash
hadoop:x:5004:5004::/home/hadoop:/bin/bash

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

[root@localhost ~]# cp -r /etc/skel /home/hadoop
[root@localhost ~]# chmod go= /home/hadoop
[root@localhost ~]# ls -dl /home/hadoop/
drwx------. 2 root root 59 Jul 19 23:16 /home/hadoop/

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

[root@localhost ~]# chown -R hadoop:hadoop /home/hadoop
[root@localhost ~]# ls -ld /home/hadoop/
drwx------. 2 hadoop hadoop 59 Jul 19 23:16 /home/hadoop/
[root@localhost ~]# ls -al /home/hadoop/
total 16
drwx------.  2 hadoop hadoop   59 Jul 19 23:16 .
drwxr-xr-x. 10 root   root   4096 Jul 19 23:16 ..
-rw-r--r--.  1 hadoop hadoop   18 Jul 19 23:16 .bash_logout
-rw-r--r--.  1 hadoop hadoop  193 Jul 19 23:16 .bash_profile
-rw-r--r--.  1 hadoop hadoop  231 Jul 19 23:16 .bashrc

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

[root@localhost ~]# grep "^[sS]" /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              6844 kB
Slab:              64964 kB
SReclaimable:      26088 kB
SUnreclaim:        38876 kB
[root@localhost ~]# grep -i "^s" /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              6844 kB
Slab:              64964 kB
SReclaimable:      26088 kB
SUnreclaim:        38876 kB

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

[root@localhost ~]# grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1
root
sync
shutdown
halt
test
fedors
test2
mageia
slackware
gentoo
fedora
hadoop

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

[root@localhost ~]# grep "/bin/bash$" /etc/passwd | cut -d: -f1
root
test
test2
mageia
gentoo
fedora
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
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

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

[root@localhost ~]# grep "^[[:space:]]\+" /boot/grub2/grub.cfg
  load_env
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
   set default="${saved_entry}"
  menuentry_id_option="--id"
  menuentry_id_option=""
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb

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

[root@localhost ~]# 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.

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

[root@localhost ~]# netstat -tan | grep "LISTEN[[:space:]]*$" 
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 :::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 ~]# grep "\(nologin\).*\1" /etc/passwd
nologin:x:5008:5008::/home/nologin:/sbin/nologin

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

(1)
N27_shijinlongN27_shijinlong
上一篇 2017-07-20
下一篇 2017-07-20

相关推荐

  • 定时任务的完成contab

    采用crontab来完成 利用crontab来定时执行任务大致有如下三步: 1、编写shell脚本 2、利用crontab加入到定时任务队列 3、查看作业完成情况 一、如何建立shell脚本 Linux下有很多不同的shell,但我们通常使用bash(bourne again shell)进行编程,因为bash是免费的并且很容易使用 程序必须以下面的行开始(…

    Linux干货 2016-08-11
  • vim 编辑器介绍

         vi: Visual Interface ,文本编辑器  文本:ASCII, Unicode  文本编辑种类: 行编辑器: sed 全屏编辑器:nano, vi vim – Vi Improved  其他编辑器: gedit 一个简单的图形编辑器 gvim 一个 Vim 编辑器…

    2017-06-03
  • 揭开链接文件的面纱——从根本上剖析硬链接与软链接异同

    在linux的学习过程中,链接文件的学习让不少人头疼,很多同学往往分不清什么是硬链接,什么是软链接,对于两者的概念和区别常常容易混淆、搞不清楚。今天我们就从原理、从根本上为大家辨析一些两者之间的区别,相信大家在看完这篇文章之后对链接文件会有一个清晰正确的认识。 1、在实现原理上不同 硬链接,涉及到文件的底层模式,因此被称为硬链接文件。硬链接文件只是一个指针指…

    Linux干货 2016-10-20
  • 系统管理之程序包管理(二)yum详解

    系统管理之程序包管理(二)yum详解:     上节向大家介绍了程序包管理的理论和rpm命令的使用,本篇文章接着向大家介绍rpm的前端使用工具,方便大家更快捷的管理,使用rpm包,提高工作效率。 一 概论: Centos:yum,dnf 两个rpm前端工具 YUM :yellow dog, Yellowdog,Upda…

    Linux干货 2016-08-24
  • LVS-fwm&persistence

    Evernote Export 1、LVS-fwm fwm:FireWall Mark        在netfilter上给报文打标记;mangle表;        ipvsadm -A|E -t|u|f service-address [-s scheduler] &nbs…

    Linux干货 2016-12-01
  • 设计模式(五)适配器模式Adapter(结构型)

    1. 概述:          接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题。程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化。         例子1:iphone…

    Linux干货 2015-06-25

评论列表(1条)

  • 马哥教育
    马哥教育 2017-07-27 00:01

    总结的不错,第一题、第四题和第五题可以归纳为一类题目来做,后面可以多总结;继续加油~