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

文章作者 100test 发表时间 2007:05:02 15:10:51
来源 100Test.Com百考试题网


  单元五实验
  文件访问权限
  估计用时: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分钟



相关文章


新手必读:RHCE课堂实验笔记(4)
新手必读:RHCE课堂实验笔记(3)
菜鸟必读:RHCE课堂学习笔记(1)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