一、 Linux用户和组及其权限管理

请根据以下项目要求,写出操作过程和命令并进行相应的验证测试操作。

项目要求:

某软件开发公司即将开始在Linux系统上进行项目的开发。要实现的环境是:公司有软件开发,网络和技术支持3个部门,对应建立3个用户组为project,technology,market。三个部门里各有2个用户,分别为project01,project02;technology01,technology02;market01,market02 。请就公司的具体情况建立相应的目录及访问权限:

  1. 建立每个用户并为其设置登录密码和指定工作主目录。

     

     

  2. 建立每个用户组,将相关用户添加到对应的组中。

     

    

     

   3.每个用户可以访问自己的主目录,并且只有该用户能访问主目录,并具有完全的权限,而其用户无任何权限。

    

    创建时默认权限是700,所以只有拥有者可以访问。

  4. 建立一个project的文件夹,只能由project组的用户读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;

    建立project文件夹,放/home目录下,改变文件夹所属组属性,设定权限

    

  5. 建立一个technology的文件夹,只能由technology组的用户读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;

    建立technology文件夹,放/home目录下,改变文件夹所属组属性,设定权限

    

  6. 建立一个market的文件夹,只能由market组的用户读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;

    

  7. 建立一个pro_tech的文件夹,只能由project和technology组的用户读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;

    

  8.建议一个公共的只读文件夹public,该目录里面的文件只能由project,techenology,market三个用户组读取、增加、删除、修改以及执行,其他用户只可以对该目录进行只读的访问操作。

    

    

二、 Shell程序设计

根据功能要求编写shell程序,要求给出实现代码和运行测试的截图。

  1. 编程实现:从键盘接收输入字符串username作为用户名,再接收一个数字usernum作为用户数,根据输入的内容批量创建用户,并设定所有用户的初始密码为123456。(例如:输入“stu”和“5”,那就自动创建用户stu1,stu2,stu3,stu4,stu5)。

    

    

    

    

     

  2. 编程实现:提示用户输入文件名,查看该文件是否存在。

    

  (1) 若该文件不存在,提示用户:该文件不存在。

    

  (2) 若该文件存在存在,则判断其是普通文件还是目录文件,并给出提示信息,同时显示其访问权限。

    

  (3) 若该文件为目录文件,则在该目录下创建一个新文件,并将当前登录系统的用户总人数和用户信息存入该文件。显示该文件内容。

    

三、 Web服务器搭建和设置

  请完成以下项目要求并给出实现步骤和测试界面图。

  1. 安装Web服务器所需软件,设置服务器的IP为192.168.10.1 。

    

    

  2. 在IP地址为192.168.10.1的Web服务器中,为系统中的xxx用户设置个人主页空间。该用户的主目录为/home/xxx,个人主页空间所在的目录为主目录下的public_html 。(其中xxx为个人姓名拼音的简写)

     

    

    修改/etc/httpd/conf.d/userdir.conf的内容

     

    

    

    

  3. 设置个人主页空间只有输入合法的用户名和密码才能被访问,验证的用户名和密码分别为个人姓名的全拼123456

    

    

     

     

   

     

     

  4.再为Web服务器设定另一个IP地址192.168.10.2。利用这两个IP地址192.168.10.1和192.168.10.2分别创建2个基于IP地址的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。

     

    

     

     

    

  5. 对于Web服务器的IP地址为192.168.10.1,创建基于8000和8080两个不同端口号的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。

    建立每个IP对应的文档目录,并建立首页文件index.html

    

    编辑 /etc/httpd/conf/httpd.conf , 添加内容

    

    重启httpd,service httpd restart

    

    

四、 DNS服务器搭建和设置

  请根据以下项目要求,写出具体的设置步骤和方法和功能测试。

  项目背景:

  某企业有一个局域网(192.168.10.0/24)。该企业中已经有自己的网页,员工希望通过域名来进行访问,同时员工也需要访问 Internet 上的网站。该企业已经申请了域名 XXX .com(XXX为每个人的姓名拼音的简写),公司需要 Internet 上的用户通过域名访问公司的网页。现要求在企业内部构建一台 DNS服务器,为局域网中的计算机提供域名解析服务。

  1. DNS服务器管理 XXX .com 域的域名解析(包括正向解析和反向解析)。

    

     

    修改全局配置文件/etc/named.conf

    

    

     

    复制拷贝文件。

    

    添加如下内容。

     

     

     

    创建lxy.com.zone正向区域文件

     

     

    创建192.168.10.zone反向区域文件

     

     

    设置防火墙放行  

    

    重启dns服务

    

  2.  DNS服务器的域名为dns .XXX .com,IP地址为192.168.10.1

    

  3.  同时还必须为客户提供Internet上的主机的域名解析。要求分别能解析以下域名:

     (1) 技术部( jishu. XXX .com:192.168.10.12 )

     

   (2) 市场部( shichang. XXX .com:192.168.10.13 )

     

   (3) 人事部( renshi. XXX .com:192.168.10.14 )

     

