马哥2016全新Linux+Python高端运维班第三周作业

本周作业内容:

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

# who | cut -d‘ ‘ -f1 | sort -u

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

# id $(who | sort -t‘ ‘ -k3,4 | tail -1 | cut -d‘ ‘ -f1)

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

# cut -d: -f7 /etc/passwd | sort | uniq -c | sort -n | tail -1

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

# sort -t: -k3 -n /etc/passwd | tail | tr ‘a-z‘ ‘A-Z‘ > /tmp/maxusers.txt

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

centos7:

# ifconfig | head -n 2 | tail -1 | cut -d‘ ‘ -f10

# ifconfig | awk ‘NR==2{print$2}‘

# ifconfig | sed -n ‘2s/^.*inet \([0-9].*\).net.*/\1/gp‘

centos6:

# ifconfig | head -n 2 | tail -1 | cut -d: -f2 | cut -d‘ ‘ -f1

# ifconfig | awk -F‘[ :]+‘ ‘NR==2{print $4}‘

# ifconfig | sed -n ‘2s/^.*:\([0-9].*\) .Bc.*/\1/gp‘

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

# ls /etc/*.conf | egrep -o ‘[^/]+$‘ | tr ‘a-z‘ ‘A-Z‘ > /tmp/etc.conf

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

# ls -ld /var/* | wc -l

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

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

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

# cat /etc/fstab /etc/issue > /tmp/etc.test

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

用户创建:useradd

useradd [option] LOGIN

useradd user1

-u UID:指定用户ID ,值范围UID_MIN-UID_MAX,定义在/etc/login/defs

-g GID:指定用户主组,指定的组必须事先存在,如果不指定,则创建一个私有组

-c :指定用户描述信息

-d :指定用户家目录,如果不指定,则在/home下创建一个同名的目录

-s :指定用户的shell,可用列表在/etc/shells中,如果不指定,默认使用/bin/bash

-G :指定用户的附加组,可以指定多个,用逗号分割,组必须事先存在

-D :更改默认值,useradd -D -s /bin/tcsh ,把默认shell更改为/bin/tcsh

-f :指定用户过期保留时间,默认是-1,则关闭此功能

-r :创建系统用户

组创建:groupadd

groupadd [option]...group_name

-g :指定GID

-r :创建系统组

id :查看用户相关的ID信息

id [option]...[user]

-u:uid

-g:gid

-G:附加组

-n:name

su :切换用户或使用用户身份执行命令

切换用户:

su [options...] [-] [user[args...]]

su UserName :非登陆式切换,不会读取目标用户的配置文件

su - UserName :登陆式切换,会读取目标用户的配置文件,完全切换

root用户su到其他用户无须密码,非rot用户切换时需要密码

不切换用户,使用用户身份执行命令:

su [-] UserName -c ‘COMMAND‘

-l :su -l UserName 相当于 su - UserName

用户属性修改:usermod

usermod [option] LOGIN

-u UID :新的UID

-g GID :新的主组

-G :新的附加组,原来的附加组将会被覆盖,若要保留原有的,则要同时使用-a

-s :新的shell

-c :新的注释信息

-d :新的家目录,原来家目录的文件不会同时移动到新的家目录,若要移动,则要同时使用-m选项

-l :新的名字

-L :锁定

-U :解锁

-e :YYYY-MM-DD 指定用户过期日期

-f :指定非活动期限

给用户添加密码:passwd

passwd [option] UserName :修改指定用户的密码,仅root用户有权限

passwd :修改当前用户的密码

-l :锁定用户

-u :解锁用户

-n :指定最短使用期限

-x :指定最大使用期限

-w :指定提前多少天开始警告

-i :指定非活动期限

-d :删除密码

--stdin :从标准输入接收用户密码

echo "PASSWORD" | passwd --stdin UserName

删除用户:userdel

userdel [option]... LOGIN

-r :删除用户家目录

组属性修改:groupmod

groupmod [option]...group

-n group_name: 新名字

-g GID : 新的组ID

组删除:groupdel

groupdel GROUP

组密码添加:gpasswd

gpasswd [option] group

-a user :将user添加至指定组中

-d user :删除用户user的以当前组为组名的附加组

-A user1,user2...:设置有管理权限的用户列表

newgrp :切换到指定的组临时作为主组

如果用户不属于此组,则需要输入密码

如果用户属于此组,则不需要输入密码

pwck :检查密码文件的完整性

修改用户的属性:chage

chage [option] LOGIN

-d :最近一次修改密码时间

-E :帐号到期时间

-I :非活动期限

-m :最小使用天数

-M :最大使用天数

-W :密码到期前收到警告的天数

-l :列出当前用户的设置

