Linux基础知识(四)

  • 本文主要讲述:Linux上用户和组的基本管理,具体包括一下内容

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

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

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

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

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

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

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

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

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

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

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

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

  • 13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

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

cp -r /etc/skel /home/tuser1
chmod -R go= /home/tuser1

2.编辑/etc/group文件,添加组hadoop:

 首先需要知道/etc/group文件的格式,是由四个冒号分隔的字段,用其中第一行作为示例:

  root:x:0: 

 四个字段分别表示:组名,密码,组id,此组内的用户列表(省略表示此组内只有一个与组名同名的用户)

 于是添加组hadoop的方式为:

hadoop:x:500:

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

要想手动添加用户,就要弄清楚/etc/passwd文件中内容的组织格式

该文件组织形式是以冒号分隔的7个字段,以该文件中的第一行为例:

 root:x:0:0:root:/root:/bin/bash

 第一个字段 root:用户名。

 第二个字段 x  :用户密码字段,这里是显示为x表示密码加密存放,x表示占位符。

 第三个字段 0  :用户id

 第四个字段 0  :属组id 

 第五个子字段:root:注释信息 

 第六个字段 /root:用户的家目录,普通用户默认为/home/username

 第七个子字段:用户的默认使用的shell

所以添加的内容为:

hadoop:x:500:500:my own group:/home/hadoop:/bin/bash

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

        

 cp -r /etc/skel /home/hadoop

 chmod -R go= /home/hadoop

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

chown -R hadoop:hadoop /home/hadoop

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

方法一:cat /proc/meminfo | grep -o "^[sS].*"

方法二:cat /proc/meminfo | grep -i "^s"

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

awk -F : '{if($NF!="/sbin/nologin") print $1}' /etc/passwd

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

 awk -F : '{if($NF=="/bin/bash") print $1}' /etc/passwd

9.找出/etc/passwd文件中的一位数或两位数:

grep -o "\<[0-9]\{1,2\}\>" /etc/passwd

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

grep "^[[:space:]]\+" /boot/grub/grub.conf

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

grep "^[#][[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.sysinit

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

netstat -tan | grep "\<LISTEN\>[[:space:]]$\?"

13.添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

  grep  "^\([[:alpha:]]\+\>\).*\1$" /etc/passwd

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

(0)
zhangbaozhangbao
上一篇 2016-10-16 13:06
下一篇 2016-10-16 14:42

相关推荐

  • bash编程初体验(一)

    bash编程初体验(一) 认识bash编程 变量与赋值 算术与逻辑运算 条件测试与退出状态 认识bash编程 Bash(GNU Bourne-Again Shell)是许多Linux发行版的默认Shell,我们要认识的bash中,就是在bash的环境下的一种编程。 众所周知,程序=指令+数据,由此也决定了两种不同的编程风格,过程过与对象式; 过程式:以指令为…

    Linux干货 2016-08-15
  • 基于keepalived的VRRP协议实现DR模型下的高可用集群

    基于keepalived的VRRP协议实现DR模型下的高可用集群 环境及配置前提说明 4台虚拟服务器都为centos6.8. 主机1,ip:192.168.25.140 做后端RS1,80端口向外部提供web服务 主机2,ip:192.168.25.141 做后端RS2,80端口向外部提供web服务 ip:192.168.25.142为lo:0接口的VIP地…

    Linux干货 2016-11-07
  • UEFI与GPT(7.3课上作业)

    一、UEFI:统一可扩展固件接口 1、什么是UEFI         统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)是一种PC系统规格,用来定义操作系统与系统固件之间的软件界面,作为BIOS的替代方案。UEFI负责加电自…

    Linux干货 2016-07-12
  • 磁盘阵列(RAID)简介

    资料 RAID(Redundant Arrays of Inexpensive Disks 廉价磁盘冗余阵列)即磁盘阵列,磁盘阵列是由多个价格比较便宜的磁盘组合成的一个容量巨大的磁盘组,其原理是利用数组方式来制作磁盘组,配合数据分散排列的设计,配合数据分散排列的设计,提升数据的安全性。它把数据分别存放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能,因…

    Linux干货 2017-04-17
  • 文件系统初步了解

    Linux文件系统的基础特性: 1文件名严格区分大小写 2所有文件都们于根目录下,FHS 3路径以/做为分隔符 4每个文件的名称可使用除/以外任意字符,单个名称最长不能超出255个字 FHS:Filesystem Hierarchy Standard(文件系统目录标准)的缩写 多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目…

    Linux干货 2015-04-27
  • 第一周博客作业

    前言:这几周的课程大部分开班前就掌握了的,这次学的细一点,顺便学一下markdown写博客、排版。内容有部分是前几期学员写的,觉得写得不错,就斗胆截取了,还有部分是自己写的,也有一些是百度到的内容。 目录 一、描述计算机的组成及其功能 二、linux发行版 三、linux哲学思想 四、常用命令 五、如何获取命令的帮助信息 六、linux发行版的基础目录名称命…

    Linux干货 2017-01-09