当前位置:Linux教程 - Linux资讯 - 新手必读:RHCE课堂实验笔记(2)

新手必读:RHCE课堂实验笔记(2)

  单元五实验  文件访问权限  估计用时:30分钟  目标:熟悉多个修改文件权限命令的语法和应用,并可组合命令以完成一般的任务。  实验前准备:一台安装好的系统,其上有student 帐号。  实验1:定义文件的访问权限的实践  任务:  1、写下文件权限的字串(类似rwxr-xr-x):  664:_______________________  755:_______________________  000:_______________________  711:_______________________  700:_______________________  777:_______________________  555:_______________________  705:_______________________  111:_______________________  600:_______________________  731:_______________________  2、一个文件权限为755,哪条命令可以将其权限改为r-xr--r--?  3、你刚从Internet上下载了一个值得信任的执行文件。在你运行它之前你必须做什么?写下两种不同的途径。  4、你在之后的单元中将会学到进程(系统中运行的程序)是被用户和用户组所拥有的,就像文件和目录一样。一个进程只有当它的拥有者和拥有者组拥有相应的权限时,它才可以读、写并执行一个文件或目录。  Red Hat Linux 系统通常配置成由用户apache 和组apache 运行apache Web服务器进程。  在系统安装的时候该用户和组已经作为apache 的一部分已经建立。  假设你有一个目录结构 /home/student/archive 里面有许多的文件和目录,都被设置为权  限700。你想将archive 目录在Internet 上设置为可访问的,但是当前的许可并不允许web服  务器(以用户apache 运行)访问文件。使用chmod 命令,你如何用一条命令改变文件的访问权限?  实验2:使用umask 设置新建文件的默认访问权限。  任务:  1、登录  2、查看当前的umask  $ umask  3、创建几个文件和目录,看看它们的访问权限  $ toUCh umtest1  $ touch umtest2  $ mkdir umtestdir1  $ ls -ld um*  4、改变你的umask 为一个更安全的设置,然后新建文件与目录,再比较一下访问权限  $ umask 066  $ touch umtest3  $ touch umtest4  $ mkdir umtestdir2  在查看访问权限之前,你觉得它们的权限会是多少?  $ ls -ld um*  单元六实验  Linux 文件系统基础  估计用时:1小时30分钟  目标:形成对Linux 文件系统的更充分的理解,包括:建立和使用link,使用mtools 包以处理DOS 文件系统,使用slocate 和find,并将文档打包和压缩。  实验前准备:一台装有Red Hat Linux 系统的机器,你在实验2中需要一张空白软盘。  实验1:建立并使用link  任务:  1、在早先的实验中,你应该拷贝了/usr/share/dict/Words 到你的帐号——student 的home目录中,并命名为words。当时,这样做的原因是为了使你访问这个文件更简单。现在,我们使用link 来达到同样的效果。  2、为了避免原来的文件和拷贝文件的混淆,我们删除words 文件的拷贝。  $ cd  $ rm words  3、如果这时候你还没有意识到的话,你早些使用的/usr/share/dict/words 实际上是一个soft link。列出/usr/share/dict,看看link 和它的指向:  $ ls -l /usr/share/dict  total 404  -rw-r--r-- 1 root root 409305 Apr 3 10:29 linux.words  lrwxrwxrwx 1 root root 11 Apr 20 17:33 words -> linux.words  a、你如何知道它是一个soft link?  b、为什么文件的大小是11字节?  c、words对所有用户开放所有的访问权限。这会对linux.words 产生什么样的影响?除了root用户能通过这个link 向linux.words 写数据吗?  4、再次列出文件,这次显示它们所对应的inode。它们是否拥有相同的inode?  $ ls -i /usr/share/dict  5、现在在你的home 目录中建立一个symbolic link 和一个hard link,指向  /usr/share/dict/linux.words:  $ ln -s /usr/share/dict/linux.words soft  $ ln /usr/share/dict/linux.words hard  6、测试你的新link 指向的数据:  $ head hard soft  7、用下面的命令测试你建立的link,并回答下列问题:  $ ls -il hard soft  $ stat hard soft  写出文件hard 的大小________,和soft 的大小_________。  hard 确实使用的数据块________,soft确实使用的数据块__________。  你如何解释这两个文件在数据块数上的不同?  hard 的link 数________,soft 的link 数__________。  hard 的 UID和GID__________,soft的_____________。  文件hard 由root 所拥有,并对其他用户只开放读权限。student 用户是否可以删除这个新建的文件?为什么?  8、挑战:  a、你能建立一个symbolic link 指向一个不存在的文件吗?在这种情况下ls 命令是否给出任何提示?  b、你能建立一个hard link 指向一个不存在的文件吗?为什么?  c、你能建立一个hard link 指向一个soft link 吗?如果你这样做的话会出现什么情况?  d、在建立了几个hard link 之后,你如何找出“真正”的文件?这个问题有意义吗?(换句话说,有没有比你建立hard link 更“真实”的文件?)  实验2:使用mtools 包(省略)  实验3:使用find  任务:  设计并执行满足下面条件的find 命令。当你执行时递归搜索到一些你没有读权限的子目录时  你可能会遇到一些"Permission denied"消息,别去管它。你也可以在末尾加上2> /dev/null来消除这些错误消息的影响。  第一个问题的答案已经给出,执行它,并把其他的完成。你可能需要翻看man page,并记住使用/string 来搜索你需要的字串。如果你哪里卡住了,你可以翻看在实验4后列出的答案。  1、列出在/var/lib下games 用户拥有的所有文件  $ find /var/lib -user games 2> /dev/null  2、列出在/var 下root 用户和mail 组所拥有的所有文件  3、以"ls -l"风格列出在系统上所有不被root 或者bin 或者student 用户所拥有的文件  4、以"ls -l"风格列出/usr/bin 下所有大于一百万个字符的文件  5、对/etc/mail 下所有的文件执行file 命令  6、以"ls -l"风格列出/tmp 下为student 用户所拥有的“普通”文件(regular files)  7、添加上面的命令使得以"ls -l"风格列出/tmp 下为student 用户所拥有的“普通”文件  (regular files),并且它们的修改时间在一天之前  8、改变上面的命令使得删除在/tmp 下为stduent 用户所拥有的“普通”文件(regular files),并且它们的修改时间在一天之前。并且在每个文件删除之前都提示是否删除。  实验4:归档和压缩  假设:  你的主硬盘在你每次使用它的时候发出可怕的声音,你估计它快完蛋了并且会将你珍贵的资料一起带入坟墓。考虑到上次的系统备份是2年半之前,你决定备份一些对于你来说至关重要的文件。/tmp 目录是位于另外一个物理硬盘上的分区,所以你会暂时将你的文件备份到那里。  (然而,tmpwatch 进程会将/tmp 目录中10天没有访问过的文件删除,你最好不要在那里把你的重要文件存放过长时间。)  任务:  1、使用find 查找/home 下所有被student 所拥有的文件,然后将这些文件名传给tar 并把它们存储在/tmp 中。  $ find /home -user student -exec tar rvf /tmp/backup.tar {} \;  2、将/etc 内的内容存储在/tmp 中的另外一个tar 文件中:  $ tar cvf /tmp/confbackup.tar /etc  3、列出两个新文件并记录它们的大小:  $ ls -lh /tmp/*.tar  backup.tar 文件的大小_________。  confbackup.tar 文件的大小_________________。  4、使用gzip 来压缩你的归档文件。然后记录新的文件大小:  $ cd /tmp  $ gzip *.tar  $ ls -lh *tar*  backup.tar.gz 文件的大小______________。  confbackup.tar.gz 文件的大小__________________。  5、解压这些文件,并重新将它们用bzip2压缩,并记录新的文件大小:  $ gunzip *.gz  $ ls -lh *tar  $ bzip2 *tar  $ls -lh *tar*  backup.tar.bz2 文件大小________________。  confbackup.tar.bz2 文件大小_________________。  6、在一个传统UNIX系统上,归档文件并压缩归档的步骤是分开的,就像你前面所做的那样。  在一个Linux 系统上,使用GNU tar 命令,tar 文件可以在建立文件的同时自动地进行一系列不同的压缩。试试下面的步骤。tar 命令会输出一些错误信息,因为非特权用户在/etc 目录下对一些文件没有读权限。在本实验中,可以忽略。  $ rm confbackup.tar.bz2  $ tar cfz test1.tgz /etc  $ tar cfj test2.tbz /etc  $ file test*  完成:你导入的文件已经在/tmp 目录下安全地归档、压缩并备份了。  实验3答案:  2、find /var -user root -and -group mail 2>/dev/null  3、find / -not -user root -and -not -user bin -and -not -user student -ls   2>/dev/null  4、find /usr/bin -size +1000000c -ls  5、find /etc/mail -exec file {} \;  6、find /tmp -user student -ls 2>/dev/null  7、find /tmp -user student -and -mtime +1 -and -type f -ls 2>/dev/null  8、find /tmp -user student -and -mtime +1 -and -type f -ok rm {} \;  单元七实验  bash shell  估计用时:45分钟
[1] [2] 下一页 

(出处:http://www.sheup.com)


上一页 [1] [2]