第三周

第三周

1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
[root@node1 ~]# who -q | sed -n '1p'  
centos root fedora redhat mint
2.取出最后登录到当前系统的用户的相关信息。
[root@node1 ~]# who -a | tail -1
mint     + pts/4        2017-07-25 14:31 00:26        4136 (192.168.33.1)
3.取出当前系统上被用户当作其默认shell的最多的那个shell。
[root@node1 ~]# cut -d : -f 7 /etc/passwd | uniq -c | sed -n '6p'  
 15 /sbin/nologin
4.将/etc/passwd中的第一个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
[root@node1 ~]# sort -t : -k 3 -n /etc/passwd | tail | tr 'a-z' 'A-Z' > /tmp/maxusers.txt
[root@node1 ~]# cat /tmp/maxusers.txt
AVAHI-AUTOIPD:X:170:170:AVAHI IPV4LL STACK:/VAR/LIB/AVAHI-AUTOIPD:/SBIN/NOLOGIN
ABRT:X:173:173::/ETC/ABRT:/SBIN/NOLOGIN
POLKITD:X:997:995:USER FOR POLKITD:/:/SBIN/NOLOGIN
SYSTEMD-NETWORK:X:998:996:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN
SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN
MARIADB:X:4003:994::/HOME/MARIADB:/SBIN/NOLOGIN
CENTOS:X:4004:4004::/HOME/CENTOS:/BIN/BASH
REDHAT:X:4005:4005::/HOME/REDHAT:/BIN/BASH
FEDORA:X:4006:4006::/HOME/FEDORA:/BIN/BASH
MINT:X:4007:4007::/HOME/MINT:/BIN/BASH
5.取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
[root@magedu ~]# ifconfig | grep 'inet addr'
      inet addr:192.168.33.129  Bcast:192.168.33.255  Mask:255.255.255.0
      inet addr:127.0.0.1  Mask:255.0.0.0
[root@magedu ~]# ifconfig | grep 'inet addr' | cut -d : -f 2
192.168.33.129  Bcast
127.0.0.1  Mask
[root@magedu ~]# ifconfig | grep 'inet addr' | cut -d : -f 2 | cut -d " " -f 1
192.168.33.129
127.0.0.1
[root@magedu ~]# ifconfig | grep 'inet addr' | cut -d : -f 2 | cut -d " " -f 1 | head -1
192.168.33.129
6.列出/etc目录下所有以.conf结果的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
[root@magedu ~]# ls -R /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
[root@magedu ~]# cat /tmp/etc.conf
/ETC/ASOUND.CONF
/ETC/CAS.CONF
/ETC/DRACUT.CONF
/ETC/FPRINTD.CONF
/ETC/GAI.CONF
/ETC/GRUB.CONF
/ETC/HOST.CONF
/ETC/KDUMP.CONF
/ETC/KRB5.CONF
/ETC/LATRACE.CONF
/ETC/LD.SO.CONF
/ETC/LIBAUDIT.CONF
/ETC/LIBUSER.CONF
/ETC/LOGROTATE.CONF
/ETC/LTRACE.CONF
/ETC/MKE2FS.CONF
/ETC/NSSWITCH.CONF
/ETC/NTP.CONF
/ETC/PM-UTILS-HD-APM-RESTORE.CONF
/ETC/PRELINK.CONF
/ETC/READAHEAD.CONF
/ETC/RESOLV.CONF
/ETC/RSYSLOG.CONF
/ETC/SESTATUS.CONF
/ETC/SMARTD.CONF
/ETC/SOS.CONF
/ETC/SUDO.CONF
/ETC/SUDO-LDAP.CONF
/ETC/SYSCTL.CONF
/ETC/UPDATEDB.CONF
/ETC/WARNQUOTA.CONF
/ETC/YUM.CONF
7.显示/var目录下一级子目录或文件的总个数。
[centos@node1 ~]$ tree -L 1 /var
/var
├── adm
├── cache
├── crash
├── db
├── empty
├── games
├── gopher
├── kerberos
├── lib
├── local
├── lock -> ../run/lock
├── log
├── mail -> spool/mail
├── nis
├── opt
├── preserve
├── run -> ../run
├── spool
├── test
├── tmp
└── yp
21 directories, 0 files
8.取出/etc/group文件中的第三个字段数值最小的10个组的名字。
[centos@node1 ~]$ sort -n -t : -k 3 /etc/group | head | cut -d : -f 1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem
9.将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
[centos@node1 ~]$ cat /etc/fstab /etc/issue > /tmp/etc.test
[centos@node1 ~]$ cat /tmp/etc.test
#
# /etc/fstab
# Created by anaconda on Wed Jul 12 20:53:27 2017
#
# 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=8e134db0-5184-41db-9f3a-0da251168079 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
\S
Kernel \r on an \m
10.请总结描述用户和组管理类命令的使用方法:

用户和组管理类命令有useradd, usermod, userdel, groupadd, groupmod, groupdel。

useradd – 添加新用户或更新默认新用户信息
-D: 显示或修改创建用户的默认值, 创建用户的默认设置配置文件路径/etc/login.defs, 修改的结果保存在/etc/default/useradd文件中。 选项:选项:
-u: 指定uid。
-g: 指定gid。
-c: 用户账户的简短说明信息。
-G: 为用户指定附加组,附加组必须事先存在。
-d: 以指定的路径为用户的家目录。
-s: 为用户指定默认shell。
-r: 创建系统用户。
-M: 不创建家目录。
-f: 密码过期时间。
-D: 显示或修改创建用户的默认值, 创建用户的默认设置配置文件路径/etc/login.defs, 修改的结果保存在/etc/default/useradd文件中。

