Linux文件系统管理

马哥教育网络班23期+第3周课程练习

Linux文件系统管理

由于第三周所学的只是比较零碎,知识量比较大,这篇博客主要讲述的是一些习题,包括怎样完成的练习的思路和截图等等。首先我们看第一个题目

1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。

    [root@localhost]/media/Packages# who | cut -d' ' -f1 | uniq

2、取出最后登录到当前系统的用户的相关信息

[root@localhost]/media/Packages# w | tail -1 | cut -d' ' -f1 | id

3、取出当前系统上被用户当作其默认shell的最多的那个shell

第一步:

[root@localhost ~]# cat /etc/passwd | cut -d: -f7 | sort | uniq
/bin/bash
/bin/sync
/bin/tsch
/sbin/halt
/sbin/nologin
/sbin/shutdown

第二步: 对当前找到的这些shell 在/etc/passwd 的文件下作查找,查一下哪个shell 的数量最多,分别使用 cat /etc/passwd | grep -E | wc -l 命令 查看一下分别有多少 最后找到最多的打印出来即可

或者是写一个简单的循环脚本,也可以解决,请看下图:

blob.png

4、将/etc/passwd 中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt 文件中

blob.png

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分

[root@localhost test]# ifconfig | grep "inet" | head -1 | grep -o -E "(([[:digit:]]+\.){3}([[:digit:]]+))" | head -1
192.168.0.12
[root@localhost test]#

6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中

[root@localhost test]# find /etc/ -name "*.conf" | tr 'a-z' 'A-Z' >> /tmp/etc.conf
[root@localhost test]# cat !$
cat /tmp/etc.conf
/ETC/RESOLV.CONF
/ETC/PKI/CA-TRUST/CA-LEGACY.CONF
/ETC/YUM/PLUGINCONF.D/FASTESTMIRROR.CONF
/ETC/YUM/PLUGINCONF.D/LANGPACKS.CONF
/ETC/YUM/PROTECTED.D/SYSTEMD.CONF
/ETC/YUM/VERSION-GROUPS.CONF
/ETC/YUM/YUM-CRON-HOURLY.CONF
/ETC/YUM/YUM-CRON.CONF
/ETC/LVM/LVM.CONF
/ETC/LVM/LVMLOCAL.CONF
/ETC/DRACUT.CONF
/ETC/DEPMOD.D/DIST.CONF
/ETC/LIBUSER.CONF
/ETC/AUDIT/AUDITD.CONF
/ETC/SESTATUS.CONF
/ETC/RDMA/MLX4.CONF

7、显示/var目录下一级子目录或文件的总个数

[root@localhost test]# ls /var/ 
adm  cache  crash  db  empty  games  gopher  kerberos  lib  local  lock  log  mail  nis  opt  preserve  run  spool  tmp  yp
[root@localhost test]# ls /var/ | wc -l
20

8、取出/etc/group 文件中第三个字段数值最小的10个组的名字

[root@localhost test]# cat /etc/group | sort -t: -k3 -n | head -10 | cut -d: -f1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem

9、将/etc/fstab 和/etc/issue 文件的内容合并为同一个内容后保存至/tmp/etc.test文件中

[root@localhost ~]# cat /etc/fstab /etc/issue >> /tmp/etc.test
[root@localhost ~]# cat !$
cat /tmp/etc.test
# /etc/fstab
# Created by anaconda on Tue Aug 23 16:38:07 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=79e2f3d9-4bd1-4b1c-beda-dcac56065789 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdc1 /mydata ext4 defaults 0 0  
\S
Kernel \r on an \m

10、请总结描述用户和组管理类命令的使用方法并完成以下练习

用户和组的管理类命令2类,首先是用户的管理类命令无非就是增删改查 
(1)useradd 命令 
(2)userdel 命令 
(3)usermod 命令 
(4)id 命令 
(5)finger 命令 
第二 是组管理类命令 
(1)groupadd 命令 
(2)groupdel 命令 
(3)groupmod命令

练习:

(1)创建组distro 其GID 为2016

[root@localhost ~]# groupadd -g 2016 distro
[root@localhost ~]# cat /etc/group | grep -E "distro"
distro:x:2016:
[root@localhost ~]#

(2)创建用户mandriva 其ID 号为1005 基本组为distro

[root@localhost ~]# useradd -u 1005 -g distro mandriva
[root@localhost ~]# id mandriva
uid=1005(mandriva) gid=2016(distro) 组=2016(distro)

(3)创建用户mageia 其ID 号为1100 家目录为/home/linux

[root@localhost ~]# useradd -u 1100 -d /home/linux -m mageia
[root@localhost ~]# id mageia
uid=1100(mageia) gid=1100(mageia) 组=1100(mageia)
[root@localhost ~]# cat /etc/passwd | grep -E "mageia"
mageia:x:1100:1100::/home/linux:/bin/bash

(4)给用户mageia 添加密码 密码为mageedu

[root@localhost ~]# passwd mageia
更改用户 mageia 的密码 。
新的 密码:
无效的密码: 它基于字典单词
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

(5)删除mandriva 但保留其家目录

