第三周作业

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

[root@yinwei ~]# who | cut -d ‘ ‘ -f1 | sort -u
centos
gentoo
root

 

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

[root@yinwei ~]# last | head -1
gentoo pts/2 172.16.1.254 Fri May 25 17:33 still logged in

 

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

[root@yinwei ~]# cat /etc/passwd | cut -d : -f7 | uniq -c | sort -n | tail -1 | cut -d’ ‘ -f7

/sbin/nologin

[root@yinwei ~]#

 

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

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

 

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

[root@yinwei ~]# ifconfig | grep “\<inet\>” | grep ens | cut -d’ ‘ -f6 | cut -d/ -f1

172.16.1.101

 

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

ls -d /etc/*.conf | tr ‘a-z’ ‘A-Z’ >/tmp/etc.conf

 

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

ls -d /var/* | sort | wc -l

 

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

 

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

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

 

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

 

 

groupadd命令:添加组

groupadd 【选项】group_name

-g GID:指GID 默认是上个组的GID+1

-r 创建系统组

groupmod命令:修改组属性

groupmod

-g GID 修改GID

-n new_name修改组名

groupdel命令 删除组

groupdel 选项 group

useradd 命令:创建用户

useradd 【选项】登录名

-u,–uid uid

-g,–gid

-G,–groups附加组

-c,–comment 指明注释信息

-d,–home指定路径为用户家目录:通过复制/etc/skel此目录并重命名实现;目录如果存在不会为用户复制环境

-s,–shell指定用户使用的shell,可用的所有shell列表存储在/etc/shells文件中

-r,–system 传建系统用户

注意:创建用户时的组多默认设定配置文件

useradd -D 显示创建用户的默认配置

useradd -D 选项:修改默认选项的值

 

usermod命令:修改用户属性

usermod 【选项】登录

-u –uid 修改用户的ID为此处指定的新UID

-g –gid 修改用户所属的基本组

-G –groups修改用户所属的附加组:原来的附加组会被覆盖

-a  –append 与-G 一同使用 添加附加组

-c –comment 修改注释

-d –home 修改用户的家目录;用户原有的文件不会被转移至新位置

-m –move-home 智能与-d一起使用,用于将原来的家目录移动为新的家目录

-l –login 修改用户名

-s –shell 修改用户的默认shell

-L –lock 锁定用户密码:即在用户原来的密码字符串之前添加一个!

-U –unlock:解锁用户的密码

userdel命令:删除用户

 

userdel 【选项】登录

-r 删除用户时一并删除家目录

 

gpasswd命令:

组密码文件:/etc/gshadow

gpasswd [选项] group

-a username 向组中添加用户

-d username 从组中删除用户

 

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

 

newgrp [-] [group]

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

 

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

 

chage 【选项】 登录名

 

-d

-E

-W

-m

-M

 

id命令:显示用户的uid和gid 和附加组

 

-u 仅显示有效的uid

-g 仅显示用户的基本组

-G 仅显示用户所属的所有组的ID

-n 显示名字而非id

 

su命令:switch user

 

– 登陆式切换

su – username

su -l username

不带-非登录式切换

su username

注意:管理员可无密码切换至其他任何用户;

 

-c—-标准输入stdin,键盘 ‘command’ 仅以指定用户的身份运行此处指定的命令

 

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

 

 

  • 、创建组 distro,其GID为2016;

groupadd distro -g 2016

 

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

useradd mandriva -u 1005 -g distro

 

  • 、创建用户mageiay,其ID号为1100,家目录为/home/linux

useradd mageiay -u 1100 -d /home/linux

 

  • 、给用户 mageiay添加密码,密码为mageedu;

echo “mageedu” | passwd –stdin mageiay

 

  • 、删除mandriva,但保留其家目录

userdel mandriva

 

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

加组peguin

useradd slackware -u 2002 -g distro -G peguin

 

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

usermod slackware -s /bin/tcsh

 

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

 

usermod slackware -G admins

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99327

(1)
墨武墨武
上一篇 2018-05-25 17:35
下一篇 2018-05-25 19:41

相关推荐

  • Linux计算MD5和Sha1的命令

    Linux计算MD5和Sha1的命令

    Linux笔记 2018-06-07
  • ansible进阶小技巧

    用ansible写playbook的朋友可能会发现,当配置工作很多时,如果在中间过程出错了,修改后想重新执行,前面的一大堆步骤让人感觉很烦躁。虽然提供了“retry”文件,但是却只是根据host来判断重新执行,仍然不够方便;又或者,中间的某些步骤特别耗时,比如下载一个很大的数据包,每次执行特别浪费时间,想要特别的跳过。怎么办?我猜你就是把不需要的部分给注释掉…

    Linux笔记 2018-06-03
  • shell脚本进阶

    本节主要学习判断语句,循环语句还有函数,数组等一些脚本中常用的语法,这些会让你的脚本看起来更美观,易读性更高

    2018-05-11
  • sed常用操作命令

    sed 为流编辑器,标准输出为屏幕,默认不会改动源文件 -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。-e :直接在命令列模式上进行 sed 的动作编辑;-f :直接将 sed 的动作写在一个文件内, -…

    2018-04-08
  • 计算机原理与Linux基础

    计算机的组成及功能 1、其实计算机的组织分为内部设备和外部设备, 内部设备:         CPU:运算器、寄存器、缓存         存储器:内存,RAM(Random Access Memory)         控制器:控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。 外部…

    Linux笔记 2018-05-13
  • 进程管理

    1.进程概念内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等Process: 运行中的程序的一个副本,是被载入内存的一个指令集合进程ID(Process ID,PID)号码被用来标记各个进程UID、GID、和SELinux语境决定对文件系统的存取和访问权限,通常从执行进程的用户来继承存在生命周期task struct:Linux内核存…

    Linux笔记 2018-05-14

评论列表(1条)

  • 马哥教育
    马哥教育 2018-05-31 20:49

    取出当前系统上被用户当作其默认shell的最多的那个shell,这个建议将对应的个数也统计出来。
    建议命令格式化一下,现在看起来有点乱。