第三周作业

作业

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

 [root@localhost ~]# who |cut -d" " -f1|sort -u
 root

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

 [gentoo@localhost ~]$ who |tail -1
 root     pts/2        2018-04-04 14:35 (noxx-pc.lan)

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

 [root@localhost ~]# cat /etc/passwd | cut -d":" -f7 | uniq -c |sort -n |tail -1
 11 /sbin/nologin

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

  [root@localhost ~]# sort -t : -k 3 -n  /etc/passwd |tail -10 |tr "a-z" "A-Z" > /tmp/maxusers.txt
  [root@localhost ~]# cat /tmp/maxusers.txt
  MARIADB:X:998:997::/HOME/MARIADB:/SBIN/NOLOGIN
  POLKITD:X:999:998:USER FOR POLKITD:/:/SBIN/NOLOGIN
  SLACKWARE:X:1001:1001::/HOME/SLACKWARE:/BIN/TCSH
  FRDORA:X:4002:4002:FEDORA CORE:/HOME/FRDORA:/BIN/SH
  GENTOO:X:4003:5000::/USERS/GENTOO:/BIN/BASH
  FEDORA:X:4004:4004::/USERS/FEDORA:/BIN/BASH
  IEE:X:4005:4005::/HOME/IEE:/BIN/BASH
  EEE:X:4006:4006::/HOME/EEE:/BIN/BASH
  IIE:X:4007:4007::/HOME/IIE:/BIN/BASH
  HADOOP:X:4008:4008::/HOME/HADOOP:/BIN/BASH

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

  [root@localhost ~]# ifconfig eno16777736 | grep "\<inet\>" |cut -d " " -f10
  192.168.9.152

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

  [root@localhost ~]# ls /etc/*.conf |tr "a-z" "A-Z" > /tmp/etc.conf
  [root@localhost ~]# cat /tmp/etc.conf
  /ETC/ASOUND.CONF
  /ETC/DNSMASQ.CONF
  /ETC/DRACUT.CONF
  /ETC/E2FSCK.CONF
  /ETC/HOST.CONF
  /ETC/KDUMP.CONF
  /ETC/KRB5.CONF
  /ETC/LD.SO.CONF
  /ETC/LIBAUDIT.CONF
  /ETC/LIBUSER.CONF
  /ETC/LOCALE.CONF
  /ETC/LOGROTATE.CONF
  /ETC/MAN_DB.CONF
  /ETC/MKE2FS.CONF
  /ETC/NSSWITCH.CONF
  /ETC/RESOLV.CONF
  /ETC/RSYSLOG.CONF
  /ETC/SESTATUS.CONF
  /ETC/SUDO.CONF
  /ETC/SUDO-LDAP.CONF
  /ETC/SYSCTL.CONF
  /ETC/TCSD.CONF
  /ETC/VCONSOLE.CONF
  /ETC/YUM.CONF

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

   [root@localhost ~]# ls -a /var/  |wc -l
   25

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

   [root@localhost ~]# sort -t : -k 3  -n /etc/group |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 /tmp/etc.test

  #
  # /etc/fstab
  # Created by anaconda on Thu Mar 15 17:27:10 2018
  #
  # 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
  #
  UUID=eb80bf14-5716-4e08-a581-273374986ae5 /                       xfs     defaults        0 0
  UUID=29eda4e7-0b4a-4fc1-a4d0-504e40c73817 /boot                   xfs     defaults        0 0
  UUID=1af2b421-8858-4975-8134-314e7281b937 /home                   xfs     defaults        0 0
  UUID=0d939bb2-1a74-4662-910a-4599cc6c0ded swap                    swap    defaults        0 0
  \S
  Kernel \r on an \m

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

用户与组管理类命令

  • groupadd:添加组

-g: 指定GID;默认是上一个组加1;

-r: 创建系统组;

  • groupmod:修改组属性

