项目二任务六 任务七 任务八

任务六-管理Linux系统的文件权限

第1步:认识文件权限说明

执行【ls -l】或【ls -al】或【ll】命令后显示的结果

项目二任务六 任务七 任务八

    第一个字符一般用来区分文件和目录: d表示是一个目录,事实上在ext2(s.目录是。个特殊的文件。一表示这是一个普通的文件。1表示这是一个符号链接文件,实际上它指向另一个文件。b.c 分别表示区块设备和其他的外围设备,是特殊类型的文件。

    第2--10 个字符是用来表示一般权限,每个为一组,左边3个字符表示所有者权限,中间个字符表示与所有者同一组的用户的权限,右边个字符是其他用户的权限。这3个一组共个字符,代表的意义如表所示:

    每个目录都有自己的专属目录,即家目录,通常集中放置在/home目录下,这些专属目录的默认权限为rwx------,表示目录所有者本身具有所有权限,其他用户无法进入该目录。执行【mkdir】命令所创建的目录,其默认权限为rwxr-xr-x用户可以根据需要修改目录的权限。

    我们把r,w,x分别用数值421来表示,权限数字之和即可代表对应的权限如下:r:对应的数组4w:对应的数值2x:对应的数值1-:对应的数值0rwx合起来就是4+2+1=7,一个rwxrwxrwx的权限全开放的文件,数值为777


    第2步:使用【chmod】命令改变文件或目录的访问权限 在文本模式下,可执行【chmod】 命令改变文件和目录的权限。

chmod 777 123.txt】把123.txt 文件的权限设置为777

chmod 777 /home/user]仅把/home/ user 目录的权限设置为rwxrwxrw

chmod -R 777 /home/ user】将整个/home/user 目录与其中的文件和子目录的权限都设置为rwxrwxrwx 

chmod u==rwx,g==rx,o==rx 123.txt】把123.txt 文件设置为755 的权限。

这里的u=rwx代表user(文件的拥有者)的权限等于rwx,g=rx代表group(所属组)的权限等于rx,o=rx 代表other(其他人)的权限等于rx

项目二任务六 任务七 任务八

第3步:更改文件的所有者以及所属组

 文件与目录的权限可以改变,使用【chown】命令还可以改变其所有者及所属用户组。          

 使用【touch 123.txt】命令创建一个文件后再执行【ls -l】或【ll】命令查看文件的情况


项目二任务六 任务七 任务八

从图中看出,123.txt文件的所有者为root,所属用户组为root。执行下面命令,把123.txt文件的所有权转移到用户yhy

项目二任务六 任务七 任务八

chown yhy 123.txt】把123.txt文件的拥有者改为yhy用户。

ls -l】查看文件的详细信息。

 要改变所属组,可使用【chownyhy 123.txt】命令把123.txt文件的所属组改为yhy,然后使用【ls -l】命令查看文件的详细信息

项目二任务六 任务七 任务八

要修改目录的权限,使用-R参数就可以了,方法和前面一样

除了可以通过【chown】命令改变文件的拥有者以及所属组外,还可以通过【chgrp】命令改变文件的所属组

chgrp yangs /ect/123.txt】修改/etc/a.txt属组为yangs

chmod yhy.zck a.txt】或【chmod yhy:zck a.txt】把a.txt文件的拥有者改为yhy,所属组改为zck

项目二任务六 任务七 任务八

第4步:认识umask 

默认的权限可用【umask】命令修改,用法非常简单,只需执行【umask 777】命令,便代表屏蔽所有的权限,因而之后建立的文件或目录,其权限都变成000,依此类推

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

在图中当执行【umask 777】命令后,再建立的文件夹的权限为000

通常/root账号搭配【umask】命令的数值为022027077,普通用户则是采用002,这样所产生的权限依次为755750700775。用户登录系统时,用户环境就会自动执行【umask】命令来决定文件、目录的默认权限。

第5步:识别特殊权限

Linux 引人suid,sgid.sticky 种特殊权限,能够更加方便、有效和安全地控制文件。

在一个目录或文件上加人suid 特殊权限时,如果原来目录或文件的属主具有x(执行)权限,就会用小写的s

