linux运维初学作业,Linux运维班第二次作业(示例代码)
一、列出当前系统上所有已经登录的用户的用户名(同用户登录多次只显示一次)。
题目并没有说明取出的用户名是否允许排序处理,所以可写成:
# who | cut -d‘ ‘ -f1 | sort -u
二、取出当前系统上被用户当作其默认shell的最多的那个shell
统计/etc/passwd文件中默认shell出现最多的shell的次数再取出
# cat /etc/passwd | cut -d: -f7 | uniq -c |sort -nr | head -n 1
三、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改写为大写后保存至/tmp/maxusers.txt文件中
# cat/etc/passwd | sort -nr -t: -k3 | head -n 10 | tr ‘a-z‘ ‘A-Z‘
> /tmp/maxusers.txt
四、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分
先取出IP地址的所在行再进行切分
#ifconfig | grep ‘inet[[:space:]].*‘ | cut -d‘ ‘ -f10 | head -n 1
五、显示/var目录下一级子目录或文件的总个数
# tree -L 1 /var |tail -n 1
六、取出/etc/group文件中第三个字段数值最小的10个组的名字
# cat /etc/group | sort -n -t: -k3 | head -n 10 | cut-d‘:‘ -f1
七、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中
# cat /etc/issue >> /tmp/etc.test | cat/etc/fstab >> /tmp/etc.test
八、请总结描述用户和组管理类命令的使用方法并完成以下练习:
(1)创建组distro,其GID为2016
创建组命令:groupadd
其用法:groupadd [options]... groupname
参数:-g GID,表示指明创建组的组号;
# groupadd -g 2016 distro
(2)创建用户mandriva,其ID号为1005;基本组为distro
创建用户命令:useradd
其用法:useradd [options]... username
参数:-u UID,表示指明创建用户的ID号;
-g GID,表示指明创建用户的基本组,可为组号或组名;
# useradd -g distro -u 1005 mandriva
(3)创建用户mageia,其ID号为1100,家目录为/home/linux;
同使用命令:useradd
参数:-d /path_to_homedir,指定特定路径为用户的家目录;
# useradd -u 1100 -d /home/linux mageia
(4)给用户mageia添加密码,密码为mageedu;
添加或修改用户密码命令:passwd
其用法:passwd [options] username
参数:--stdin:从标准输入接收用户密码;
一般通过passwd命令直接跟用户名(mageia),然后手动输入两次密码以启用该用
户的密码登录认证;但是这里也可以从标准输入一次性给用户设定好密码:
# echo "mageedu" | passwd--stdin mageia
(5)删除mandriva,但保留其家目录;
删除用户命令:userdel
其用法:userdel [option]... username
参数:-r:删除用户家目录,不添加该参数默认不删除;
# userdel mandriva
(6)创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
同使用命令:useradd
参数:-u UID:指定用户ID;
-g GID:指定用户基本组;
-G GROUP1[,GROUP2,...]:指定用户附加组;
# useradd -u 2002 -g distro -G peguinslackware
(7)修改slackware的默认shell为/bin/tcsh;
修改用户属性命令:usermod
用法:usermod [option] username
参数:-s SHELL,修改用户的默认shell;
# usermod -s /bin/tcsh slackware
(8)为用户slackware新增附加组admins;
同使用命令:usermod
参数:-G GROUP1[,GROUP2,...]:给用户指定新附加组,配合"-a"参数表示
给用户添加新附加组,原有附加组不会被覆盖;
# usermod -a -G admins slackware
(9)为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警
告为3天;
设置用户密码属性使用命令:chage
用法:chage [option]... username
参数:-m:表示设定密码的最小使用天数;
-M:表示设定密码的最大使用天数;
-W:表示设定密码失效前提前多少天提示警告信息;
# chage -m 3 -M 180 -W 3 slackware
(10)添加用户openstack,其ID号为3003,基本组为clouds,附加组为peguin
和nova;
添加用户使用命令:useradd,与(6)小题类似;
# useradd -u 3003 -g clouds -Gpeguin,nova openstack
(11)添加系统用户mysql,要求其shell为/sbin/nologin;
使用命令:useradd
参数:-r:表示添加的是系统用户;
-s SHELL:指明创建用户的默认shell;
# useradd -s /sbin/nologin -r mysql
(12)使用echo命令,非交互式为openstack添加密码;
使用命令:passwd,与(4)小题类似;
# echo "open" | passwd--stdin openstack
九、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限
# cp -arf /etc/skel/*/home/tuser1
# chmod -R 600 /home/tuser1
十、显示/proc/meminfo文件中以大写或小写S开头的行,用两种方式;
第一种方式:匹配锚定行首为小写或大写S开头的行;
# cat /proc/meminfo | grep ‘^[s,S].*‘
第二种方式:匹配词首字母为小写或大写S开头的行;
# cat /proc/meminfo | grep ‘\b[s,S].*‘
十一、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
# cat /etc/passwd | grep -v‘.*nologin$‘ | cut -d‘:‘ -f1
十二、显示/etc/passwd文件中默认shell为/bin/bash的用户;
# cat /etc/passwd | grep ‘.*bash$‘| cut -d‘:‘ -f1
十三、找出/etc/passwd文件中的一位数或两位数;
# cat /etc/passwd | grep‘\b[0-9]\{1,2\}\b‘
十四、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
# cat /etc/rc.d/rc.sysinit |grep ‘^#[[:space:]]\+[^[:space:]]\+‘
十五、打出netstat-tan命令执行结果中以‘LISTEN‘,后或跟空白字符结尾的行;
# netstat -tan | grep‘.*LISTEN\b‘
十六、添加用户bash,testbash,basher,nologin(此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;
思路:取出行首用户名和行尾bash名同名的行,将整个锚定行首的关键字再在行尾锚定一次即可
# useradd bash
# useradd testbash
# useradd basher
# useradd -s /sbin/nologin nologin
# cat /etc/passwd | grep‘\(^[a-z][^:]\+\).*\1$‘
linux运维初学作业,Linux运维班第二次作业(示例代码)相关推荐
- 川大计算机应用基础第二次作业,川大计算机应用基础第二次作业-20210331054635.docx-原创力文档...
集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN] 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN] 川大计算机应用基础第二次作业 & ...
- 计算机控制系统第2次作业,《计算机控制系统》第二次作业答案
- <计算机控制系统>第二次作业答案 你的得分: 100.0 完成日期:2018年09月10日 01点51分 说明: 每道小题选项旁的标识是标准答案. 一.单项选择题.本大题共16个小题, ...
- 马哥第3期运维班第二周作业
1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 复制:cp cp [option] SRC... DEST SRC是单个文件: 如果DEST不存在,则新建DEST,并将S ...
- 怎么用linux获得数据的标题,开源|NLPCC2017(中文)新闻标题分类示例代码以及数据描述...
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow- 1.0.0-cp27-none-linux_x86_64.whlhttp ...
- kali linux 2.0 ssh,Kali 2.0使用SSH进行远程登录(示例代码)
一.配置SSH参数 修改sshd_config文件,命令为: vim /etc/ssh/sshd_config 将#PasswordAuthentication no的注释去掉,并且将NO修改为YES ...
- c语言作业统计字符,C语言统计字符数(示例代码)
输出样例 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...
- Linux系统创建vlan教程,linux vlan配置详解
本文主要给大家介绍了关于linux虚拟网络设备之vlan配置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,希望能帮助到大家. 简介 VLAN是网络栈的一个附加 ...
- linux so 发布,如何在Linux上构建发布包含.so动态库的snap安装包
Linux上要发布源码包比较容易,只要做个压缩包.tar.gz就可以.但是如果要做一个包含库和可执行文件的安装包,就比较麻烦.Linux的版本很多,需要做不同格式的安装包,比如.deb和.rpm,同时 ...
- OO第二单元作业小结
总结性博客作业 第一次作业 (1)从多线程的协同和同步控制方面,分析和总结自己三次作业的设计策略. 第一次作业为单电梯傻瓜调度,可以采用生产者--消费者模型,是一个有一个生产者(标准输入电梯请求),一 ...
最新文章
- JavaScript正则表达式test的用法
- python列表解析式_Python基础入门-列表解析式
- boost源码剖析之:泛型编程精灵type_traits(rev#2)
- c语言高级语言期中测试答案,上海理工大学C语言2011期中试题和答案
- getline没有与参数列表匹配的重载函数_C++新增基础功能解析—函数重载功能的使用...
- tomcat配置及其中部分目录作用虚拟路径虚拟主机
- 微课--25分钟学会使用Python群发电子邮件
- phpstorm,webstorm取消自动保存并标识修改的文件为星星标记
- C++ 模板的全特化与偏特化
- svn服务端及客户端搭建和使用(一)
- C#实时判断串口连接状态
- android 10.0 Camera2 去掉后置摄像头 仅支持前置摄像头功能
- python图片搜索_用Python构建图片处理搜索引擎
- Mendix装备制造业应用 | 云上全流程透明性备品备件协同管理
- 如何查看服务器bmc信息,服务器查看bmcip地址
- 如何生成git的公钥和私钥
- 元器件封装生成工具LP Wizard
- Fence Repair-栅栏维修(优先队列)
- 贾扬清:从授之以鱼到授之以data,人工智能如何重塑传统软件行业
- Springboot 国际化语言(浏览器切换)