第三周作业

作业

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)
nininini
上一篇 2018-04-05
下一篇 2018-04-05

相关推荐

  • Linux获取命令帮助信息

    获取命令的使用帮助      一. 内部命令:help COMMAND      二.外部命令:     1.命令自带简要格式的使用帮助        # COMMAND –help     2.使用手册:manual    位置:/user/share/man        1.语法:# man [option] COMMAND        …

    Linux笔记 2018-05-12
  • 文件系统挂载

    一、mount、umount、mount -o remount、findmnt、lsof、fuser
    二、挂载设置ACL权限、模拟U盘功能、losetup
    三、UUID故障处理、分区迁移与恢复、永久挂载光盘分区、挂载USB、永久挂载文件夹
    四、SWAP、挂载光盘、制作ISO镜像、制作Centos6Everthing
    五、df、du、dd备份/恢复/修复硬盘

    2018-05-26
  • 运维自动化之ansible

    ansible的基本架构 ​ host inventory主机清单 ​ playbook相当于脚本, ​ modules模块 ansible工作原理 ​ 通过执行命令,或ansible playbook,cmdb ansible配置文件 ​ /etc/ansible/ansible.cfg主配置文件,配置ansible工作特性 ​ /etc/ansible/…

    Linux笔记 2018-06-03
  • shell脚本进阶

    一、for循环 for 变量名 in 列表;do 循环体 done   列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq [start [step]] end) (3) 返回列表的命令 $(COMMAND) (4) 使用glob,如:*.sh (5) 变量引用; $@, $* &nbsp…

    Linux笔记 2018-05-14