usermod – 修改用户账户-U: 解锁用户密码。 语法格式:usermod [options] LOGIN
选项:
-u: 修改用户ID号。
-g: 修改用户的基本组,组得事先存在。
-G: 修改用户所属的附加组,原来的附加组会被覆盖,和-a选项连用,追加新的附加组。
-c: 修改用户说明信息。
-d: 修改用的家目录,默认用户原家目录的文件不会被迁移至新目录。
-m: 同-d选项连用,将原来家目录迁移到新的家目录。
-s: 修改shell。
-L: 锁定用户密码。-L: 锁定用户密码。-U: 解锁用户密码。


语法格式:userdel [options] LOGIN
选项:
-r: 删除用户账户时一并删除家目录和目录/var/spool/mail下用户邮件。

groupadd – 创建新组

选项:
-g: 指定组ID号。
-r: 创建系统组。


语法格式:groupmod [options] GROUP
选项:
-g: 修改组ID号。
-n: 修改组名。

groupdel – 删除组
语法格式:groupdel [options] GROUP

完成以下练习:

a.创建组distro,其GID为2016;

[root@node1 ~]# groupadd -g 2016 distro
[root@node1 ~]# tail -1 /etc/group
distro:x:2016:

b.创建用户mandriva,其ID号为1005;基本组为distro;

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

c.创建用户mageia,其ID号为1100,家目录为/home/linux;

[root@node1 ~]# useradd -u 1100 -d /home/linux mageia
[root@node1 ~]# id mageia
uid=1100(mageia) gid=1100(mageia) groups=1100(mageia)
[root@node1 ~]# ls -ld /home/linux/
drwx------. 2 mageia mageia 59 Jul 25 17:08 /home/linux/

d.给用户mageia添加密码,密码为mageedu;

[root@node1 ~]# echo "mageedu" | passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.

e.删除mandriva,但保留其家目录;

[root@node1 ~]# userdel mandriva
[root@node1 ~]# ls -d /home/man*
/home/mandriva

f.创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

[root@node1 ~]# groupadd peguin  
[root@node1 ~]# useradd -u 2002 -g distro -G peguin slackware
[root@node1 ~]# id slackware
uid=2002(slackware) gid=2016(distro) groups=2016(distro),5004(peguin)

g.修改slackware的默认shell为/bin/tcsh;

[root@node1 ~]# usermod -s /bin/tcsh slackware
[root@node1 ~]# tail -1 /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/tcsh

h.为用户slackware新增附加组admins;

[root@node1 ~]# groupadd admins
[root@node1 ~]# usermod -a -G admins slackware
[root@node1 ~]# id slackware
uid=2002(slackware) gid=2016(distro) groups=2016(distro),5004(peguin),5005(admins)

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

(0)
上一篇 2017-07-25 16:36
下一篇 2017-07-26 10:44

相关推荐

  • 简述linux文件系统的层次结构

       尽管LINUX有诸多的发行版,但是所有的版本都遵从同样的文件目录层次结构,即FHS(Filesystem Hierarchy Standard)。有了这个统一的标准,我们在使用不同版本的LINUX时就不会由于版本的不同而找不到相关系统文件的位置,了解FHS有助于我们更好的掌握LINUX的基础构架和文件系统管理。   &nb…

    Linux干货 2015-12-19
  • find 详解

    find 命令基本用法:         find pathname [opotions] [-print | -exec | -ok …] 1、find 基本参数:         pa…

    Linux干货 2016-12-26
  • 磁盘管理

    上图sda disk information中对 255 heads,63 sectors/track,1958 cylinders的解析: sda磁盘总共有1958个cylinder(柱面),每个cylinder(柱面)有63个sectors(扇区),每个sectors(扇区)有255个heads(磁头) 那么这块sda的总的磁头数量为:255*63*19…

    2017-08-20
  • linux基础学习之AWK

    内容: 1、awk输出(print、printf) 2、awk变量(内建变量和定义变量) 3、awk数组 4、awk重定向输出 5、awk操作符 6、awk常见模式类型 7、awk控制及循环语句 8、awk内置函数 awk:(其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母)…

    Linux干货 2016-09-22
  • shell与kernel的理解

    Shell 的英文释义是外壳,与kernel 内核名词遥相呼应,一外一内,一壳一核。内核就像瑞士银行的金库,存放着客户的黄金等众多的(硬件)资产,闲杂人等(包括客户)当然是严格禁止入内的,而作为客户要存取金库中的资产则需要通过专门的特定管理人员代为操作完成,并把存取(操作)的结果呈现给客户。在Linux操作系统中,shell的职能就类似于金库的操作人员,客户…

    Linux干货 2016-02-14
  • N22-妙手-第七周博客作业第四题:RAID各级别的特性

    什么是RAID RAID的全称是Redundant Array of Independent Disks – 独立磁盘冗余阵列。基本思想是将多个相对便宜的硬盘组合成为一个硬盘阵列,使其在性能上达到或超过一块价格昂贵、容量巨大的硬盘。RAID通常被用在服务器上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统会把其当做一块硬盘。RAID分为不同的等…

    Linux干货 2016-09-27

评论列表(1条)

  • 马哥教育
    马哥教育 2017-08-04 16:06

    这次作业考查了一些基础实用的命令,完成的非常好,再接再励。