小练习题。【第三周】

练习

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 Basics–part5

    1、显示当前系统上root、fedora或user1用户的默认shell ~]# grep “^\(root\|fedora\|user1\)” /etc/passwd | cut -d: -f7 或者 ~]# egrep “^(root|fedora|user1)” /etc/passwd | cut -d:…

    Linux干货 2017-08-24
  • rpm与yum的初步学习

    rpm与yum的初步学习   我们在使用linux系统时需要安装和卸载软件,我们这节就先来看一下rpm和yum的初步简单实用。 linux软件安装:   安装程序的方式:      通用二进制格式:直接解压压缩文件,就可以使用。但一定要注意安装平台。     &nbsp…

    Linux干货 2016-08-24
  • Linux下硬连接和软连接的区别

    Linux下硬链接与软链接的区别   链接,是指在计算机文件之间传递参数和控制命令,并把它们组成一个可执行的整体的过程。例如我们常见的windows系统下的“快捷方式”,它是一种链接,人们可以通过它来直接访问计算机上的某个文件,不必逐级在硬盘目录下寻找;互联网上的“超文本链接”,它用文字链接的形式来指向一个页面,人们可以通过此链接快速访问网站的页面…

    Linux干货 2016-10-21
  • Linux下常用压缩工具总结

    gzip: 1)只能针对普通文件进行压缩,对文件夹、符号链接无效。 2)如果想对多个文件一起压缩并打包,gzip是无法办到的,需要结合tar进行 [root@mysql-master databackup]# ll 总用量 32 drwx—— 2 root root 4096&nb…

    Linux干货 2016-12-05
  • 记事本操作的小小小技巧

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/140063       大家在查看文本文件的时候,如果内容很多,想快速到达某一位置可能比较麻烦,这时如果按住shift,再点击右侧…

    Linux干货 2015-03-26
  • MYSQL高级运用-MHA(提供主从复制高可用,主节点故障时,进行故障转移)

    MHA的介绍、重用工具;
    MHA的安装;
    搭建MYSQL主从复制架构,运用MHA实现其高可用,主节点故障时,进行故障转移;并恢复整个架构;

    2017-09-24

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:39

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