来替代x,如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替x。同样sgidstickysuid相同。

   如果在一个文件或目录上加入sticky权限时,若原文件或目录的其他用户有x权限时,就用小写t代替x;如果没有就用大写T来代替x

   可以用chmod的字符或数字的方式修改特殊权限

项目二任务六 任务七 任务八


项目二任务六 任务七 任务八

从图的操作结果来看,对于test1这个文件、属组、其他人都没有执行权限,其权限用数字表示为644,通过【chmod 7644 test1】命令都加上特殊权限,然后再通过【ll】命令查看,发现属主、属组、其他用户的执行权限变为SST

   对于test2这个文件,属主、属组、其他人都有执行权限,其权限用数字表示为755,通过【chmod 7755 test1】命令都加上特殊权限,然后再通过【ll】命令查看,发现属主、属组、其他用户的执行权限变为sst


第6步:识别文件颜色

Linux中文件名颜色不同,代表文件类型不一样。具体如下:

浅蓝色:表示链接文件;

灰色:表示其他文件;

绿色:表示可执行文件;

红色:表示压缩文件;

蓝色:表示目录;

红色闪烁:表示链接的文件有问题了;

黄色:表示设备文件,包括blockcharfifo

用【dircolors -p】命令可以看到默认的颜色设置,包括各种颜色和“粗体”,下画线,闪烁等的定义。

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

touch a. txt】创建的一般文件,文件颜色变为白色。

chmod 755 a. txt】增加可执行权限后,文件颜色变为绿色。

ln /etc/abc. txt 345. txt】执行该命令后,文件颜色变为天蓝色(建立 345. txt/etc/abc.txt 345.txt的快捷方式)。

项目二任务六 任务七 任务八

第7步:总结常用的几个命令【chmod u+x,g-x,o=x test】所有者加上执行权组成员减少执行权限,其他成员设置为执行权限。

chmod -R 766 . /】修改当前目录权限,要求里面的所有文件和文件夹的权限修改为766.

chown user1G3 zip.zip】修改zip.zip的所有者为user1,所有组为G3

umask】查看当前umask参数。

项目二任务六 任务七 任务八

touch /home/dir1】在/home目录下创建新目录dir1。

ll /home/dir1】显示目录dir1的详细信息,记录目录的权限信息。

umask 066】改变umask参数为066

chmod g+w /home/dir1】为dir的同组用户增加写权限。

chmod 755 /home/dir1】改变file1的文件权限为755

项目二任务六 任务七 任务八



任务七 管理rpm软件包与压缩包

子任务一   管理rpm软件包

第一步:查询rpm软件是否已经安装

通过【rpm -q 软件包名】命令查看,具体命令如下:

【rpm -qa | grep tomcat4】查询已经安装的tomcat的所有套件。

【rpm -qip example。rpm】查询example.rpm安装包的信息。

【rpm -qif /bin/df】查询/bin/df文件所在安装包的信息。

项目二任务六 任务七 任务八

【rpm -qif /bin/df】查询/bin/df文件所在安装包中的各个文件分别被安装到哪个目录下。

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

第二步:安装rpm软件包

【rpm -i example.rpm】安装example.rpm包。

【rpm -iv example.rpm】安装example.rpm包并在安装过程中显示正在安装的文件信息。

【rpm -ivh example.rpm】安装example.rpm包并在安装过程中显示正在安装的文件信息及安装进度。

项目二任务六 任务七 任务八

第三步:升级rpm软件包

【rpm -U example.rpm】example.rpm软件包。

【rpm -Uvh example.rpm】加参数v显示升级时详细信息,加参数h显示安装进程。

项目二任务六 任务七 任务八

第四步:卸载rpm软件包

【rpm -e tomact4】卸载tomact4软件包。

【rpm -e --nodeps】命令强制卸载。

项目二任务六 任务七 任务八

第五步:熟悉rpm的其他附加命令

【rpm -e --nodeps vsftpd】忽略依赖关系并继续删除vsftpd软件包。

【rpm -i --nodeps vsftpd】忽略依赖关系并继续安装vsftpd软件包。

【rpm -i --requires vsftpd】显示该安装包的依赖关系并安装vsftpd软件包。

【rpm -i --force vsftpd】强制安装vsftpd软件包。

项目二任务六 任务七 任务八

