歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

新手必讀: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分鐘




Copyright © Linux教程網 All Rights Reserved