系统已安装,略。
任务二 认识Linux的文件系统
子任务一 熟悉Linux系统的目录结构
第一步:理解Linux系统目录的结构树
第二步:对比理解Linux系统的文档结构
有一块硬盘,分成了四个分区,分别是/、boot、/usr和windows下的FAT。
在linux系统里面,分区被称作“挂载点”,简单明了的说,“挂载点”意思就是:把一部分硬盘容量,“分”成一个文件夹的形式,用来干什么事情。这个文件夹的名字,就叫做:“挂载点”。所以,和Windows有着本质上的超级大的区别,你在任何linux发行版系统里面,绝对不会看到C盘,D盘,E 盘这样的,你能看到的,只有“文件夹”形式存在的“挂载点”。
第三步:列出Linux下一些常用目录的功能
/bin 该目录中存放Linux的常用命令。
/boot 该目录默认下存放的是Linux的启动文件和内核。
/cdrom 该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下。
/dev 该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。
/etc 该目录存放系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文
件、设备配置信息、设置用户信息等。
/home 如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该
用户的主目录。
/lib 该目录用来存放系统动态链接共享库,几乎所有的应用程序都会用到该目录下的共享库。
/media:提供挂载(mounting)和自动挂载设备的标准位置,如远程文件系统和可移动介质(目录名为cdrecorder、floppy等)。
/mnt 临时将别的文件系统挂在该目录下。
/opt 第三方软件在安装时默认会找这个目录,所以你没有安装此类软件时它是空的,但如果你一旦把它删除了
,以后在安装此类软件时就有可能碰到麻烦。
/proc 可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里。
/root 如果你是以超级用户的身份登录的,这个就是超级用户的主目录。
/sbin 该目录用来存放系统管理员使用的管理程序。初始化的内存盘。在linux内核启动前,boot loader会将存储介质(一般是硬盘)中的
/sys:一个类似与/proc的文件系统,在Linux2.6内核中最新出现的,包含的文件用于获得硬件状态并反映内核看到的系统设备树。它使用了/proc中的很多帮助。
/tmp 用来存放不同程序执行时产生的临时文件,该目录会被系统自动清理干净。
/usr 用户的应用程序和文件几乎都存放在该目录下。
/var 该目录存放那些经常被修改的文件,包括各种日志、数据文件。
/initrd 它的英文含义是boot loader initialized RAM disk,就是由boot loader,文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的initrd文件系统。
子任务二 了解Linux系统的路径规则
linux系统中,路径就是一个文件存在的地方,如果告诉系统的这个路径,那么系统就可以找到这个文件,在linux中,存在着绝对路径和相对路径。
第一步:理解绝对路径
绝对路径:路径的写法一定是由根目录“/”写起,例如/usr/local/mysql就是绝对路径。
第二步:理解相对路径
相对路径:路径的写法不是由根目录“/”写起,例如,用户进入到/然后在进入到home,命令为【cd /home】,然后再使用【cd/test】命令,此时用户所在的路径为/home/test。第一个cd命令后/home,第二个cd命令后跟test,并没有/,这个test是相对/home目录而言的,所以叫相对路径。
子任务三 掌握Linux系统的基本命令
对于一个Linux新手来说,使用Linux命令来帮助执行任务是一个最基本的要求。下面这些命令是每一个Linux系统管理员都必须掌握的基本命令。
第一步:使用【pwd】命令打印当前所在目录
在Linux 系统中,只显示当前工作的目录,没有显示完整的路径,使用[pwd]命令打印当前完整的工作路径。
第二步:使用【cd】命令进入其他文件目录
【cd】命令是Linux 中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用【cd】命令基础之上的。所以,学习Linux 常用命令,首先就要学好【cd】命令的使用方法与技巧。
[cd /usr local]进人到usr/local 目录。
[pwd]打印当前工作目录。
[ cd./]还是当前目录。
[cd../]进人当前目录的上级目录。
在上面的命令中,首先进入/us/local/ibV目录下,然后再进人./,其实还是进人到当前目录下,用pwd]命令在看当前的工作路径, 没有发生变化,然后再进人../则是进人到/usy local 目录下,即/usr/local/ib 目录的上一级目录.
路径[./]指的是当前目录../指的是当前目录的上一目录。
第三步: 使用[Is]命令显示文件信息
ls命令是列表的命令,在[]命令后加上就是以长列表的形式显示出来,内容较
[ls]命令更加具体。
[ls] 口或[]显示当前文件夹内文件详细信息。
[ls]显示当前文件夹内隐藏文件。
[Is~]显示用户宿主目录的文件信息
[ls]命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,下面我们就来一起看看ls的用法
英文全名:List即列表的意思,当我们学习某种东西的时候要做到知其所以然,当你知道了这个东西大概是个什么了以后你的思维就会联想到很多的东西学习的就会很快。
【ls -l 】列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
【ls -a】 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。
【ls ~】显示用户宿主目录的文件信息。
第四步:使用【more】或【less】命令分屏显示文件与目录
【more】以一页一页的形式显示文件。
【less】命令作用与【more】命令相似,都可以用来浏览文字档案的内容。
【j】以行为单位向下;【k】以行为单位向上。
【ls/etc/more】让/etc中文件与目录分屏显示,只能向下查看。
【ls/etc|less】让/etc中文件与目录分屏显示,可以上下查看。
【less /etc/squid/squid.conf】分屏显示squid.conf中的内容。
第五步:使用【cat】命令查看文件内容
【cat】通常用于查看某个文件的内容,主要有三大功能:
(1)一次性显示整个文件:【cat filename】。
(2)从键盘创建一个文件:【cat>filename】。
(3)将几个文件合并为一个文件:【cat lilel file2>file】。
【cat/etc/passwd】查看文件passwd文件中的内容。
【cat /etc/passwd |less】查看文件passwd文件中的内容,可以上下移动,按q键退出。【cat/etc/fstab】查看/etc/fstab文件中的内容。
[cat /etc/fstab]查看/etc/fstab文件内容
第六步:使用【mkdir】命令创建目录
【mkdir yhy】在当前路径中创建yhy目录。
【mkdir yhy1 yhy2 yhy3】在当前路径中同时创建yhy1、yhy2、yhy3共三个目录。
第七步:使用【touch】命令创建文件
【touch】命令用于创建的空文件或者修改已有的文件的时间戳,常用方法如下。
【touch fileA】如果fileA存在,使用【touch】指令可更改这个文件或目录的日期时间;如果其不存在,指令会在当前目录下新建一个空白文件fileA。
【touch file1 file2】在当前目录下创建文件file1和file2两个。
【touch/home/file1 file2】在/home目录下创建两个文件。
【touch -t 201601142234.50 log.log】设定文件的时间戳。
第八步:使用【rmdir】命令删除目录
【rmidr/tmp/test/yhy】删除yhy目录。
【ls/tmp/test】查看目录下的文件及目录。
【mkdir-p d1/d2/d3】依次建立文件夹。
【rmdir-p d1/d2/d3】依次删除文件夹。
rmdir 只有一个选项-p,与【mkdir】命令类似,这个参数的作用是将上级目录一起删除。
如果一个目录中还有目录,那么直接用【rmdir】命令删除该目录时,会提示该目录不为空,不能删除,如果非要删除不为空的目录,可以用【rm】。
第九步:使用【rm】命令删除目录或文件
【rmdir】命令只能删除目录但不能删除文件或非空目录,要想删除一个文件,则要用【rm】命令。
【rm-f/root/dir2/myfile1】使用绝对路径删除文件。
【rm-i/root/dir2/myfile2】-i当删除文件时会提示用户是否真的删除,如果删除,输入【y】,否则输入【n】。
【rm-rf/root/dir1】当删除目录时加-r选项。
【rm-rf/root/dir2】删除dir2子目录,包括里面的文件。
第十步:使用【cp】命令复制文件
【cp】命令用于复制文件或目录。
【cp/etc/grub.conf./】将/etc/grub.conf文件复制到当前目录中。
【cp/etc/passwd/root/passwd.bak】复制文件,并重命名。
【cp/root/*.mp3/soft/ab】复制扩展名为mp3的所有文件到/soft/ab目录中。
【cp-r-f/root/soft/ab】复制一个目录到另一个目录,同时删除前面已经存在的目录。
【cp file1 file2 dir1】将file1和 file2复制到dir1中。
第十一步:使用【mv】命令移动或重命名文件/目录
【mv】用来移动文件或将文件改名。
【mv1.txt2.txt3.txt test3】移动文件。
【mv-t/opt/soft/test/test4/1.txt2.txt3.txt】移动文件。
【mv file1 file2 dir2】将文件从当前目录移动至dir2。
【mv/dir2/file1/dir2/myfile1】将文件改名为myfile1。
【mv/root/abc.jpg/etc/kk】将文件移动到/etc文件夹下。
【mv at.doc abc.doc】将文件at.doc改名为abc.doc。
【mv kk.zip.kk.zip】将文件隐藏。
【mv .kk.zip kk.zip】将文件除去隐藏
【mb-i1.txt 2.txt】将文件改名,如果文件已存在,则询问是否覆盖。
第十二步:重启与关机
在Linux下一些常用的关机/重启命令有【shutdown】、【halt】、【reboot】及【init】,它们都可以达到重启系统的目的,但每个命令的内容的内部工作都是不同的。
【reboot】重启系统。
【shutdown-r now】立刻重启(root用户使用)。
【shutdown-r 10】过十分钟自动重启。
【shutdown-r 20:35】在时间为20:35时重启。
关机命令
【halt】立刻关机。
【poweroff】立刻关机。
【shutdown-h now】立刻关机(root用户使用)。
【shutdown-h 10】十分钟后自动关机。
第十三步:查看系统相关状态
(1)【df】命令显示磁盘占用空间。
(2)【free】命令用于显示系统内存的使用情况信息。
(3)【cat/proc/meminfo】命令查看内存使用的详细信息。
(4)【cat/procuinfo】命令查看CPU信息。
第十四步:熟悉以下常用命令及功能
(1)【ls-al/root>file1】将用户root的家目录的所有目录列表保存至文件file1中。
(2)【ls-al/bin|grep in>file2】将文件名中包含in字符的文件名保存至文件file2中。
(3)【cat file1 file2】同时显示文件的内容。
(4)【cat file1 file2>file3】将文件1、2中的内容合并成新文件3。
(5)【head file3】显示文件file3的前十行内容。
(6)【head 15 file3】显示文件的前十五行内容。
(7)【tail 3 file3】显示文件的后三行内容。
(8)【wc-lw file1】统计文件中的行数、字数。
(9)【grep-c root file1】统计文件中包含root的行数。
(10)【find.-name“file*”】查找文件名中包含了file的文件。
(11)【ls-1|grep-c“file”】查找当前目录中是否有文件名包含file的文件。
(12)【find/bin-size-1000c>myresult】查找是否有1000字节以下的文件,并将查找结果保存。
(13)【find/bin-size100-print】查找是否有100块以上的文件。
(14)【find/-user test】查找是否有用户test创建的文件。
(15)【cp/config*/bak】将所有文件名中包含了字符config的文件复制到目录/bak中。
(16)【cut-d:-fl/etc/passwd】提取用户名,统计个数,并将结果保存至文件中。
(17)【ls/bin-al|wc-l】统计/bin目录下的文件目录项数。
(18)【ls-al|per-pi-e's/rootaz/g'】将用户当前目录下的文件目录显示列表中的所有root替换成wqaz,并显示替换结果。
子任务四 挂载外部文件到Linux系统中
第一步:理解挂载的概念
Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。否则系统会提示。所以挂载就是把目录和分区连接起来,Linux的文件系统是树形的,安装的系统必须是在/ 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。 我们安装系统的时候已经把分区1挂载到 / 目录下了, 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,在任何目录下读写操作实际都是操作的这个1号分区。如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录。
第二步:使用挂载命令的参数
挂载时使用【mount】命令;命令格式:mount [-t vfstype] [-o options] device dir
其中:
-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。
常用类型有:
Linux最早使用的文件系统:minix
Linux目前常用的文件系统:ext4、ext3、ext2
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
OS/2文件系统常用:hpfs
自动检测文件常用:auto
OS/2文件系统常用:hpfs
第三步:使用挂载命令选项
-o,指定挂载文件系统时的选项
ro :采用只读方式挂接设备
rw :采用读写方式挂接设备
user:可以让一般用户挂载设备
nouser:使用一般用户无法挂载.
使用实例:
Windows 7系统挂载在hdal分区上,同时还挂载光盘和U盘。
【mkdir/mnt/winc】建立挂载点/mnt/winc。
【mount-t ntfs/deval /mnt/winc】挂载Windows 7的hdal分区
【mkdir/mnt/usb】建立挂载点/mnt/usb。
【mount-t vft /dev/sdal/mnt/sub】挂载U盘。
【mkdir/mntrom】建立挂载点/mntrom。
【mount-t iso9660/devrom/mntrom】挂载光盘。
经过上述操作现在就可以进入/mnt/winc等目录读写这些文件系统了。
要保证挂载U盘以及光盘的命令不出错,首先要确保U盘存在以及光驱里有光盘。
子任务五 掌握Linux系统的自动挂载
在给系统新增了磁盘以后,如果重启系统我们会发现找不到存储了;但是使用fdisk -l可以看到存储空间,说明存储还在。这是因为关机后,挂载已经自动卸载掉了。我们当然可以手动再次将其挂载,但如果每次重启都需要这样手动操作会很不方便;因此我们可以利用自动挂载,这样系统每次开机的时候就可以自动将磁盘挂载上去了。
自动挂载可以有两种方式。
1.修改/etc/fstab文件
用vim打开 fstab文件,可以看到文件格式如下:
可以很明显的看到文件有6列。
第一列可以是实际分区名,也可以是实际分区的卷标(Lable)。
如果磁盘是SATA接口,且有多个磁盘,则每个磁盘被标记为 /dev/hda 、 /dev/hdb、 /dev/hdc 等以此类推;而每个磁盘的分区被标记为 /dev/hda1、 /dev/hda2等。
如果磁盘是SCSI类型,则多个磁盘会被分别标记为 /dev/sda、/dev/sdb等等。分区同理。
如果使用标签来表示,则格式如:1 LABLE=/
第二列是挂载点。
挂载点必须为当前已经存在的目录,为了兼容起见,最好在创建需要挂载的目标目录后,将其权限设置为777,以开放所有权限。
第三列为此分区的文件系统类型。
Linux可以使用ext2、ext3等类型,此字段须与分区格式化时使用的类型相同。也可以使用 auto 这一特殊的语法,使系统自动侦测目标分区的分区类型。auto通常用于可移动设备的挂载。
第四列是挂载的选项,用于设置挂载的参数。
常见参数如下:
auto: 系统自动挂载,fstab默认就是这个选项
defaults: rw, suid, dev, exec, auto, nouser, and async.
noauto 开机不自动挂载
nouser 只有超级用户可以挂载
ro 按只读权限挂载
rw 按可读可写权限挂载
user 任何用户都可以挂载
请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto
第五列是dump备份设置。
当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;
第六列是fsck磁盘检查设置。
其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。
本文需将逻辑卷lv_study挂载到 /lvm_study ,文件系统为ext4 格式,不进行dump备份以及开机磁盘检查。
/dev/mapper/vg_study-lv_study /lvm_study ext4 defaults 0 0
将上面的命令添加进fstab后,为了避免可能的错误,我们可以使用mount -a 命令来检验编辑的内容是否有错。执行mount -a命令后,用df -h查看会发现磁盘已经挂载成功,说明输入没有错误。下次重启的时候系统就可以自动进行挂载了。
实例图如下所示:
通常用户自动挂载的分区,第六列值应设置为2而不应该是1 。
注意:(1)根目录必须优先于其他挂载点
(2)挂载点必须为已经存在的目录
(3)卸载时必须保证当前磁盘没有发生读写操作
2.修改/etc/rc.d/rc.local文件
将mount命令添加进rc.local文件是另一种实现开机自动挂载的方式
mount /dev/mapper/vg_study-lv_study /lvm_study
任务三 使用vim编辑器配置网络
网络正常使用,配置过程省略。
任务四 root账户密码的破解与保护
【子任务一】 进入单用户模式并修改root账户密码
方式一、使用a操作按键进入单用户模式(操作简单)
第1步:进入kelnel编辑界面
开机进入GRUB,在读秒的时候,按两次a键,编辑kernel参数。
第2步:编辑kelnel启动参数
进人kernel编辑界面,输人空格后,再输入数字【1】或【single】,以告诉Linux内核后续的启动过程需要进人单用户模式,然后按Enter键即可进入单用户模式。
第3 步: 用【passwd】命令修改root 密码
系统无须密码进人单用户模式,使用【passwd】命令修改root 账户口令。
输人【passwd】命令,然后按Enter键,系统等待输人新的root 密码,输人完成后按Enter 键再次确认输人新的密码,输人完成后按Enter 键即可。需要强调的是,输入密码的时候,是没有任何显示的,因为主机接收到键盘的输人字符后不再输出到显示器上,减少了输入密码的失窃风险。当确认两次密码输入一致后,会看到“successful”即密码修改成功的信息提示。
方式二:使用e操作按键进入单用户模式
第一步:进入kernel选择界面
第二步:进入kernel编辑界面
第三步:编辑kernel启动参数
第四步:进入单用户模式
第五步:用【passwd】命令修改root密码
【子任务二】给单用户模式加密
方式一:明文方式
第一步:打开/boot/grub/grub.conf文件
输入以下命令,使用vim编辑器打开/boot/grub/grub.conf文件
【vim /boot/grub/grub.conf】
第二步:编辑/boot/grub/grub.conf文件
在splashimage这个参数下一行添加:password=密码,如图
保存后重新启动计算机,再次登陆到GRUB菜单页面时就会发现,这是已经不能直接按e键编辑启动标签了,需先使用【P】命令,输入正确的密码后才能对启动标签进行编辑如图
但是我们设置了明文密码也不是很安全。如果他人通过合法途径进入到系统后得到了/boot/grub/grub.conf这个文件的明文密码后仍可以修改GRUB启动标签从而进入单用户模式
方式二:MD5加密方式
第一步:给密码进行MD5加密
在终端中输入【grub-md5-crypt】后按Enter键,这时系统会要求输入两次相同的密码,之后系统便会输出MD5码
第二步:添加MD5密文到/etc/grub.conf文件中
将生成的MD5码密文复制下来,然后编辑/etc/grub.conf文件,在splashimage这个参数下添加一行
password -- md5
保存后重启计算机
第一步:查看Linux系统中的用户
系统中所有的用户存放文件为/etc/passwd,可通过【vim /etc/passwd】命令打开查看。
第二步:查看用户密码以及有效期的文件
用户密码以及有效期的存放文件/etcšadow可通过【vim /etc/šhadow】命令打开查看。【vim /etcšadow】编辑用户密码的存放文件。把user2所在行的第一个冒号与第二个冒号之间的字符删除掉,设置user2的密码为空。
第三步:查看账号所属组文件
/etc/group文件是用户组的配置文件,内容包含用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组,同一用户组的用户之间具有相似的特征。
Linux中每建立一个用户时,同时也建立一个同名的组,此用户默认是加入到此组中。组用户文件存放在/etc/group里面,可以通过【vim /etc/group】命令查看,如图所示:
第一列:用户组名称;
第二列:用户组密码;
第三列:GID,即组ID;
第四列:用户列表,每个用户之间用逗号(,)分割,本字段可以为空,如果为空表示用户组为GID的用户名。
第四步:查看用户组密码文件
通过【vim /etc/gshadow】命令可以查看用户组密码存放文件,每个用户组独占一行,如图所示:
第一列:用户组名称;
第二列:用户组密码,这个段可以是空的或有叹号(!),如果是空的或有叹号(!),表示没有密码;
第三列:用户组管理者,这个字段也可以为空,如果有多个用户组管理者,用“,”号分割;
第四列:组成员,如果有多个成员,用逗号分割。
第五步:建立与删除用户
CentOS中,建立与删除用户的主要命令以及释义如下:
【useradd yhy】新建yhy用户。
【passwd yhy】为yhy用户设置密码,密码输入时无任何显示。
【useradd ybs -d /home/y】新建ybs用户,并指定家目录为/home/y。
【useradd user -d/home/user1】此处可以不加-d参数,因为用户的默认家目录就在/home下与用户名相同的目录。
【useradd user2】增加新用户user2,用户默认家目录为/home/user2。
【userdel yhy】删除用户,但不删除家目录。
【userdel -r ybs】删除ybs用户,并删除用户家目录。
【usermod -l user2 user1】修改用户user1名称为user2。
【usermod -L user2】锁定用户名user2,锁定后user2不能登录。
【usermod -U user2】解锁用户名user2。
【su -user1】root用户切换到普通用户,不需要密码。
【su -root】普通用户切换到root用户,需要root密码。
第六步:建立与管理用户组
CentOS中,建立与管理用户组的主要命令以及释义如下:
【groupsdd grp1】新建用户组grp1。
【groupdel grp1】删除用户组grp1。
【groupmod grp2 grp1】修改用户组名称grp1为grp2。
【gpasswd -a user2 grp2】把用户user2加入到用户组grp2中。
【gpasswd-d user grp2】把用户user2从用户组grp2中删除。
第七步:几个重要的命令补充
有关用户的操作还有以下命令,详细释义如下:
【who am i】显示当前以哪个用户登录。
【w】显示目前登入系统的用户详细信息,包括登录IP地址等。
【who】显示目前登入系统的用户简要信息。
【last】记录每个用户的登录次数和持续时间等信息。
【finger】查找并显示用户信息。
【su user】切换用户但不切换当前目录。
【su -user1】切换用户并切换到user的家目录。
【ntsysv】启动/关闭系统中的服务。
【setup】设置系统运行参数。
第一步:认识文件权限说明
执行【ls -l】或【ls -al】或【ll】命令后显示的结果如图所示:
第一个字符一般用来区分文件和目录: d表示是一个目录,事实上在ext2(s中.目录是。个特殊的文件。一表示这是一个普通的文件。1表示这是一个符号链接文件,实际上它指向另一个文件。b.c 分别表示区块设备和其他的外围设备,是特殊类型的文件。
第2~10 个字符是用来表示一般权限,每3 个为一组,左边3个字符表示所有者权限,中间3 个字符表示与所有者同一组的用户的权限,右边3 个字符是其他用户的权限。这3个一组共9 个字符,代表的意义如表所示:
每个目录都有自己的专属目录,即家目录,通常集中放置在/home目录下,这些专属目录的默认权限为rwx------,表示目录所有者本身具有所有权限,其他用户无法进入该目录。执行【mkdir】命令所创建的目录,其默认权限为rwxr-xr-x用户可以根据需要修改目录的权限。
我们把r,w,x分别用数值4,2,1来表示,权限数字之和即可代表对应的权限如下:r:对应的数组4;w:对应的数值2;x:对应的数值1;-:对应的数值0。rwx合起来就是4+2+1=7,一个rwxrwxrwx的权限全开放的文件,数值为777。
第二步:使用【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。
第三步:更改文件的所有者以及所属组
文件与目录的权限可以改变,使用【chown】命令还可以改变其所有者及所属用户组。
使用【touch 123.txt】命令创建一个文件后再执行【ls -l】或【ll】命令查看文件的情况,如图:
从图中看出,123.txt文件的所有者为root,所属用户组为root。执行下面命令,把123.txt文件的所有权转移到用户yhy,如图:
【chown yhy 123.txt】把123.txt文件的拥有者改为yhy用户。
【ls -l】查看文件的详细信息。
要改变所属组,可使用【chown:yhy 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。
第四步:认识umask
默认的权限可用【umask】命令修改,用法非常简单,只需执行【umask 777】命令,便代表屏蔽所有的权限,因而之后建立的文件或目录,其权限都变成000,依此类推,如图:
在图中当执行【umask 777】命令后,再建立的文件夹的权限为000。
通常/root账号搭配【umask】命令的数值为022、027和077,普通用户则是采用002,这样所产生的权限依次为755、750、700和775。用户登录系统时,用户环境就会自动执行【umask】命令来决定文件、目录的默认权限。
第五步:识别特殊权限
Linux 引人suid,sgid.sticky 这3 种特殊权限,能够更加方便、有效和安全地控制文件。
在一个目录或文件上加人suid 特殊权限时,如果原来目录或文件的属主具有x(执行)权限,就会用小写的s
来替代x,如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替x。同样sgid、sticky和suid相同。
如果在一个文件或目录上加入sticky权限时,若原文件或目录的其他用户有x权限时,就用小写t代替x;如果没有就用大写T来代替x。
可以用chmod的字符或数字的方式修改特殊权限,如图所示:
从图的操作结果来看,对于test1这个文件、属组、其他人都没有执行权限,其权限用数字表示为644,通过【chmod 7644 test1】命令都加上特殊权限,然后再通过【ll】命令查看,发现属主、属组、其他用户的执行权限变为S、S、T。
对于test2这个文件,属主、属组、其他人都有执行权限,其权限用数字表示为755,通过【chmod 7755 test1】命令都加上特殊权限,然后再通过【ll】命令查看,发现属主、属组、其他用户的执行权限变为s,s,t。
第六步:识别文件颜色
在Linux中文件名颜色不同,代表文件类型不一样。具体如下:
浅蓝色:表示链接文件;
灰色:表示其他文件;
绿色:表示可执行文件;
红色:表示压缩文件;
蓝色:表示目录;
红色闪烁:表示链接的文件有问题了;
黄色:表示设备文件,包括block、char、fifo。
用【dircolors -p】命令可以看到默认的颜色设置,包括各种颜色和“粗体”,下画线,闪烁等的定义。
【touch a. txt】创建的一般文件,文件颜色变为白色。
chmod 755 a. txt】增加可执行权限后,文件颜色变为绿色。
【ln /etc/abc. txt 345. txt】执行该命令后,文件颜色变为天蓝色(建立 345. txt为/etc/abc.txt 345.txt的快捷方式)。
第七步:总结常用的几个命令【chmod u+x,g-x,o=x test】所有者加上执行权组成员减少执行权限,其他成员设置为执行权限。
【chmod -R 766 . /】修改当前目录权限,要求里面的所有文件和文件夹的权限修改为766.
【chown user1:G3 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软件是否已经安装
【rmp -qa | grep tomcat4】查询已经安装的tomcat4的所有套件。
【rpm -qip example.rpm】查询example.rpm安装包的信息。
【rpm -qif /bin/df】查询/bin/df文件所在安装包信息。
【rpm -qlf /bin/df】查询/bin/df文件所在安装包中的各个文件分别被安装到哪个目录下。
[serverid]
name=Some name for this server
baseurl=url://path/to/repository/
serverid 是用于区别各个不同的repository,必须有一个独一无二的名称;name是对repository 的描述,支持像$releasever、$basearch这样的变量;baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
baseurl=url://server1/path/repository/
url://server2/path/repository/
url://server3/path/repository/
其中,url支持的协议有http://、ftp://、file://3种。baseurl后可以跟多个url,用户可以自己改为速度比较快的镜像站,但baseurl只能有一个,也就是说不能像如下格式。
baseurl=url://server1/path/repository/
baseurl=url://server2/path/repository
http://mirror.neu.edu.cn/(IPv4 only)。
http://mirror.neu6.edu.cn/(IPv6 only)。