子任务二   管理压缩软件包

第一步:管理tar软件包

【tar cvf aa. tar aa. txt】建立一个tar包

【tar xvf aa. tar】解压一个tar包。

【tar cvfz aa. tar. gz aa. txt】建立一个tar.gz包。

项目二任务六 任务七 任务八

第二步:管理zip包

【zip yhy. zip yhy. txt】压缩yhy.txt文件为yhy.zip。

【zip -r test. zip./*】将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件。

项目二任务六 任务七 任务八

【zip test2.zip test/*】打包目录。

项目二任务六 任务七 任务八

【zip -d yhy. zip yhy. txt】删除压缩文件yhy.zip中的yhy.txt文件。

【zip -d yhy. zip yhy/ln.log】删除打包文件目录下的文件ln.log。

【zip -m yhy1.zip yhy1.txt】向压缩文件yhy1.zip里添加yhy.txt文件。

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

【zip yhy3.zip yhy3s/* -x yhy3s/ln.log】压缩文件时排除ln.log文件。

项目二任务六 任务七 任务八

第三步:解压zip包

【unzip yhy. zip】将压缩文件yhy.zip解压到当前目录。

【unzip -n yhy.zip -d /tmp】将压缩文件yhy.zip在指定目录/tmp下解压,如果已有相同文件存在,要求【unzip】命令不覆盖原先的文件。

【unzip -o test. zip -d tmp/】将压缩文件test.zip在指定目录下tmp下解压,如果已有相同文件存在,要求【unzip】命令覆盖原先文件。

【unzip -v yhy.zip】查看压缩文件但不解压。

【unzip a.zip】解压一个zip包。

项目二任务六 任务七 任务八

第四步:gzip和gunzip等其他的压缩软件以及常用命令

【gzip -d a. gz 3. tar.gz】解压一个gz包。

【tar xvzf abc.tar.gz】解压一个tar.gz包。

【gunzip abc.tgz】解压一个tgz包。

【tar xvzf a.tar.z】解压一个tar.z包。

项目二任务六 任务七 任务八

【bunzip2 b. txt.bz2】解压一个bz2包。

【find / -name “*.zip”】将系统中所有的.zip文件显示出来。

【find / -name “*.gz”|wc -1|】查找系统中有多少个.gz文件,并统计数量。

【mkdir /home/dir1 dir2 dir3】在家目录创建3个目录。

【touch /home/dir1/file1 /home/dir1/file2 /home/dir1/file3】分别在新建目录里创建file1,file2,file3文件。

项目二任务六 任务七 任务八

【zip -q -r /root/ysl.zip/root/*】将家目录下所有文件(不包括目录)压缩成文件ysl.zip。

【zip -m ysl.zip install.log】将/root/install.log添加到ysl.zip中。

项目二任务六 任务七 任务八

【unzip -v ysl.zip】显示ysl.zip中包含的文件信息。

项目二任务六 任务七 任务八

【mkdir /tmp/unzip-ysl】建立unzip-ysl目录。

【unzip ysl.zip -d/tmp/unzip-ysl】将ysl.zip解压至/tmp/unzip-ysl下。

【zip -r /root/ys2.zip /root/*】将家目录下所有文件(包括目录)压缩成文件ys2.zip。

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

【mkdir /tmp/unzip-ys2】建立unzip-ys2目录

【unzip ys2.zip -d /tmp/unzip-ys2】将ys2.zip解压至/tmp/unzip-ys2目录下。

【tar -czvf file.tar.gz dirl/file1】将dirl/file1文件压缩成file1.tar.gz。

【tar -czvf file.tar.gz dirl/file2】将dirl/file2文件压缩成file2.tar.gz。

【tar -czvf file.tar.gz dirl/file3】将dirl/file3文件压缩成file3.tar.gz。

【mkdir /tmp/gunzip】建立gunzip目录。

【cp dirl/file1.gz dirl/file2.gz dirl/file3.gz /tmp/gunzip】复制压缩文件到新建的目录中。

【gzip -dv /tmp/gunzip/*】压缩gunzip目录下的所有文件。

项目二任务六 任务七 任务八



任务八   YUM源的配置与软件的YUM安装

子任务一   配置本地YUM源。

第一步:查看系统默认安装的YUM

【rpm -qa yum】查看安装的YUM主程序。

【rpm -qa | grep yum】查看安装的YUM相关程序。

项目二任务六 任务七 任务八

第二步:挂载系统安装光盘。

把光盘放入光驱,然后使用【mount /dev/cdrom/mnt/】命令把光盘挂在/mnt这个常用的挂载点下。挂载成功后会在/mnt目录下看到光盘中的文件。

项目二任务六 任务七 任务八

第三步:备份默认YUM配置文件

【cd /etc/yum.repos.d】进入YUM配置的目录下。

【ls】会看到CentOS系统默认的4个以repo为扩展名的配置文件。

【mkdir /etc/yum.repos.d/bak】建立备份文件夹。

【mv /etc/yum.repos.d/Cent* /etc/yum.repos.d//bak】备份原来的配置文件,移动原有的配置文件到备份文件夹里。

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

第四步:编辑自己的repo文件

【vim /etc/yum.repos.d/local.repo】新建local.repo文件。

然后按Esc键,后输入【:wq】保存并退出。最后使用【yum list】命令更新YUM配置即查看到配置好的YUM源。

项目二任务六 任务七 任务八

第五步:总结repo文件的格式。

所有的repository服务器设置都应该遵循如下格式

[serverid]

name=Some name for this server

baseurl=url://path/to/repository/

serverid是用于区别各个不同的repository,必须有一个独一无二的名称;name是对repository的描述,支持像$releasever、$basearch这样的变量;baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:

baseurl=url://serverl1/path/repository/

              url://serverl2/path/repository/

              url://serverl3/path/repository/

其中,url支持的协议有http://、ftp://、file://三种。

第六步:使用YUM源安装软件

【yum】命令搭配参数install表示安装指定的软件

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

【yum install -y dialog】通过YUM源安装dialog软件。

【yum install yum-fastestmirror】自动搜索最快镜像插件。

【yum install yumex】安装YUM图形窗口插件。

【yum localinstall -y dialog】安装本地的rpm软件包dialog。

项目二任务六 任务七 任务八

第七步:使用YUM更新软件

【yum】命令搭配参数update表示更新指定的软件,详细使用方法和释义如下。

项目二任务六 任务七 任务八

【yum update -y dialog】更新dialog软件包。

【yum check-update -y dialog】检查是否有可用的更新dialog软件包。

【yum localupdate -y dialog】如果有dialog的新版本,而且也下载到本地,就可以这样本地更新dialog。

【yum update】全部更新YUM源。

项目二任务六 任务七 任务八

第八步:使用YUM卸载软件

【yum】命令搭配参数remove表示卸载或删除指定软件,详细使用方法和释义如下:

【yum remove -y dialog】卸载dialog软件包。

项目二任务六 任务七 任务八

【yum remove|erase package】删除程序包package。

项目二任务六 任务七 任务八

第九步:【YUM】命令的其他选项

【yum list dialog】显示dialog软件包的详细信息。

【yum search dialog】检查dialog软件包的信息

【yum info dialog】显示指定的dialog软件包的描述信息和概要信息。

【yum clean】清理YUM过期的缓存。

【yum shell】进入YUM的shell提示符。

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

【yum resolvedep dialog】显示dialog软件包的依赖关系。

【yum clean headers】清除缓存目录下的headers。

项目二任务六 任务七 任务八

项目二任务六 任务七 任务八

【yum clean oldheaders】清除缓存目录下旧的headers。

项目二任务六 任务七 任务八

第十步:查询已安装的dialog软件

通过YUM安装的软件,依然使用【rpm】命令来查询软件的安装情况。

【rpm -qa dialog】查询dialog软件安装信息。

项目二任务六 任务七 任务八

子任务二     配置国内网络YUM源

第一步:配置上海交通大学YUM源

修改/etcyum.repos.d/CentOS-Base.rep为如下内容。

# CentOS-Base.rep                                #注解

[base]                                                    #YUM源名称

name=CnetOS -sjtu.edu.cn-Base         #描述

baseurl =http://ftp.sjtu.edu.cn/centos/$releasever/os/$basearch/        #YUM源地址

gpgcheck=0

enabled=1                                            #启用该YUM源

项目二任务六 任务七 任务八