groupmod [选项] GROUP

  • groupdel:删除组
  • useradd;- 创建一个新用户或更新默认新用户信息
          -u, --uid UID :
          -g, --gid GROUP:指定基本组ID,此组应该事先存在
          -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号隔开
          -c, --comment COMMENT:指明注释信息
          -d, --home HOME_DIR: 以指定的路径为用户的家目录,通过复制/etc/skel此目录并重命名实现,如果指定的家目录事先存在,则不会为用户创建家目录文件
          -s, --shell SHELL: 用户的登录 shell 名,存在的shell保存在/etc/shells
    
          useradd -D :显示创建用户的默认配置
    
  • usermod:修改用户属性
  • -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组,原来的附加组会被覆盖
    -a, --append 与-G一同使用,用于为用户追加新的附加组;
    -d, --home HOME_DIR:修改用户的家目录,原有文件不会转移到新位置
    -m, --move-home : 只能与-d一同使用,用于将原来的家目录移动为新的家目录
    -L, --lock : 锁定用户密码
    -U, --unlock : 解锁用户的密码
    
  • userdel:删除用户

    -r: 删除用户时一并删除用户家目录

  • passwd:update user’s authentication tokens
     (1) passwd :修改用户自己的密码(2)passwd USERNAME: 修改指定用户的密码,仅root有此权限    -l, -u :锁定和解锁用户    -d : 清除用户密码串        -e DATE: 过期期限,日期        -i DAYS: 非活动期限    --stdin :          echo "PASSWORD" | passwd --stdin USERNAME
  • gpasswd:
     组密码文件:/etc/gshadow gpasswd [选项] group     -a USERNAME: 向组中添加用户     -d USERNAME: 从组中移除用户
  • id: 显示用户的真实和有效ID
    -u : 仅显示有效的UID-g : 仅显示用户的基本组ID-G : 仅显示用户所属的所有组的ID-n : 显示名称而非ID
  • su 命令:
    登录式切换:会通过读取目标用户的配置文件来重新初始化   su - USERNAME   su -l USERNAME非登录式切换:   su USERNAME

(1)创建组distro,其GID为2016

   [root@localhost ~]# groupadd -g 2016 distro

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

   root@localhost ~]# useradd -u 1005 -g distro mandriva

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

   [root@localhost ~]# useradd -u 1100 -d /home/linux mageia

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

   [root@localhost ~]# echo "mageedu" |passwd --stdin mageia

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

   [root@localhost ~]# userdel mandriva

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

   [root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware

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

   [root@localhost ~]# usermod -s /bin/tcsh slackware

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

 [root@localhost ~]# groupadd admins   ##新建组 [root@localhost ~]# usermod -a -G admins slackware 

 

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

(0)
上一篇 2018-04-05 11:42
下一篇 2018-04-05 14:41

相关推荐

  • shell进阶函数及数组

    ①函数
    ②数组
    ③字符串切片
    ④变量高级进阶
    ⑤expect工具

    Linux笔记 2018-05-12
  • 09葵花宝典Openssl和DNS

    openssl cd bind named

    Linux笔记 2018-05-16
  • Linux集群类型、系统扩展方式及lvs调度方法

    linux集群相关知识总结: linux集群种类:(1)负载均衡集群LB(2)高可用集群HA(3)高性能集群HP 分布式系统:分布式存储和分布式计算 系统扩展方式:向上扩展和向外扩展 LB cluster高可用实现方式: (1).硬件:F5 BIG ,IP Citrix Netscaler A10 (2)软件:lvs:Linux Virtual Server…

    Linux笔记 2018-06-24
  • linux网络相关

    网络配置 重启失效 ifconfig 网络地址显示,地址配置 ifconfig 接口 IP/netmask [up|down] [-|+]promisc up 打开 down 关闭 -promisc关闭混杂模式 +promisc打开混杂模式,混杂模式用来监听网络数据 ifconfig eth0:1 ip/netmask route 路由管理命令 查看路由 -…

    Linux笔记 2018-05-06
  • 计算机构成简介与Linux基础知识

    Linux基础知识

    2018-03-27
  • 正则表达式

    正则表达式REGEXP 有一类特殊符号表是控制伙同裴的功能程序支持:grep,seb,。。。基本正则表达式:BRE扩展正则表达式;ere采用不同算法经检查处理正则表达式的软件模块PCRE元字符:字符匹配,匹配次数,位置锚定,分组 man7详细文档 字符匹配.表示任意的单一字符 放在[]里表示.本身不需要转义\.转义(回归字符本身的含义)表示.本身[]表示字符…

    Linux笔记 2018-04-08