[root@localhost ~]# id mandriva
uid=1005(mandriva) gid=2016(distro) 组=2016(distro)
[root@localhost ~]# cat /etc/passwd | grep -E "^mandriva"
mandriva:x:1005:2016::/home/mandriva:/bin/bash
[root@localhost ~]# userdel mandriva
[root@localhost ~]# id mandriva
id: mandriva:无此用户
[root@localhost ~]# ls /home/mandriva/
[root@localhost ~]# ls /home/mandriva/ -l
总用量 0

(6)创建用户slackware 其ID 号为2002 基本组为distro 附加组为 penguin

[root@localhost ~]# useradd -u 2002 -g distro -G penguin slackware
[root@localhost ~]# id slackware
uid=2002(slackware) gid=2016(distro) 组=2016(distro),2017(penguin)
[root@localhost ~]#

(7)修改slackware 的默认shell为/bin/tcsh

[root@localhost /tmp]# usermod -s /bin/tcsh slackware
[root@localhost /tmp]# cat /etc/passwd | grep -E "slackware"
slackware:x:2002:2016::/home/slackware:/bin/tcsh

(8)为用户slackaware 新增附加组admins

[root@localhost /tmp]# usermod -G admins -a slackware
[root@localhost /tmp]# id slackware
uid=2002(slackware) gid=2016(distro) 组=2016(distro),2017(penguin),2018(admins)

(9)为slackware 添加密码,要求密码最短期限为3天,最长为180天,警告为3天

[root@localhost /tmp]# passwd -n 3 -x 180 -w 3 slackware
调整用户密码老化数据slackware。
passwd: 操作成功
[root@localhost /tmp]# echo slackware | passwd --stdin slackware
更改用户 slackware 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost /tmp]# cat /etc/shadow
slackware:$6$0iCwLkzs$FR.Sm5ju9ZecWLT1lvqVn3MgYJyxG2wYjmfPMKWfHVp6LmUoTTfis58UKXQoh3oPLGGs8.ALap1wy5EtYx7as1:17063:3:180:3:::

(10)添加用户openstack 其ID 号为3003 基本组为clouds 附加组为penguin 和 nova

[root@localhost /tmp]# useradd -u 3003 -g clouds -G penguin,nova  openstack
[root@localhost /tmp]# id openstack
uid=3003(openstack) gid=2020(clouds) 组=2020(clouds),2017(penguin),2019(nova)

(11)添加用户mysql 要求其shell 为/sbin/nologin

[root@localhost /tmp]# useradd -s /sbin/nologin mysql
[root@localhost /tmp]# id mysql
uid=3004(mysql) gid=3004(mysql) 组=3004(mysql)
[root@localhost /tmp]# cat /etc/passwd | grep -E "mysql"
mysql:x:3004:3004::/home/mysql:/sbin/nologin

(12)使用echo 命令 非交互式为openstack 添加密码

[root@localhost /tmp]# echo "openstack" | passwd --stdin openstack
更改用户 openstack 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

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

(0)
luobo3692003luobo3692003
上一篇 2016-09-22
下一篇 2016-09-23

相关推荐

  • HA高可用集群学习笔记

    前言   什么是HA?HA做什么用的?   HA(High Available)是高可用集群,是保证业务不中断性的有效解决方案;通常HA集群部署在多个节点,正在提供服务的节点成为活动节点,没有提供服务的是非活动节点;当活动节点发生故障,非活动节点会转为活动节点,向外提供服务,以保证业务的连续性;这就是HA。 一、HA(High Avail…

    Linux干货 2015-06-30
  • 05linux用户和组的权限总结

    1、文件的权限分类 文件的权限对象分三类:属主(u)、属组(g)、其他(o),每个对象都有rwx,读写执行三类权限。 对于文件 r:可查看文件内容 w:可修改其类容 x:可把此文件提请内核启动为一个进程 对于目录 r:可使用ls查看此目录中文件列表 w:可在此目录中创建和删除文件 x:可使用ls查看目录中文件列表,可以cd进入此目录 X:只给目录x权限,不给…

    Linux干货 2016-11-27
  • Linux磁盘和文件系统管理

      Linux磁盘和文件系统管理.pdf Part.I 磁盘管理 1.cfdisk   #图形化的很简单. 不知道你们用什么 反正我喜欢这个 ^_^ cfdisk – display or manipulate disk partition table 必要参数的具体说明如下: -a用箭头表示选取,而不是以反白表示 …

    Linux干货 2016-04-05
  • 批量创建用户(8月1日作业)

    1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution" 2、创建下面的用户、组和组成员关系 名字为admins的组;  用户natasha,使用admins作为附属组;  用户harry,也使用admins作为附属组 &nbs…

    Linux干货 2016-08-04
  • 一位老it工程师的忠告,新手进来学习,老手进来体会,收获很大。

    诸位,咱当电子工程师也是十余年了,不算有出息,环顾四面,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强! [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐…

    Linux干货 2015-02-26
  • N26-博客作业-week14

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 配置系统INPUT和OUTPUT默认策略为DROP# iptables -P INPUT DROP# iptables -P OUTPU…

    Linux干货 2017-06-22

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-10 22:23

    作业通过脚本方式实现,一方面练习了基础命令,另一方面也提高了脚本能力,非常赞