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

相关推荐

  • grep

    1. 文本处理工具的使用:   cat 连接文件并打印到标准输出设备,但是文件较大时,翻屏太快,与more或者less连用 命令反着输入(tac)将会反向输出文本文件 用法: cat 选项 参数   选项: -A 显示不可打印字符 -b 对行进行编号,空白行不编号 -s 压缩空白行 -n 对行进行编号,包括空白航  参数: &n…

    Linux干货 2016-08-08
  • select和case用法

    一、作业 1、斐波那契数列又称黄金分割数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2) 写一个函数,求n阶斐波那契数列 2、汉诺塔(又称河内塔)问…

    Linux干货 2016-08-21
  • 马哥教育网络班19期第十二周课程练习

    1、请描述一次完整的http请求处理过程; 一次完整的http请求处理过程如下: (1) 建立或处理连接:接收客户端的请求,建立连接,或是拒绝其请求 (2) 接收请求: 接收来自于网络的请求报文中对某资源的一次请求的过程时,web服务器也分几种模型对并发请求进行响应:             &nb…

    Linux干货 2016-08-11
  • Linux 第二天: (07月22日) Linux入门

    Linux 第二天: (07月22日) Linux入门       root管理员帐户,超级用户,除非必要,不要用root登录 /dev/console 物理终端/dev/tty 虚拟终端, CentOS 6默认6个虚拟终端/dev/pts 模拟终端tty 查看当前终端设备     GUI 图形用户界面 GN…

    Linux干货 2016-08-08
  • SELinux介绍

    SELinux介绍 SELinux: Secure Enhanced Linux, 是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的 Linux的一个强制访问控制的安全模块。 2000年以GNU GPL发布, Linux内核2.6版本后集成在内核中D…

    Linux干货 2016-10-08
  • 系统启动和内核管理

    Linux组成 Linux:kernel+rootfs kernel:进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs:程序和glibc 库:函数集合,function,调用接口(头文件负责描述) 过程调用:procedure,无返回值; 函数调用:function;有返回值,可以赋值于变量中; 程序:二进制执行文件 包括根目录以及包…

    Linux干货 2017-05-14