Linux综合运用的更多相关文章

  1. Nginx (基于linux)综合

    重启Nginx服务:centos:测试NGINX配置文件是否有效:/usr/local/nginx/sbin/nginx -t 平滑重启:/usr/local/nginx/sbin/nginx -s  ...

  2. Android和Linux应用综合对比分析

    原文地址:http://www.cnblogs.com/beer/p/3325242.html 免责声明: 当时写完这篇调查报告,给同事看了后,他觉得蛮喜欢,然后想把这篇文章修改一下,然后往期刊上发表 ...

  3. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  4. 【资源】C++学习资料 - 逆天整理 - 精华无密版【最新】

    再失效就太无语了,链接都是多份的~~—————————————————基础——————————————C++环境搭建(全套)http://pan.baidu.com/s/1o6y0smY链接:http ...

  5. 一些有用的社区论坛,wiki网站(持续更新)

    1. IBM开发者(IBM developerwork): 这是一个比较全面的网站,上面有关于linux 管理.linux内核设计.存储等各个方面的知识,内容广泛,参考价值很高 http://www. ...

  6. 【Linux程序设计】之环境系统函数综合实验

    这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的.贴出来纯粹是聊胜于无. 实验题目:Linux环境下系统函数综合实验 实验目的:熟悉并掌握Linux环境下数学函 ...

  7. 基于ARM9和嵌入式Linux系统的多功能综合通信控制系统的框架

    基于ARM9硬件平台和嵌入式Linux系统的多功能综合通信控制系统的框架设计及各模块的功能.系统采用符合POSIX.1标准的C语言编写,实现了对下位机传送数据帧的采集.分析和存储,并能根据上位机的配置 ...

  8. linux内核分析综合总结

    linux内核分析综合总结 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核分析 ...

  9. Linux基础综合练习

    Linux基本操作综合练习 1.建立用户zhangsan,密码使用明文123456: 命令:useradd -p 123456 zhangsan 解释: 参数 -p 添加明文密码 useradd添加用 ...

随机推荐

  1. 8 种常见 SQL 错误用法

    点击上方"开源Linux",选择"设为星标"回复"学习"获取独家整理的学习资料! 1.LIMIT 语句 分页查询是最常用的场景之一,但也通常 ...

  2. 【Azure Developer】使用 Microsoft Authentication Libraries (MSAL) 如何来获取Token呢 (通过用户名和密码方式获取Access Token)

    问题描述 在上一篇博文<[Azure Developer]使用 adal4j(Azure Active Directory authentication library for Java)如何来 ...

  3. css实现气泡提示框三角及css中drop-shadow的使用

    css 做一个弹出气泡,样式怎么设计? 难点: 要实现白色三角型,可以在伪元素before和after上设置一个黑.一个白三角形,白三角形会挡住黑的,从而实现. &::before, & ...

  4. 如何基于 ZEGO SDK 实现 Android 通话质量监测

    功能简介 在进行视频通话过程中,用户有时候会出现网络不好的情况,比如在进行多人视频通话或者多人唱歌时,我们需要实时显示用户的网络质量. 示例源码 参考 下载示例源码 获取源码. 相关源码请查看 &qu ...

  5. mybatis plus 增删改自动填充字段值

    说明 本文实现以下需求效果 创建数据时自动填充 createUserId 和 createTime 更新数据时自动填充 updateUserId 和 updateTime(每次修改都自动填充新的 up ...

  6. Java 线程常用操作

    继Java线程生命周期继续学习Java线程其他常用操作 线程的常用操作 设置线程名字:setName() 获取线程名称:getName() 线程唯一Id:getId() // 自定义线程名称 Stri ...

  7. git提交时写message的规范

    message规范 angular示例 commit message(提交说明) git commit -m "写一行提交说明" # 跳出文本编辑器,写多行 git commit ...

  8. 论文解读(AGE)《Adaptive Graph Encoder for Attributed Graph Embedding》

    论文信息 论文标题:Adaptive Graph Encoder for Attributed Graph Embedding论文作者:Gayan K. Kulatilleke, Marius Por ...

  9. 前端2CSS

    内容概要 form表单 网络请求方式 CSS简介 CSS查找标签之基本选择器(重要) CSS查找标签之组合选择器(重要) 属性选择器 分组与嵌套 伪类选择器 内容详情 form表单 "&qu ...

  10. MAC NGINX PHP XDEBUG

    1. 安装 homebrew 2. 安装nginx ; 终端运行 brew install nginx: 1)给nginx 设置管理员权限:如果不设置管理员权限,80端口是不能监听的: #这里的目录根 ...