23 第四周作业

1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

答:~]#cp-r /etc/skel /home/tuser1

~]#chmod -R go=  /home/tuser1    #法一,不会改变属主原来权限;

~]# chmod-R 700 /home/tuser1     #法二,可能会改变属主原有权限;

示例:

[[email protected]~]# touch /etc/skel/mytest.txt

[[email protected]~]# ll /etc/skel/mytest.txt

-rw-r--r--.1 root root 0 Aug 26 12:51 /etc/skel/mytest.txt

[[email protected]~]# cp -r/etc/skel /home/tuser1    #可以也可用–R

[[email protected]~]# ls -ld /home/tuser1

drwxr-xr-x.2 root root 4096 Aug 26 12:52 /home/tuser1

[[email protected]~]# ls -ld /home/tuser1/mytest.txt

-rw-r--r--.1 root root 0 Aug 26 12:52 /home/tuser1/mytest.txt

[[email protected]~]# chmod -R go= /home/tuser1     #法一,不会改变属主原来权限;

[[email protected]~]# chmod -R 700/home/tuser1     #法二,可能会改变属主原有权限;

[[email protected]~]# ls -ld /home/tuser1/

drwx------.2 root root 4096 Aug 26 12:52 /home/tuser1/    #查看目录权限;

[[email protected]~]# ls -l /home/tuser1/mytest.txt

-rwx------. 1 root root 0Aug 26 12:52 /home/tuser1/mytest.txt   #chmod –R 700的结果;

说明:cp -r,-R:递归复制目录及内部的所有内容;

chmod -R :递归修改权限;注意,此处不能使用-r;

2、编辑/etc/group文件,添加组hadoop

答:法一:

~]#vim /etc/group,在尾部新增一行,输入hadoop:x:555:

法二:

~]#groupadd hadoop

法三:

~]# echo "hadoop2:x:2022:" >>/etc/group


说明:用tail -1 /etc/group可查看group文件最后新增的一个组信息;

3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组IDhadoop组的id号;其家目录为/home/hadoop

答:~]# echo"hadoop:x:510:2021:user_hadoop:/home/hadoop:/bin/bash">>/etc/passwd

 

说明:

~]# mkdir /home/hadoop  # 此方式创建用户,不会自动创建家目录,需手动创建;

~]# id hadoop        # 查看hadoop用户的信息;

uid=510(hadoop)gid=2021(hadoop) groups=2021(hadoop)

4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

答:~]#cp-r /etc/skel/ /home/hadoop/

~]#chmod go= /home/hadoop/    #法一,不会改变属主原来权限;

~]# chmod700 /home/hadoop/    #法二,可能会改变属主原有权限;

示例:

[[email protected]~]# cp -r/etc/skel/ /home/hadoop/

[[email protected] ~]# ll -d /etc/skel/

drwxr-xr-x.2 root root 4096 Jun 27  2015 /etc/skel/

[[email protected]~]# ll -d /home/hadoop/

drwxr-xr-x.3 root root 4096 Aug 27 10:21 /home/hadoop/

[[email protected]~]# chmod go=/home/hadoop/    #法一,不会改变属主原来权限;

[[email protected]~]# chmod 700 /home/hadoop/    #法二,可能会改变属主原有权限;

[[email protected]~]# ll -d /home/hadoop/

drwx------.3 root root 4096 Aug 27 10:21 /home/hadoop/

说明:cp -r,-R:递归复制目录及内部的所有内容;

chmod -R :递归修改权限;注意,此处不能使用-r;

5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop

答:~]# chown -R hadoop.hadoop/home/hadoop/    # 法一,用点号“.”;

~]#chown -R hadoop:hadoop /home/hadoop/    # 法二,用冒号“:”;

示例:

[[email protected]~]# cp /root/abc /home/hadoop/

[[email protected]~]# ll /home/hadoop/         # 查看属主、属组改变前的文件属性;

total 8

-rw-r--r--.1 root root    4 Aug 27 10:31 abc

drwxr-xr-x.2 root root 4096 Aug 27 10:21 skel

[[email protected] ~]# chown -R hadoop:hadoop /home/hadoop/

[[email protected]~]# ll /home/hadoop/         # 查看属主、属组改变后的文件属性;

total 8

-rw-r--r--.1 hadoop hadoop    4 Aug 27 10:31 abc

