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 20:21
下一篇 2017-07-20 21:10

相关推荐

  • 部署LAMP之WordPress, PMA(https), Discuz

    一、环境介绍     系统:CentOS 6.7     软件:httpd-2.2, mysql-5.3, wordpress-4.3, pma4.0     网络:       …

    Linux干货 2016-03-24
  • FHS文件系统共能介绍

    FHS文件系统共能介绍   FHS,即File Hierarchy Standard,文件层级标准。多数Linux系统下的文件管理采用此种文件组织形式,它定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。   这中组织是一种倒树状结构,所有的文件与目录都是由根目录”/”开始,然后…

    Linux干货 2016-10-18
  • n28 第二周作业

    n28 第二周作业

    Linux干货 2017-12-09
  • raid介绍及逻辑卷与逻辑卷快照应用

    高级文件系统管理 配置配额系统 综述 在内核中执行,以文件系统为单位启用,对不同组或者用户的策略不同,如将home单独分区,但是并不意味着每个用户都可以无上限使用该分区的空间,所以系统管理员要据块或者节点进行限制,限制每个用户使用磁盘的空间,当到达执行软限制( soft limit  )  会警报提醒用户;当硬限制( hard limit…

    Linux干货 2016-09-02
  • Linux 基础知识

    1、环境变量 2、帮助 3、时间 4、引用 5、命令历史 6、FHS 7、命令别名 8、Globbing文件名通配 9、命令,路径补全 10、快捷键 ============================================ shell:是用户和linux(或者kernel)之间的接口程序,你在提示符下输入的每个命令都先由shell解释(命令语…

    Linux干货 2016-06-09
  • 马哥教育网络班22期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit :%s@^[[:space:]]\+@…

    Linux干货 2016-09-19

评论列表(1条)

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

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