草庐IT

Linux综合运用

Salinger 2023-03-28 原文

一、 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. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  2. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  3. ruby - 如何在 Ruby 中获取 linux 系统信息 - 2

    如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack

  4. ruby - rbenv:在 Linux Mint 上找不到 gem 命令 - 2

    我在LinuxMint17.2上。我最近使用apt-getpurgeruby​​删除了ruby​​。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,

  5. ruby - 在 Linux 上编译 Ruby 1.9.2 所需的先决条件? - 2

    我是Ruby和RoR的新手。我有一个带有Ubuntu镜像的干净Linode实例,我想从源代码编译Ruby而不是使用apt-get。我已经在谷歌上搜索了执行此操作的说明,但经过一些尝试后,当我尝试运行一些教程示例时,我不断收到有关缺少zlib和其他一些包的错误。任何人都可以给我详细的说明(或链接),教我如何在从源代码编译Ruby之前安装必要的必备包吗?我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。提前感谢您的帮助!!! 最佳答案 Thisblogpost涵盖从源代码编译ruby​​所需的包和安装过程;它引

  6. ruby - ruby 中是否有针对 ISO 8601 的综合库/模块? - 2

    是否已经实现了ISO8601的所有日期、时间、持续时间和间隔使用情况?ruby标准?我的意思是类似于类的东西,您可以在其中设置和获取详细信息,例如年、月、日、星期几、星期、小时、分钟、is_duration?、has_recurrence?等等也可以设置并导出到字符串? 最佳答案 require'time'time=Time.iso8601Time.now.iso8601#iso8601stringtime.year#=>Yearofthedatetime.month#=>Monthofthedate(1to12)time.day#

  7. Linux网络编程必备的POSIX API的细节 - 2

    目录POSIXAPI大集合五元组三次握手的过程,内核协议栈分析listen函数DDOS攻击,洪水攻击DDOS攻击的应对措施数据发送 怎么保证顺序?如何保证包地顺序到达(序号+确认应答机制+重传)TCP断开连接的过程问题1.大量的CLOSE_WAIT+FIN_WAIT2是为啥?time_wait状态存在的原因?POSIXAPI大集合五元组(sip,sport,dip,dport,protocol)三次握手的过程,内核协议栈分析内核协议栈中是有内核数据结构的.  我们send/write数据,都是先发送到内核协议栈中,然后由内核协议栈封装发送到物理介质中传输到对端的对端的接收过程也是经有内核协议栈

  8. Linux export 命令及如何删除export设置的环境变量 - 2

    背景:Linuxexport命令用于设置或显示环境变量。在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。语法:export[-fnp][变量名称]=[变量设置值]参数说明:-f 代表[变量名称]中为函数名称。-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。-p 列出所有的shell赋予程序的环境变量。实例:列出当前所有的环境变量#export-p//列出当前的环境变量值定义环境变量赋值#exportMYENV=7//定义环境变量并赋值添加环境变量:默认保存在

  9. Linux操作系统CentOS7安装Nginx[详细版] - 2

    Nginx安装1.官网下载Nginx2.使用XShell和Xftp将压缩包上传到Linux虚拟机中3.解压文件nginx-1.20.2.tar.gz4.配置nginx5.启动nginx6.拓展(修改端口和常用命令)(一)修改nginx端口(二)常用命令1.官网下载Nginxhttp://nginx.org/en/download.html这里我下载的是1.20.2版本,大家按需下载对应稳定版即可2.使用XShell和Xftp将压缩包上传到Linux虚拟机中没有XShell可以参考《Linux操作系统CentOS7连接XShell》3.解压文件nginx-1.20.2.tar.gz1)检查是否存

  10. 【Linux】初识Linux --指令Ⅰ - 2

    Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法,Linux…感兴趣就关注我吧!你定不会失望。目录1.ls显示当前目录下的文件内内容2.pwd-显示用户当前所在的目录3.cd-改变工作目录。将当前工作目录改变到指定的目录下1.cd-回到上一次待的工作空间2.cd..返回上一层目录1.相对路径:cd../aurora2.绝对路径:cd/home/aurora/lesson1/aurora3.cd~进入用户家目录4.cd/进入root目录4.mkdir-新建目录5.rmdir/rm-删除1.rmdir删除空文件夹2.rm删除1.rm-f2.rm-i3.rm-r1.ls显示当前目

随机推荐