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.www58058.com/48453

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

相關推薦

  • Linux 的shell腳本編程

    shell腳本編程 程序:指令+數據 程序編輯風格:             過程式:以指令為中心,數據服務于指令             對象式:以數據為中心,指令服務于數據 shell程序:提供了編程能力,解釋執行 計算機:運行二進制指…

    Linux干貨 2016-08-15
  • 關于RHEL6中ulimit的nproc限制

    ulimit 用于限制 shell 啟動進程所占用的資源,支持以下各種類型的限制:所創建的內核文件的大小、進程數據塊的大小、Shell 進程創建文件的大小、內存鎖住的大小、常駐內存集的大小、打開文件描述符的數量、分配堆棧的最大大小、CPU 時間、單個用戶的最大線程數、Shell 進程所能使用的最大虛…

    Linux干貨 2016-10-19
  • Week2–Linux基礎三

    一. Linux上的文件管理類命令都有哪些,其常用的使用方法和例子是啥呢? 文件管理類命令大概就是這些: ls, cd, pwd, mkdir, rmdir, cp, rm, mv, touch, cat, more, less, head, tail, file, grep. 目錄或文件操作類: 1. ls: (查看文件名命令) -a :全部的文件,連同隱…

    Linux干貨 2016-12-12
  • 分區塊基本知識點及側重點 — 上

        我們需要熟練了解磁盤分區原理。元數據及塊設備對應inode是最重要也是最基本的原理。后面分區很多地方都和inode有關系。    一個磁盤片有63扇區,1024存儲位,256個磁頭,每個扇區只有前512字節是有效存儲單元。所以后面磁盤清零都是跟512這個數字有關。    數據分數據區和元數據…

    Linux干貨 2016-08-24
  • 開機啟動流程

    Centos的開機啟動流程 具體步驟解釋:  第一步:加電自檢:POST         加電自檢是檢測硬件設備是否正常運行,以及一些外圍設備的輸入輸出是否存在。 自檢功能的實現是依靠BIOS軟件程序實現的 BIOS即基本輸入輸出系統,它是裝載在一個硬件芯片COMS上的,加電過程…

    Linux干貨 2016-09-13
  • 讓運維工程師不再藍瘦、香菇

    最近廣西一小哥失戀后錄的視頻風靡互聯網,也讓“藍瘦、香菇”這兩個詞火了一把。雖然原故事男主角是因為失戀才藍瘦、香菇,但想想作為運維“狗”的我們也時常因強大的工作壓力而藍瘦,常常在晚上睡得香呼呼的時候因為要處理故障從溫暖的被窩爬起來,看著鋁朋友鄙視的眼神,真的好香菇……本來作為技術大牛的我們,工作應該是很酷的事情,享受的應該是小白美鋁們崇拜的眼神,可現在卻那么…

    系統運維 2017-01-09

評論列表(1條)

  • luoweiro
    luoweiro 2016-10-10 22:23

    作業通過腳本方式實現,一方面練習了基礎命令,另一方面也提高了腳本能力,非常贊

欧美性久久久久