第四周作业2

#### 1、 复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
首先,利用cp命令将/etc/skel目录复制为/home/tuser1:
“`
[root@localhost ~]# cp -r /etc/skel /home/tuser1
“`
随后通过chmod命令对/home/tuser1的权限进行调整:
“`
[root@localhost ~]# chmod go-rwx /home/tuser1/
[root@localhost ~]# ll /home/ | grep tuser1
drwx——.  3 root     root       74 2月  25 17:16 tuser1
“`
####2、编辑/etc/group文件,添加组hadoop。
使用vim编辑/etc/group文件,并在最后一行添加相关的组信息,最后再使用groupadd测试hadoop是否已经添加成功:
“`
[root@localhost ~]# vim /etc/group
….
nologin:x:1104:
hadoop:x:1200:
:wq
[root@localhost ~]# groupadd hadoop
groupadd:“hadoop”组已存在
“`
####3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
使用vim编辑/etc/passwd/,并在最后一行添加相应的用户信息:
“`
[root@localhost ~]# vim /etc/passwd
hadoop:x:1200:1200::/home/hadoop:/bin/bash
:wq
[root@localhost ~]# id hadoop
uid=1200(hadoop) gid=1200(hadoop) 组=1200(hadoop)
“`
####4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
依旧使用cp命令完成复制操作:
“`
[root@localhost ~]# cp -r /etc/skel/ /home/hadoop
[root@localhost ~]# ll /home/ | grep hadoop
drwxr-xr-x.  3 root     root       74 2月  25 22:46 hadoop
“`
使用chmod命令修改/home/hadoop目录的权限:
“`
[root@localhost ~]# chmod go-rwx /home/hadoop
[root@localhost ~]# ll -d /home/hadoop
drwx——. 3 root root 74 2月  25 22:46 /home/hadoop
“`
####5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
使用chown命令递归修改/home/hadoop目录的属主和属组:
“`
[root@localhost ~]# chown -R hadoop:hadoop /home/hadoop
[root@localhost ~]# ll -a /home/hadoop
总用量 16
drwx——.  3 hadoop hadoop   87 2月  25 23:03 .
drwxr-xr-x. 10 root   root   4096 2月  25 22:46 ..
-rw-r–r–.  1 hadoop hadoop   18 2月  25 22:46 .bash_logout
-rw-r–r–.  1 hadoop hadoop  193 2月  25 22:46 .bash_profile
-rw-r–r–.  1 hadoop hadoop  231 2月  25 22:46 .bashrc
-rw-r–r–.  1 hadoop hadoop    0 2月  25 23:03 hadoop
drwxr-xr-x.  4 hadoop hadoop   37 2月  25 22:46 .mozilla
“`
####6、显示/proc/meminfo文件中以大写或小写S开头的行。(多种方式)
第一种方式:
“`
[root@localhost ~]# cat /proc/meminfo | grep -o “^[S|s].*$”
SwapCached:            0 kB
SwapTotal:       3145720 kB
SwapFree:        3145720 kB
Shmem:             10060 kB
Slab:             115384 kB
SReclaimable:      57680 kB
SUnreclaim:        57704 kB
“`
第二种方式:
“`
[root@localhost ~]# grep -i “^s” /proc/meminfo
SwapCached:            0 kB
SwapTotal:       3145720 kB
SwapFree:        3145720 kB
Shmem:             10060 kB
Slab:             115376 kB
SReclaimable:      57680 kB
SUnreclaim:        57696 kB
“`
第三种方式:
“`
[root@localhost ~]# grep “^[sS]” /proc/meminfo
SwapCached:            0 kB
SwapTotal:       3145720 kB
SwapFree:        3145720 kB
Shmem:             10060 kB
Slab:             115376 kB
SReclaimable:      57680 kB
SUnreclaim:        57696 kB
“`
####7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
使用grep命令并利用锚定行尾的特性和-v选项找出对应的行,最后用cut命令切割分段:
“`
[root@localhost ~]# grep -v “/sbin/nologin$” /etc/passwd | cut -d’:’ -f1
root
sync
shutdown
halt
charlie
gentoo
fedora
charlie3
bash
testbash
basher
hadoop
“`
####8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
“`
[root@localhost ~]# grep “/bin/bash$” /etc/passwd | cut -d’:’ -f1
root
charlie
gentoo
fedora
charlie3
bash
testbash
basher
hadoop
“`
####9、找出/etc/passwd文件中的一位数或两位数;
“`
[root@localhost ~]# grep -o “\<[[:digit:]]\{1,2\}\>” /etc/passwd | uniq
0
1
2
3
4
….
42
29
70
72
“`
####10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
“`
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=”${ch
“`
####11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
“`
[root@localhost ~]# grep “^#[[:space:]]\+[^[:space:]]\+” /etc/rc.d/init.d/functions
# -*-Shell-script-*-
# functions This file contains functions to be used by most or all
# shell scripts in the /etc/init.d directory.
# Make sure umask is sane
# Set up a default search path.
# Get a sane screen width
# Read in our configuration
# Check if any of $pid (could be plural) are running
# __proc_pids {program} [pidfile]
“`
####12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
“`
[root@localhost ~]# netstat -tan | grep “LISTEN[[:space:]]*$”
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN
tcp6       0      0 :::139                  :::*                    LISTEN
tcp6       0      0 :::21                   :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:631                 :::*                    LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN
tcp6       0      0 :::445                  :::*                    LISTEN
“`
####13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;
首先使用useradd命令添加相应的用户:
“`
[root@localhost ~]# useradd bash
[root@localhost ~]# useradd testbash
[root@localhost ~]# useradd basher
[root@localhost ~]# useradd -s /sbin/nologin nologin
“`
然后通过命令找出/etc/passwd中用户名与默认shell名称相同的用户信息:
“`
[root@localhost ~]# grep “^\([[:alpha:]]\+\):.*\1$” /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:2003:2003::/home/bash:/bin/bash
nologin:x:2006:2006::/home/nologin:/sbin/nologin
“`

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92857

