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

相关推荐

  • 权限管理

    权限 权限就是用户或者组对文件或者目录所拥有的能力,所能执行的操作。 权限的分配: 通过ls -l file这个命令可以查看文件或者目录的详细信息:     [root@localhost home]# ls -l /root/   &nb…

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

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

    Linux干货 2016-08-24
  • Linux 磁盘、文件系统管理

    Linux 磁盘、文件系统管理                                               &nb…

    Linux干货 2016-09-01
  • Linux的用户,组及文件权限管理

    Linux用户与组的创建,删除,属性修改,文件权限管理

    Linux干货 2018-02-24
  • bash特性、bash编程

    bash基础特性: 命令行展开:~,{} 命令别名:alias,unalias 命令历史:history 命令和路径补全:$PATH glob通配符:*,?,[],[^], 快捷键:Ctrl+{a,e,l,c,u,k} 命令hash:   bash通配符及特殊符号: 通配符: ?:任意一个字符; *:匹配任意个任意字符; []:匹配括号内的任意一个…

    Linux干货 2018-03-21
  • 将两个局域网用openvpn连接起来

    考虑到我们做集群的时候需要用到可能有20台机器,可能我的要求跟别人的不一样的,我需要做20台左右的集群,不仅仅是会,而且需要非常熟练的搭建,最后通过脚步一键自动化部署安装。 目前我有两台电脑,一台可以运行7台,另一台可以运行12台左右,刚好可以满足的我的要求,但是我两台电脑都是设置的nat模式的网络,为什么我非要配置nat模式呢,根据集群架构思想,为了保证架…

    Linux干货 2017-05-01