drwxr-xr-x.2 hadoop hadoop 4096 Aug 27 10:21 skel

说明:chown –R 表示递归修改属主或属组;

6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

答:法一:

~]# grep -i ‘^s‘ /proc/meminfo      # -i表示不区分大小写字符;

法二:

~]# grep ‘^[Ss]‘ /proc/meminfo       # [ ] 表示匹配指定范围内的任意单个字符;

法三:

~]# sed -n ‘/^[Ss]/p‘ /proc/meminfo    # -n 表示仅显示处理后的结果;

法四:

~]# awk ‘/^[Ss]/‘ /proc/meminfo

7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

答:~]# grep -v ‘/sbin/nologin$‘/etc/passwd | cut -d: -f1

说明:

$ 表示行尾锚定,用于模式的最右侧;

grep中的 –v表示不被条件所匹配到的行;

cut中的 –d: 表示以冒号为分隔符,-f1 表示截取第一列的内容;

8、显示/etc/passwd文件中其默认shell/bin/bash的用户;

答:~]# grep ‘/bin/bash$‘/etc/passwd | cut -d: -f1

 

说明:$ 表示行尾锚定,用于模式的最右侧;

cut中的 –d: 表示以冒号为分隔符,-f1 表示截取第一列的内容;

9、找出/etc/passwd文件中的一位数或两位数;

答:~]# grep --color=auto  "\<[0-9]\{1,2\}\>" /etc/passwd

 

说明:--color=auto表示给匹配到的内容着色,此题也可不用添加;

\<:词首锚定,用于单词模式的左侧,也可用 \b;

\>:词尾锚定,用于单词模式的右侧,也可用 \b;

\{m,n\}:匹配前面的字符至少m次,至多n次;此处是\{1,2\};

10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

答:法一:

~]# grep"^[[:space:]]\+" /boot/grub/grub.conf

法二:

~]#egrep "^[[:space:]]+" /boot/grub/grub.conf

法三:

~]#grep -E "^[[:space:]]+" /boot/grub/grub.conf

说明:

    ^ :行首锚定,用于模式的最左侧;

在基础正则表达式中(grep):

  \+:表示匹配其前面的字符至少1次;

   在扩展正则表达式中(egrep,grep -E):

+ :表示匹配其前面的字符至少1次;

11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

答:法一:

~]# grep "^#[[:space:]]\+[^[:space:]]\+"  /etc/rc.d/rc.sysinit

法二:

~]# egrep "^#[[:space:]]+[^[:space:]]+"  /etc/rc.d/rc.sysinit

法三:

~]# grep -E "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/rc.sysinit


说明:

   ^ :行首锚定,用于模式的最左侧;

非;

在基础正则表达式中(grep):

  \+:表示匹配其前面的字符至少1次;

   在扩展正则表达式中(egrep,grep -E):

+ :表示匹配其前面的字符至少1次;

12、打出netstat-tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

答:~]# netstat -tan | grep"LISTEN[[:space:]]*$"

 

说明:* :匹配前面的字符任意次;

$ :行尾锚定,用于模式的最右侧;

13、添加用户bash,testbash, basher, nologin (此一个用户的shell/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

答:默认情况下,bash,testbash,basher,nologin这些用户是已存在的;也可以用下面命令创建:

~]#for user in bash testbash basher nologin;do id $user &>/dev/null ||useradd $user;done;

 

~]# grep"^\([[:alnum:]]\+\>\).*\1$" /etc/passwd

 

说明:\(\):将一个或多个字符捆绑在一起,当作一个整体进行处理;

分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为:\1,\2,\3,. . .

\1:从左侧起,第一个左括号以及与之匹配右括号之间的模式所匹配到的字符;

^ :行首锚定,用于模式的最左侧;

\>\b:词尾锚定,用于单词模式的右侧;

.* :任意长度的任意字符;

[[:alnum:]] 是匹配任意字母;

\+:表示匹配其前面的字符至少1次;

时间: 2024-10-21 20:34:17

23 第四周作业的相关文章

解题报告——2018级2016第二学期第四周作业 (2的幂次方)

