小练习题。【第三周】

练习

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

相关推荐

  • Linux简单命令说明(date、clock、echo 、Tab键、screen)

    Linux简单命令说明 1、如何查询命令的帮助文档 外部命令:是系统用应用程序的一部分,在系统启动时不会被加载到内存,而在服务或进程启用时 才执行它。 查看 COMMAND –help man COMMAND 内部命令:是简小的命令,开机就已加载到shell中。 查看 help COMMAND 2、date和clock命令 date #显示当前系统时间 […

    Linux干货 2017-07-12
  • 马哥教育网络班22期+第7周课程练习

    week7: 1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程…

    Linux干货 2016-09-26
  • 一起学DHCP系列(二)三种途径

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/162176 《一起学DHCP》系列第二节。      和WINS服务类似,DHCP大体上也由两部分组成,DHC…

    Linux干货 2015-03-25
  • Python之入门篇

    一、环境准备 环境准备 –> pyenv (安装python解释器,管理Python版本,管理python虚拟环境) https://github.com/pyenv/pyenv https://github.com/yyuu/pyenv-installer # yum -y install git # curl -L https://ra…

    Linux干货 2017-02-05
  • awk

    文本处理工具 文本处理三工具:grep,sed,awk grep,egrep,fgrep:文本过滤工具 sed:行编辑器 awk:报告生成器,格式化文本输出; awk gawk – pattern scanning and processing language lrwxrwxrwx. 1 root root 4 May 17 19:23 /bi…

    Linux干货 2017-05-21
  • 磁盘管理与文件系统

      关于磁盘与文件系统大致思路:要想对磁盘进行充分利用,必须要对磁盘进行分区,第二步就是要对分区进行高级格式化,也就是在分区上创建文件系统,在此过程中可以对磁盘的各种属性进行自定义。打个比方来说,创建磁盘分区好比刚买来一个毛坯房,还未装修,还不适宜人居住,那么创建文件系统就好比在光秃秃的毛坯房上进行了装修,这样才更适于人居住使用。 要想搞懂磁盘,首…

    Linux干货 2016-08-30

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:39

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