小练习题。【第三周】

练习

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

~]# who | cut -d' ' -f1 |uniq

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

/]# who | sort -r | tail -n 1

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

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

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

/]$ cat /etc/passwd |sort -n -t':' -k3 |tail -n 10|tr 'a-z' 'A-Z' >/tmp/maxusers.txt

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

/]$ ifconfig |grep "\<inet\>"  |cut -d' ' -f10

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

/]$ ls /etc/ |grep ".conf\>" | tr 'a-z' 'A-Z' > /tmp/etc.conf

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

/]$ ll /var |wc -l

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

/]# cat /etc/group |sort -r -t':' -k3 |tail -n 10 |cut -d':' -f1

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

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

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

1)创建组distro, 其GID为2016;
    /]# groupadd -g 2016 distor

2)创建用户mandriva ,其ID号为1005;基本组为distro;
    /]# useradd -u 1005 -g 2016 mandriva

3)创建用户mageid,其ID号为1100,家目录为/home/linux;
    /]# useradd -u 1100 -d /home/linux mageid

4)给用户mageia添加密码,密码为mageedu;
    /]# passwd mageid

5)删除mandriva,但保留其家目录;
    /]# userdel mandriva

6)创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    /]# groupadd peguin
    /]# useradd -u 2002 -g 2016 -G 2017 slackware

7)修改slackware 的默认shell为/bin/tcsh;
  /]# usermod -s /bin/tcsh slackware

8)为用户slackware 新增附加组admins;
  /]# usermod -G 2018 -a  slackware

9)为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天;
   /]# passwd slackware| passwd -n 3 -x 180 -w 3 slackware


10)添加用户openstack,其ID号为3003,基本组为clouds,附加组peguin和nova;
    /]# groupadd clouds
    /]# groupadd nova
    /]# useradd -u 3003 -g 2019 -G 2017,2020 openstack

11)添加系统用户mysql,要求其shell为/sbin/nologin;
    /]# useradd -r -s /sbin/nologin mysql

12)使用echo命令,非交互式为openstack添加密码;
    /]# echo "magees" | passwd --stdin openstack

总结

groupadd命令:添加组

groupadd [选项] group_name

    -g GID:指定GID:默认是上一个组的GID+1;
    -r : 创建系统组;

groupmod命令:修改组属性

groupmod [选项] GROUP
    -g GID:修改GID;
    -n new_name:修改组名;

groupdel命令:删除组

groupdel [选项] GROUP

useradd命令:创建用户

useradd [选项] 登录名
    -u, --uid UID:指定UID;
    -g, --gid GROUP:指定基本组ID,此组得事先存在;
    -G, --groups GROUP1[,GROUP2,...]:指明用户所属的附加组,多个组之间用逗号隔开
    -c, --comment COMMENT:指明注释信息;
    -d, --home HOME_DIR:以指定的路径为用户的家目录:通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果实现存在,则不会为用户复制环境配置文件;
    -s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
    -r,     --system:创建系统用户;

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

useradd -D: 显示创建用户的默认配置;
useradd -D 选项:修改默认选项的值;

    修改的结果保存于:/etc/default/useradd文件中;

usermod命令:修改用户属性

usermod [选项] 登录
    -u,  --uid UID: 修改用户的ID为此处指定的新UID;
    -g, --gid GROUP:修改用户所属的基本组;
    -G, --groups GROUP1[,GROUP2,...]:修改用户所属组的附加组,原来的附加组会被覆盖;
    -a --append:与-G一同使用,用于为用户追加新的附加组;
    -c, --comment COMMENT:指明注释信息;
    -d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
    -m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;
    -l, --login NEW_LOGIN:修改用户名;
    -s, --shell SHELL:修改用户的默认shell;

    -L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个“!”;
    -U, --unlock:解锁用户的密码;

userdel命令:删除用户

userdel [选项] 登录
    -r:删除用户时一并删除其家目录;

passwd命令:

passwd  [-k]  [-l]  [-u  [-f]]  [-d] [-e] [-n mindays] [-x maxdays] [-wwarndays] [-i inactivedays] [-S] [--stdin] [username]


(1)passwd: 修改用户自己的密码;
(2)passwd USERNAME: 修改指定用户的密码,但仅root有此权限;

    -l, -u:锁定和解锁用户;
    -d:清除用户密码串;
    -e DATE:过期期限,日期;
    -i DAYS:非活动期限;
    -n DAYS:密码的最短使用期限;
    -x DAYS:密码的最长使用期限;
    -w DAYS:警告期限;

    --stdin:
        echo "meagees" |passwd --stdin USERNAME

gpasswd命令:

组密码文件:/etc/gshadow

gpasswd [选项] group
    -a USERNAME:向组中添加用户
    -d USERNAME:从组中移除用户

newgrp命令:临时切换指定的组为基本组;

newgrp [-] [group]

-:会模拟用户重新登录以实现重新初始化其工作环境;

chage命令:更改用户密码过期信息

chage [选项] 登录名

    -d
    -E
    -w
    -m
    -M

id命令:显示用户的真实和有效ID;

id [OPTIONS]...[USER]
    -u:仅显示有效的UID;
    -g:仅显示用户的基本组ID;
    -G:仅显示用户所属的所有组的ID;
    -n:显示名字而非ID;

su命令:switch user

登录式切换:会通过读取目标用户的配置文件来重新初始化
    su - USERNAME
    su -l USERNAME
非登录式切换:不会读取目标用户的配置文件进行初始化
    su USERNAME

注意:管理员可无密码切换至其他任何用户;
        非管理员在切换其他任何用户时需要输入该用户密码;

-c 'COMMAND':仅以指定用户的身份运行此处指定的命令;

其他几个命令:chsh,chfn,finger,whoami,pwck,grpck

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

(0)
N24_xiaowenN24_xiaowen
上一篇 2016-11-26
下一篇 2016-11-26

相关推荐

  • 循环体

    for 变量名in 列表;do 循环体 done 执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq[start [step]] end) (3) 返回列表的命令  &nbsp…

    Linux干货 2016-08-21
  • inode的理解

    一、inode是什么 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的&q…

    Linux干货 2017-01-16
  • keepalived单主模型和nginx双主模型

    主程序:keepalived 主配置文件:/etc/keepalived/keepalived.conf 单主模型ipvs: global_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.…

    Linux干货 2017-08-08
  • Linux启动和内核管理

    Linux启动和内核管理   CentOS 5和6的启动流程服务管理Grub管理自制Linux启动排错编译安装内核   Linux组成Linux: kernel+rootfskernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能rootfs:程序和glibc库:函数集合, function, 调用接口(头文件负责描述)…

    Linux干货 2017-09-04
  • grep

    1. 文本处理工具的使用:   cat 连接文件并打印到标准输出设备,但是文件较大时,翻屏太快,与more或者less连用 命令反着输入(tac)将会反向输出文本文件 用法: cat 选项 参数   选项: -A 显示不可打印字符 -b 对行进行编号,空白行不编号 -s 压缩空白行 -n 对行进行编号,包括空白航  参数: &n…

    Linux干货 2016-08-08
  • LVS-fwm&persistence

    Evernote Export 1、LVS-fwm fwm:FireWall Mark        在netfilter上给报文打标记;mangle表;        ipvsadm -A|E -t|u|f service-address [-s scheduler] &nbs…

    Linux干货 2016-12-01

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:39

    作业完成的不错,而且看着比较舒服,对于用户管理的命令前期多操作,可以对比着记忆,后期熟练了就自然而然的不用刻意思考了。