小练习题。【第三周】

练习

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 14:58
下一篇 2016-11-26 16:00

相关推荐

  • 磁盘配额实现

    磁盘配额实现 磁盘配额要求必须是独立的分区 创建一个新的分区 #同步分区表 [root@localhost ~]# partx -a /dev/sda [root@localhost ~]# mkfs.ext4 /dev/sda6 -L /home [root@localhost ~]# blkid /dev/sda6: LABEL=”/home…

    Linux干货 2017-12-09
  • linux bassic Week 5 Blogging

    linux bassic Week 5 Blogging 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]# grep -E "^[[:space:]]+" /boot/grub/grub.conf  root (hd0,0) kernel&n…

    Linux干货 2017-01-05
  • 三.Linux博客-2016年7月24日帮助、history、别名、tree

    格式说明: 操作 概念 命令 说明及举例 三-1.帮助、history、别名、tree touch /etc/nologin 使普通用户不能登录(创建了一个文件,删掉就可以登陆)   ll /etc/nologin 查看那个文件 -rm -f /etc/  删…

    Linux干货 2016-08-23
  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • CentOS7口令破解

    一.rd.break方式修改  1.启动时任意键暂停启动      2.按e 键进入编辑模式 将光标移动linux16 开始的行,添加内核参数rd.break 按ctrl-x 启动 3.重新挂载可读可写根目录 :mount –o remount,rw /sysroot 切回根目录: chroot /sysroot 修改…

    Linux干货 2016-11-29
  • Linux系统中硬链接和软链接

    使用对象:linux初学者。   一、硬链接和软链接的概念 硬链接是给已经存在的数据文件另外创建一个名字,通过该名字也可以访问该数据文件。就好像给张三起个绰号叫“小二黑”,通过“张三”这个名字能找到这个人,通过“小二黑”这个名字也能找到这个人。        软链接是给文件名在其…

    Linux干货 2016-10-20

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:39

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