(0)
酒粒酒粒
上一篇 2018-03-24 17:54
下一篇 2018-03-24 20:56

相关推荐

  • corosync+pacemaker+pcs 使用ansible配置高可用LAMP构架

    前言: 这篇博客的实验主要是配置两个节点基于corosync + pacemaker的高考用lamp, 是我搞得最痛苦的一次,并且结果还不稳定。主要问题是corosync 1.x + pacemaker 时,如果把pacemaker当成插件使用,尝试很多次都不成功,后来把pacemaker当成半独立的服务进行配置。 但是如此一来crm就没办法进行资源配置,只…

    Linux干货 2016-01-27
  • linux学习心得

    Linux学习心得 之前没怎么了解过linux运维,机缘巧合来到了这里,刚刚开始一脸蒙圈,或者说现在仍然是,不过最大的收获是我在这里真正认真学习了,有了一个端正的态度,一切都是好的开始。 这一周,我学习了linux的发展史,如何安装系统,一些简单的命令等。。。。下面我一一介绍一下,初学者,可能简单粗暴,多多指教! 系统安装: 1:首先用光盘进行linuxIS…

    2017-07-16
  • rsync+inotify实现数据同步——单向传输

    实验环境:<从A主机推送数据到B主机[B主机可以有多个]> A主机:10.1.43.102 B主机:10.1.43.103 配置流程: —rsyncserver—- <B主机上配置> 1.vim /etc/rsyncd.conf(用户,目录,模块,虚拟用户及密码文件) vim /etc/rsyncd.…

    Linux干货 2016-10-27
  • echo显示闪烁,screen用法及显示时间的前后

    我们这门今天学习的一些主要内容 标准的命令的格式 命令(COMMAND)  [选项(OPTIONS)….[参数(ARGUMENTS…)] 选项:启用或者关闭命令的某个或某些功能 参数:命令作用的对象,比如文件名,用户名等 首先我们来统计一下学习到的linux的一些基础的命令 who  查询当前用户 hostname 显…

    Linux干货 2016-08-04
  • Linux磁盘和文件系统基础

    概述     Linux系统上,磁盘要正常的进行数据的存储,需要先进行分区,再进行格式化生成文件系统,最后挂载到某个目录下,才能进行正常的数据存取,本篇就介绍一下磁盘从分区到正常使用的几个步骤,具体分为以下几个部分:     1、磁盘的基础概念   &nbsp…

    Linux干货 2016-08-29
  • shell脚本编程初步–吐血整理

    shell脚本编程 编程基础 程序: 程序的构成:指令 + 数据 程序的编程风格:     过程式:以指令为中心,数据服务于指令     对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 shell,perl,python语言均为高级编程语言 编程的逻辑处理方式: &n…

    Linux干货 2016-08-18