(1)、创建组distro,其GID为2016;

    # groupadd -g 2016 distro

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

    # useradd -u 1005 -g distro mandriva

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

    # useradd -u 1100 -d /home/linux mageia

(4)、给用户mageia添加密码,密码为mageedu;

    # echo "mageedu" | passwd --stdin mageia

(5)、删除mandriva,但保留其家目录;

    # userdel mandriva

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

    # groudadd peguin
    # useradd -u 2002 -g distro -G peguin slackware

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

    # usermod -s /bin/tcsh slackware

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

    # groudadd admins
    # usermod -a -G admins slackware
    或者
    # gpasswd -a slackware admins

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

    # passwd -n 3 -x 180 -w 3 slackware

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

    # groudadd clouds
    # groudadd nova
    # useradd -u 3003 -g clouds -G peguin,nova

(11)、添加系统用户mysql,要求其shell为/sbin/nologin;

    # useradd -s /sbin/nologin mysql

(12)、使用echo命令,非交互式为openstack添加密码。

    # echo "password" | passwd --stdin openstack
时间: 2024-10-08 22:10:34

马哥2016全新Linux+Python高端运维班第三周作业的相关文章

马哥2016全新Linux+Python高端运维班第三周作业作答

                    马哥2016全新Linux+Python高端运维班第三周作业                                           1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | awk '{print $1 $NF}'| uniq -d     [[email protected] ~]# who     yicx     :0  

马哥2016全新Linux+Python高端运维班第八周作业

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 答: 网桥:双端口的二层设备,可以隔离冲突域,一般用于划分LAN,或者链接LAN. 集线器:物理层设备,多端口,无法隔离冲突域,用于连接主机. 二层交换机:数据链路层设备,多端口,与网桥相比,交换机可学习MAC地址,根据MAC地址转发数据,可隔离冲突域,用于在路由设备与主机之间架设,接入层与汇聚层皆可使用. 三层交换机:相当于是带路由功能的二层交换机,工作在网络层,有更高的带宽,可做核心层使用,用于大中型网络的路由交

[作业] 马哥2016全新Linux+Python高端运维班第八周作业

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥:比较古老的方式二层交换设备,网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域.类似中继器. 集线器: 二层交换设备,多口的网桥 二层交换机: 二层交换设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中 三层交换机: 工作在二层和三层,具有路由功能的交换机.三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有

马哥2016全新Linux+Python高端运维班第七周作业

1.创建一个10G分区,并格式为ext4文件系统: (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl: (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳: 2.创建一个大小为1G的swap分区,并创建好文件系统,并启用之: 3.写一个脚本 (1).获取并列出当前系统上的所有磁盘设备: (2).显示每个磁盘设备上每个分区相关的空间使用信息: 4.总结RAID的各个级别及其组合方式和性能的不同

马哥2016全新Linux+Python高端运维班第五周作业

1.显示当前系统上root.fedora或user1用户的默认shell: 答:需要找到3个字符串,需要用到"或"命令,所以使用egrep.找到后cut再次筛选出我们需要显示的用户默认的shell. 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(): 答: 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 答:首先我们要了解什么是路径的基名和路径名: 基名:可以理解为路径名最右边的名称: 路径名:除基名以外

马哥2016全新Linux+Python高端运维班第六周作业

1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#: 答:可使用vim的查找替换功能完成: 命令如下: [[email protected] ~]# cp /etc/rc.d/rc.sysinit /tmp       ##复制文件 [[email protected] ~]# vim /tmp/rc.sysinit            ##vim编辑该文件 命令结果如下(下图红框为与上图对比效果):

马哥2016全新Linux+Python高端运维班-Linux用户创建及权限管理

第三周作业内容:1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | cut -d' ' -f1 | sort -u      centos     liu     root 2.取出最后登录到当前系统的用户的相关信息.     第一种方式:         [[email protected] ~]# last | head -n1         liu      tty8        

马哥2016全新Linux+Python高端运维班-Linux服务 DNS,httpd,加密通讯,vsftp,NFS,samba服务练习

本周作业内容: 1.详细描述一次加密通讯的过程,结合图示最佳. 一次加密通讯的过程: 首先Bob用单向加密的方法提取数据的特征码,用自己的私钥加密这段特征码,并附加到数据的后面. Bob用对称加密算法把数据及特征码整个进行加密. Bob用接收方的公钥加密对称密钥并附加到数据后面. Alice用私钥解密对称密钥. Alice用对称密钥解密出数据及加密的特征码. Alice用发送方的公钥解密特征码,并用相同的算法算出数据的特征码,比较两个特征码是否一致,若一致即可获得Bob的数据. 如图所示: 单向

马哥2016全新Linux+Python高端运维班十一次作业

一.源码编译安装LNMP架构环境: 安装编译工具及库文件 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl