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

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

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

# who | cut -d' ' -f1 | sort -u

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

# id $(who | tail -1 | cut -d' ' -f1)

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

# cut -d: -f7 /etc/passwd | sort | uniq -c | sort -n | tail -1 | cut -d' ' -f7

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

# sort -t: -k3 -n /etc/passwd | tail -10 | tr ‘a-z’ ’A-Z‘ > /tmp/maxusers.txt

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

# ifconfig | head -2 | tail -1 | cut -d: -f2 | tr -d "Bcast"

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

# ls /etc/*.conf | egrep -o "[^/]+/?$" | tr ’a-z‘ ’A-Z‘ > /tmp/etc.conf

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

# ls /var | wc -l

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

# sort -t: -k3 -n /etc/group | head -10 | cut -d: -f1

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

# cat /etc/fstab /etc/issue > /tmp/etc.test

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

用户和组相关的管理命令

  用户创建:useradd 

  格式

    useradd [options] LOGIN

  常用选项

    -u UID: 指明用户UID号

    -g GID:指明用户所属基本组,可为组名,也可以GID号

    -c "COMMENT":用户的注释信息,一般表示用户全名

    -d /PATH/TO/HOEM_DIR:以指定的路径为家目录

    -s SHELL:指明用户的默认shell程序,可用列表在/etc/shells文件中

    -G [GROUP1[,GROUP2,…[GROUPN]]]:为用户指明附加组

    -r: 创建系统用户

  用户属性修改:usermod

  格式

    usermod [OPTION] login

  常用选项

    -u UID:新UID

    -g GID:新基本组

    -G [GROUP1[,GROUP2,…[GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append

    -s SHELL:新的默认SHELL

    -c 'COMMENT':新的注释信息

    -d HOME:新的家目录,原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项;

    -l login_name:新的名字

    -L:锁定指定用户

    -U:解锁指定用户

    -e YYYY-MM-DD:指明用户账号过期日期

    -f INACTIVE:设定非活动期限

  给用户添加密码:passwd

  格式

    passwd [OPTIONS] UserName

  常用选项

    -l:锁定指定用户

    -u:解锁指定用户

    -n mindays:指定最短使用期限

    -x maxdays:最大使用期限

    -w warndays:提前多少天开始警告

    -i inactivedays:非活动期限

    –stdin:从标准输入接收用户密码

  删除用户:userdel

  格式

    userdel [OPTION]…login

  常用选项

    -r:删除用户家目录

  查看用户相关的ID信息:id

  格式

    id [OPTION]…[USER]

  常用选项

    -u:UID

    -g:GID

    -G:Groups

    -n:name    

  切换用户或以其他用户身份执行命令:su

  格式

    su [OPTION]… [-] [USER [ARG]…]

  切换用户的方式:

    su UserName:非登录式切换

    su – userName:登录式切换

  以指定用户执行命令:

    su [-] UserName -c 'COMMAND'

  常用选项

    -l:"su -l UserName" 相当于"su – UserName"    

  修改用户属性:chage

  格式

    chage [OPTION]… LOGIN

  常用选项

    -d LAST_DAY:最近一次修改密码的时间

    -E, –expiredate EXPIRE_DATE:修改账号的过期期限

    -I, –inactive INACTIVE:非活动期限

    -m, –mindays MIN_DAYS:密码的最小使用天数

    -M, –maxdays MAX_DAYS:密码的最大使用天数

    -W, –warndays WARN_DAYS:警告期限

  修改用户登录shell:chsh

  格式

    chsh [-s shell] [-l] [-u] [-v] [username]

  常用选项

    -s:指定登录shell

    -l:打印出/etc/shells下的shell列表并退出    

  修改用户详细资料:chfn

  格式

    chfn  [-f  full-name]  [-o  office]  ,RB [ -p office-phone] [-h home-phone] -u] [-v] [username]

  常用选项

    -f:指定全名

    -o:指定办公室号码

    -p:指定办公电话

    -h:指定家庭电话  

  组创建命令: groupadd

  格式

    groupadd [OPTION]… group_name

  常用选项

    -g GID: 指明GID号

    -r:创建系统组    

  组属性修改:groupmod

  格式

    groupmod [OPTION]…group

  常用选项

    -n group_name:新名字

    -g GID:新的GID

  组删除:groupdel

  格式

    groupdel GROUP

  组密码:gpasswd

  格式

    gpasswd [OPTION] GROUP

  常用选项

    -a user:将user添加至指定组中

    -d user:删除用户user的以当前组为组名的附加组

    -A user1,user2,…:设置有管理权限的用户列表

  newgrp命令:临时切换基本组

  格式

    newgrp [-] [group]

  常用选项

    -:读取用户的配置文件

  pwck:检查密码文件的完整性

  格式

   pwck [options] [passwd [ shadow ]]

  常用选项

   -s,–sort:以UID排序

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

# groupadd -g 2016 distro

   实例演示:

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

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

# useradd -u 1005 -g distro mandriva

   实例演示:

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

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

# useradd -u 1100 -d /home/linux mageia

   实例演示:    

[root@C664BSLab ~]# useradd -u 1100 -d /home/liunx mageia
[root@C664BSLab ~]# cat /etc/passwd | tail -1
mageia:x:1100:1100::/home/liunx:/bin/bash

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

# echo "mageedu" | passwd --stdin mageia

   实例演示:    

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

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

# userdel mandriva

   实例演示:    

[root@C664BSLab ~]# userdel mandriva
[root@C664BSLab ~]# ls /home | grep mandriva
mandriva

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

# groupadd peguin
# useradd -u 2002 -g distro -G peguin slackware

   实例演示:    

[root@C664BSLab ~]# groupadd peguin
[root@C664BSLab ~]# cat /etc/group | tail -1
peguin:x:2017:
[root@C664BSLab ~]# useradd -u 2002 -g distro -G peguin slackware
[root@C664BSLab ~]# id slackware
uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin)

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

# usermod -s /bin/tcsh slackware

   实例演示:

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

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

# groupadd  admins
# usermod -a -G admins slackware

   实例演示:

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

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

# echo "slackware" | passwd --stdin -n 3 -x 180 -w 3 slackware

   实例演示:    

[root@C664BSLab ~]# echo "slackware" | passwd -n 3 -x 180 -w 3  --stdin slackware
Adjusting aging data for user slackware.
passwd: Success
[root@C664BSLab ~]# cat /etc/shadow | grep slackware
slackware:!!:16977:3:180:3:::

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

# groupadd clouds
# groupadd nova
# useradd -u 3003 -g clouds -G peguin,nova openstack

   实例演示:

[root@C664BSLab ~]# groupadd clouds
[root@C664BSLab ~]# cat /etc/group | tail -1
clouds:x:2019:
[root@C664BSLab ~]# groupadd nova
[root@C664BSLab ~]# cat /etc/group | tail -1
nova:x:2020:
[root@C664BSLab ~]# useradd -u 3003 -g clouds -G peguin,nova openstack
[root@C664BSLab ~]# id openstack
uid=3003(openstack) gid=2019(clouds) groups=2019(clouds),2017(peguin),2020(nova)

   (11)、添加系统用户mysql,要求其shell为/sbin/nologin;

# useradd -r -s /sbin/nologin mysql

   实例演示:

[root@C664BSLab ~]# useradd -r -s /sbin/nologin mysql
[root@C664BSLab ~]# cat /etc/passwd | tail -1
mysql:x:498:498::/home/mysql:/sbin/nologin

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

# echo "openstack" | passwd --stdin openstack

   实例演示:

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

原创文章,作者:N20-背旅,如若转载,请注明出处:http://www.178linux.com/20309

(0)
N20-背旅N20-背旅
上一篇 2016-06-26
下一篇 2016-06-26

相关推荐

  • N26-第七周

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdi…

    Linux干货 2017-03-05
  • Linux文件管理命令,命令状态返回值及命令展开

    ls命令 功能: 列出目录下的所有文件和目录 语法格式: ls [OPTION]… [FILE]… 常用选项: -a :列出所有文件和目录 -A :列出除.和..的所有文件 -l :长选项,显示文件的详细属性信息 -rw——-. 1 root root 1.4K May 1 00:50 anaconda-ks.cfg -:文件类型 -:普通文…

    Linux笔记 2018-05-27
  • 第一周作业

    一·计算机组成及其功能     计算机由硬件和软件组成,他们构成计算机系统 硬件:构成计算机的物理装置包括中央控制器、存储器、输入设备、输出设备。 中央控制器(CPU):由控制器、运算器、寄存器和缓存组成。cpu的主频越高和缓存越大性能越好。主频是中央处理器时钟的频率,通常以兆赫兹(MHZ)为单位。缓存:可以进行高速数…

    Linux干货 2016-12-01
  • 推荐-自动化运维之puppet小试牛刀

     一、puppet介绍       puppet是IT基础设施自动化管理工具,“她”能够帮助系统管理员管理基础设施的整个生命周期:供应(provisioning、配置(configuration)、联动(orchestration)及报告(reporting)。    …

    Linux干货 2016-04-05
  • 计算机的组成以及功能

    组成成分:运算器、控制器、存储器、输入设备、输出设备

    Linux笔记 2018-05-13
  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加samba用户gentoo,centos和u…

    Linux干货 2016-10-24

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 15:26

    写的很好,排版还可以在漂亮一些,加油