解题报告——2018级2016第二学期第四周作业 题目: 描述 任何一个正整数都可以用2的幂次方表示.例如:137=27+23+20. 同时约定方次用括号来表示,即ab 可表示为a(b). 由此可知,137可表示为:2(7)+2(3)+2(0) 进一步:7= 22+2+20   (21用2表示) 3=2+20 所以最后137可表示为: 2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如:1315=210 +28 +25 +2+1 所以1315最后可表示为: 2(2(2+2(0))+

第四周作业

第四周作业 1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. (1)复制/etc/skel目录为/home/tuser1 [[email protected] ~]# cp -r /etc/skel/ /home [[email protected] ~]# mv /home/skel /home/tuser1 [[email protected] ~]# ll -a /home/tuser1/ total 2

android第四周作业笔记

第四周作业要求如下 .....看了一下作业要求后,然后做了几周后.....老师....你这是玩我是吧?!你绝壁在玩我?! 算了,多说无益,来看看我们江大婶的做法吧 首先是MainActivity.java package cn.edu.shu.cs.android.experiment04; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.Activity; import and

2017-2018-1 20155302 第十四周作业

2017-2018-1 20155302 第十四周作业 重新精学第十一章网络编程相关知识 第十一章网络编程因为之前在刘念老师的课上有所涉及有所讲解所以娄老师并没有着重讲这块知识,但我个人认为此章知识非常重要,是我们学习WEB编程和信息安全程序设计的基础,而且这章知识自问之前学习的并不好,并不牢靠,于是借着此次机会更加深入的学习重温一下网络编程方面的知识,好为今后的网络编程道路做好铺垫,学习一章内容两门课都能受益,何乐而不为呢? 首先回答几个问题,这些问题也是之前概念混淆所遗留下来的,此次重新学习

第四周作业之wcPro核心模块的实现

第四周作业之wcPro核心模块的实现 一.基本任务:代码编写+单元测试 小组github地址 https://github.com/SkateCloud/wcPro PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 60 Estimate 估计任务需要多少时间 30 60 Development 开发 120 180 Analysis 需求分析 20 30 Design Spec 生成设计文档 20 30 Design Review 设计复审

软件项目管理第四周作业

第四周软件项目管理作业 1.Fantacy小组站立会议 周五上课之后3:00到3:30,我们4位开了站立会议,主要内容: 首先询问前一周大家所学和所做的内容,之后确定各位本周的任务,准备alpha版本的发布. 杨若鹏:词频统计核心代码实现与下载模块实现 郭又铭:上传模块实现 何美琪:参考java书籍,练习编写代码 藏润强:学习了java的内容,参与了词频统计算法的编写 import java.util.ArrayList;import java.util.Collections;import j

3月23日高项作业(项目进度及成本管理)

3月23日作业 一.项目进度管理1.进度管理包括哪六个过程? 项目进度管理包括:活动定义,活动排序,活动资源估算,活动历时估算,制定进度计划,进度控制. 2.什么是滚动式规划? 滚动式规划是规划逐步完善,近期要完成的工作在工作分解结构最下层详细规划,而计划在远期完成的工作分解结构在WBS的较高层规划. 3.什么是控制账户.规划组合? 控制账户.高层管理人员的控制点可以设在工作分解结构工作组合层次以上选定管理点. 规划组合:规划组合是在工作分解结构中控制账户以下,单在工作组合以上的工作分解结构组成

2017-2018-2 20179317 《网络攻防技术》 第四周作业

网络嗅探技术定义:(1)利用计算机网络接口截获目的地为其他计算机的数据报文(2)监听网络流中所包含的用户账户密码或私密信息等.网络嗅探器(Sniffer):(1)实现嗅探的软件或硬件设备.(2)嗅探获得数据→二进制格式数据报文.(3)解析和理解二进制数据,获取各层协议字段和应用层传输数据→网络协议分析.载波侦听/冲突检测(CSMA/CD)技术:(1)载波侦听是指在网络中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲.如果空闲,就传输自己的数据.如果信道被占用,就等待信道空闲

第四周作业(汇总)

本周作业: 1.对四则运算软件需求的获取方式进行实践,例如使用调查问卷访问相关关系人等. 答: 本次是借助“问卷星”网站来发布问卷进行调查的.问卷地址:https://sojump.com/jq/9942880.aspx 本次问卷针对学生.家长和老师三个对象进行调查,对 四则软件进行需求分析.问卷调查结束后,问卷星还提供数据分析服务. 2.采用四象限法将你小组的四则运算软件的需求功能进行分类.阐述其优势与不足. 3.尝试把四则运算软件需求进行分解,变为每个小组成员可执行的积压工作项,分配这些工作