linux系統入門命令集+四大服務(DHCP、SAMBA、FTP、DNS)

Linux 命令總結node

 

 

第一章Linux安裝及服務控制mysql

1.  uname -r              //查看linux版本號linux

2.cat  /proc/cpuinfo      //查看CPU信息web

3.cat  /proc/meminfo     //查看內存信息 memtotal總容量sql

memfree空閒容量數據庫

swaptotal交換分區總容量apache

swapfree交換分區空閒容量vim

4. hostname 計算機名     //修改計算機名windows

5.  bash                  //刷新用戶配置文件安全

6. ifconfig                //查看ip地址、網卡配置信息

7.Shutdown  -h now     //關機

Poweroff

halt

init 0

8.shutdow  -r now       //從新啓動

reboot

init 6

9.任何命令 --help        //顯示命令的幫助信息

10.  man 命令            //man手冊,提供在線幫助 Q退出

11.|                    //管道符,連續多個命令,前一個命令執行的結果是後面命令的操做對象

12.>                    //文本重定向,將前一個命令執行後顯示的結果,保存到指定的文件中

13.   >>                   //文本雙重重定向,追加數據

14.  man mkdir | col -b  |  >  /tmp/abc.txt    //除去亂碼的mkdir的man手冊保存在/tmp/abc.txt

15.  cd                   //顯示當前路徑

目錄名            //切換到制定目錄

      ..                 //返回上一級目錄

      /                 //返回根目錄

      ~                 //返回家目錄

回車              //返回家目錄

      -                 //返回上一次工做過的工具

16.  ls                    //查看文件名

     -l                  //查看文件詳細信息

     -a                 //查看全部文件,包括隱藏文件

目錄名             //查看制定目錄中的文件名

文件名             //查看指定文件

     -h                 //查看存儲單位容量

     -lh                 //查看存儲文件下的詳細信息

     -ldh                //查看目錄自己詳細信息

     -lah                //查看存儲文件下全部文件的詳細信息

17.alias                  //設置簡化命令

alias 簡化名=」命令語句」

 

18.   du  -sh 目錄名        //查看目錄的空間佔用量

19. ?                    //代替任意一個字母,不能連續出現

20.   *                     //代替任意一組字符

21.  mkdir                  //建立文件

目錄名

如:mkdir   lpc

目錄1 目錄2 目錄3 ……

如: mkdir  1.txt  2.txt  3.txt

        -p 目錄1/目錄2   //同時建立父子目錄

如: mkdir   -p  /lpc/1.txt

        a{1..100}         //連續建立指定數量的文件或目錄

如: mkdir  a{1..100}

22.  touch    文件名              //建立空文件

如: touch  3.txt

 

23.  ln                     //建立鏈接文件(快捷方式)

     -s  源文件的絕對路徑/源文件名目標路徑/目標文件名     //軟鏈接

如: ln  -s  /benet/xueyuan/xueyuan.txt   /root

     ln  源文件的絕對路徑/源文件名目標路徑/目標文件名     //硬鏈接

 

24.  pwd                   //查看當前位置

25.cp                     //複製文件或者目錄

  cp  源文件的路徑/源文件名目標路徑/目標文件名

      -f                  //覆蓋文件時不給提示

      -r                  //複製目錄

      -p                  //複製時保持原有屬性和權限

      -i                  //覆蓋文件時提醒用戶確認

 

26.  rm                     //刪除文件

      -r                  //刪除目錄

      -i                  //刪除文件時提醒用戶確認

      -f                  //不給提示,直接刪除

 

27.mv                     //移動文件,文件更名

   mv 源文件的路徑/源文件名目標路徑/目標文件名

28.  which                   //查找外部命令的程序文件所在位置

   which 外部命令如:which   ping

29.  find                     //查找文件或目錄的所在位置

   find 目標目錄查找方式文件名

       -name             //按名稱查找,可以使用通配符*和?

       -type              //按文件類型查找

       -size              //按文件大小查找

       -user              //按所屬用戶查找

       -a           //表明「與」而且的意思,多個條件必須所有知足,語句才成立

如:find  /  -name  「  .  *」–a  -type  d 

       -o         //表明「或」或者的意思,多個條件中知足任意條件,語句就成立

如:find  /  -name  smb.conf  -o   –name  ifcfg-eth0

 

 

30關閉當前防火牆

service  服務名   start開/stop關/restart重啓/reload重載/status查狀態

如: service  iptables   stop

/etc/init.d/服務名start開/stop關/restart重啓/reload重載/status查狀態

實際上service後面跟的服務名在/etc/init.d/是以一個文件形式存在,文件名就是服務名

如:/etc/init.d/iptables   stop

 

31關閉防火牆啓動項

chkconfig --list——查看全部服務的啓動項列表

chkconfig --list 服務名稱——查詢某個服務的啓動信息

如:chkconfig --list  iptables

iptables    0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉

iptalbes這個服務在運行級別0,1,6不自動啓動,在運行級別2,3,4,5,中自動啓動

32更改服務器啓動項的方法

chkconfig --level 級別服務名稱  on啓動/off關閉

如:chkconfig --level  35  iptables  off

修改運行級別3和5,iptables這個服務部自動啓動

chkconfig iptables off——經常使用級別所有關閉

 

 

33關閉selinux

使用圖形化編輯/etc/sysconfig/selinux文件,修改

SELINUX=enforcing爲SELINUX=disabled保存退出便可

或者: vim   /etc/sysconfig/selinux

 

 

 

第二章目錄和文件管理

 

1.cat             //顯示文件內容,能夠同時顯示多個文件內容

如: cat  /proc/cpuinfo    /proc/meminfo

2.    more          //分頁查看文件內容  N查看上一個  n查看下一個

如: more  /etc/httpd/conf/httpd.conf   

或 ls  -lh  /etc/ * . conf   |  more

3.   less           //分頁查看文件內容  N查看上一個  n查看下一個

與more 用法相同,是more的升級版

4.    head          //查看文件開頭的部份內容

        -n(具體數字) //指定查看文件開頭的多少行內容(默認爲十行)

如: head  -5  /etc/passwd

5.    tail           //查看文件末尾的部份內容

        -n(具體數字)     //指定查看文件開頭的多少行內容(默認爲十行)

如: tail   -6   /etc/passwd

6.    wc               //統計文件中的單詞數量(Word Count)、行數等命令

      -c             //統計文件中內容的字節數

      -l             //統計文件中內容的行數

      -w            //統計文件中內容的單詞個數(以空格或製表位做爲分隔)

如: ps  aux   |  wc  -l  或  wc  -l  /etc/passwd

7.    grep              //檢索、過濾文件內容

       ^a            //以a開頭

如:grep  ^a   /etc/httpd/conf/httpd.conf 

       A$            //以a結尾

如:df  -hT  |  grep  A$

       ^$             //表示空行

如:df  -ht  |  grep  ^$

 

       -i             //查找內容時忽略大小寫

       -v            //反向查找,即輸出與查找條件不相符的行

如:grep  -v  ^#  /etc/httpd/conf/httpd.conf  |  grep  -v  ^$

或: cat  /etc/httpd/conf/httpd.conf  | grep  -v  ^#  |  grep  -v  ^$

8.    gzip     文件名   //壓縮,以.gz爲擴展名的文件

如; gzip  -9   lpc

9.    gunzip   文件名.tar.gz        //解壓縮以.gz爲擴展名的文件

如: gunzip  lpc.gz

  gzip   -d         //解壓縮以.gz爲擴展名的文件

如:gzip   -d  lpc.gz

 

10. bzip2           //壓縮,以.bz2爲擴展名的文件

如: bzip2  -9   lpc

11. Bunzip2         //解壓縮以.bz2爲擴展名的文件

如: bunzip2   lpc.bz2

     Bzip2  -d          //解壓縮以.bz2爲擴展名的文件

如: bzip2  -d  lpc.bz2

 

12. tar             //對目錄和文件進行歸檔

     -c(小寫) //建立.tar格式的包文件

     -C(大寫)  //解壓時指定釋放的目標文件夾

     -f(小寫)  //表示使用歸檔文件

     -j(小寫)              //調用bzip2程序進行壓縮或解壓

     -p(小寫)              //打包時保留文件及目錄的權限

     -P(大寫)              //打包時保留文件及目錄的絕對路徑

     -t(小寫)              //列表查看包內的文件

     -v(小寫)              //輸出詳細信息

     -x(小寫)              //解開.tar格式的包文件

     -z(小寫)              //調用gzip程序進行壓縮或解壓

 

(1)  製做壓縮包

tar cfz 壓縮包的存放位置壓縮對象1 壓縮對象2 壓縮對象3

tar cfj 壓縮包的存放位置壓縮對象1 壓縮對象2 壓縮對象3

例句:將/etc/ /bin/ /sbin/以gzip形式打包保存到/root/中起名爲s2t115.tar.gz

tar cfz /root/s2t115.tar.gz /etc/ /bin/ /sbin/

 

(2)  解開壓縮包

tar xfz 壓縮包的存放位置 -C 解壓縮的位置

tar xfj 壓縮包的存放位置 -C 解壓縮的位置

例句:將/root/s2t115.tar.gz解壓縮到/benet/目錄中

tar xfz /root/s2t115.tar.gz -C /benet/

 

(3) 查看壓縮包內容

tar tfz 壓縮包的存放位置

tar tfj 壓縮包的存放位置

例句:查看/root/s2t115.tar.gz中包含哪些內容

tar tfz /root/s2t115.tar.gz

 

13.  vi編輯器

 

vi 文件名字(若是文件已存在則開始編輯修改,若是文件不存在則新建文件)

ps:初學者推薦使用vim編輯器,是vi編輯器的升級版,具備語法檢測功能(命令敲對了會有提示例如變色)

 

vi編輯器使用方法

 

在vi編輯器中分爲三種模式

命令模式:全部按鍵均爲快捷鍵

a:光標後一個插入,i:光標處插入,o:另外一行插入

按 a  I  o  進入輸入模式

按:進入末行模式

輸入模式:全部按鍵均爲輸入信息    ESC退回到命令模式

末行模式:輸入一些高級命令,例如另存,置入,保存退出,查找替換等

按ESC 退回到命令模式

 

 

(1) vi編輯器「命令模式」常見操做

★  光標的移動

gg:光標移動到第一行

G:光標移動到最後一行

數字gg或者數字G:跳轉到數字行

顯示行號

(末行模式:set nu顯示行號)

 

★  刪除操做

x或者del:刪除光標所在位置的單個字符

dd:刪除光標所在行

數字dd:刪除光標所在行向下數字行,例如15dd:刪除光標所在行往下15行

 

★  複製操做

yy:複製光標所在行

數字yy:複製光標所在行向下數字行,例如15yy:複製光標所在行往下15行

p:光標處往下黏貼,單次黏貼使用,跟windows的ctrl+v同樣

P:光標處往上黏貼,適用於屢次黏貼!

 

★  其餘操做

ZZ:保存退出

u:全文撤銷一次

U:光標所在行撤銷一次

 

★  文章中查找關鍵字

/關鍵字:往下文查找關鍵字

?關鍵字:往上文查找關鍵字

n:跳轉到下一處關鍵字的位置

N:跳轉到上一處關鍵字的位置

 

(2) 末行模式常見命令

:w——保存

:w 文件名——另存爲一個文件名

:wq——保存退出

:q——退出

:q!——強制退出

:e 文件名——用當前編輯器編輯另一個文件

:r 文件名——將另一個文件的內容置入到當前文件光標所在行往下。

:sp 文件名——分屏編輯多個文件,切換多個文件的方法按住ctrl再按一下w,左手鬆開鍵盤,鍵盤的↑和↓箭頭切換文檔。全部命令能夠跨文檔執行,例如將文檔B的信息複製黏貼到文檔A內。

★查找替換

:100,500 s/Server/fuwuqi/g——將100行到500行之間全部的Server替換爲fuwuqi,小寫g的意思替換整行內容,沒有小寫g,一行中有4處可替換內容,只替換第一處,就換到下一行了。

:%   s/Server/fuwuqi/g——替換全文

:%   s/Server/fuwuqi/gc——交互式替換全文

 

 

第三章安裝及管理程序

(1) 查詢已安裝的 RPM 軟件信息

格式:rpm  -q[子選項]  [軟件名]

rpm

-q:  查看軟件包是否安裝

        rpm–q  httpd

-qa:查看系統中已安裝的全部RPM軟件包列表

    rpm  -qa 

    rpm  -qa  |  wc  -l

    rpm  -qa  |  grep  httpd

 -qi:查看指定軟件的詳細信息

     rpm  -qi  httpd

      -ql:查詢指定軟件包所安裝的目錄、文件列表

          rpm  -ql  httpd

      -qc:僅顯示指定軟件包安裝的配置文件

          rpm  -qc  httpd

      -qd:僅顯示指定軟件包安裝的文檔文件

          rpm  -qd  httpd

 

(2) 查詢文件或目錄屬於哪一個 RPM 軟件

格式:   rpm  - qf  文件或目錄名

Which   vim   /usr/bin/vim

rpm -qf /usr/bin/vim

 

(3) 查詢未安裝的 RPM 包文件

格式:  rpm  - qp[子選項]  rpm包文件

rpm

-qpi:經過.rpm包文件查看該軟件的詳細信息

    rpm  -qpi   tar-1.23-11.el6.x86_64.rpm

-qpl:查看.rpm安裝包內所包含的目錄、文件列表

    rpm  -qpl  tar-1.23-11.el6.x86_64.rpm

      -qpc:查看.rpm安裝包內包含的配置文件列表

          rpm  -qpc   tar-1.23-11.el6.x86_64.rpm

-qpd:查看.rpm安裝包內包含的文檔文件列表

    rpm  -qpd   tar-1.23-11.el6.x86_64.rpm

 

(4) 安裝或升級RPM軟件

格式:  rpm  [選項]  rpm包文件 ...

選項

-i:安裝一個新的 rpm 軟件包

      -U:升級某個 rpm 軟件,若本來未裝,則進行安裝

-F:更新某個 rpm 軟件,若本來未裝,則放棄安裝

 

輔助選項

--force:強制安裝所指定的rpm軟件包

--nodeps:安裝、升級或卸載軟件時,忽略依賴關係

-h:以「#」號顯示安裝的進度

-v:顯示安裝過程當中的詳細信息

 

rpm常以組合的方式實現

rpm  -ivh   tar-1.23-11.el6.x86_64.rpm

rpm  -Uvh   tar-1.23-11.el6.x86_64.rpm

 

(5)卸載指定的RPM軟件

格式:  rpm  -e  軟件名

rpm  -e  tar   或   rpm  -e  net-tools

 

(6)建RPM數據庫

     rpm --rebuilddb

rpm  --initdb

 

導入驗證公鑰

rpm  --import /media/cdrom/RPM-GPG-KEY-redhat-release

(7)完整性校驗

md5sum校驗工具 (計算MD5校驗和,並與官方提供的值相比較,判斷是否一致)

如:

md5sum tar-1.23-11.el6.x86_64.rpm

 

(8)查看源代碼編譯工具的版本信息

   gcc    --version

 make--version

 

(9)源代碼軟件包的編譯安裝

編譯安裝實驗1

 

編譯安裝apache軟件

service httpd start ------啓動web服務

使用firefox打開127.0.0.1的頁面看到了紅色的歡迎頁面

(這是rpm版的apache的歡迎頁面)

卸載掉rpm版的apache軟件

rpm  -e  httpd  --nodeps

而後準備用編譯安裝apache軟件

1.把httpd.tar.gz源代碼包拷貝到linux中

 

2.使用tar軟件將包解壓縮到規範目錄——解包

tar zxf /root/httpd-2.2.15.tar.gz -C /usr/src/

 

3.使用configure定製編譯安裝的制定路徑——配置

cd    /usr/src/httpd-2.2.15/——切換到源代碼所在目錄

./configure --prefix=/usr/local/httpd/——配置安裝路徑

 

4.將配置好的軟件文件編譯爲二進制——編譯

make

 

5.將編譯好的二進制文件安裝到系統指定路徑

make install

 

6.驗證安裝成功

ls   /usr/local/httpd/有內容就是安裝成功了

 

7.手動開啓編譯安裝的httpd服務進程

/usr/local/httpd/bin/apachectl start

 

8.在firefox中再次訪問127.0.0.1,看到It works就是成cd功了。

 

 

 

編譯安裝2

有打補丁過程的編譯安裝

把zhcon軟件和補丁拽到linux的root目錄,而後init 3,切換到純命令行

1.解包

將安裝文件解包到/usr/src目錄

rar zxf /root/zhcon-0.2.5.tar.gz -C /usr/src

gunzip /root/zhcon-0.2.5-to-0.2.6.diff.gz

cp zhcon-0.2.5-to-0.2.6.diff /usr/src/

2.打補丁

cd   /usr/src/zhcon-0.2.5/——切換到安裝包所在目錄

patch -p1(p壹)  <  /usr/src/zhcon-0.2.5-to-0.2.6.diff——將升級補丁打進去

 

3.配置

./configure --prefix=/usr/local/zhcon

 

4.編譯&&5.編譯安裝

make && make install

 

第四章帳戶管理和權限

1.useradd命令

格式:  useradd  [選項]...  用戶名

useradd

-d:指定家目錄,當不但願家目錄在/home/xxx時候,修改家目錄須要注意,管理員須要提早將用戶家目錄的上一級目錄建立完成,家目錄自己不要用mkdir建立,由useradd命令自動建立

例如但願建立lpc用戶,家目錄放到/benet/lpc中

(1)錯誤操做

mkdir /benet/lpc

useradd -d /benet/lpc   lpc

(2)正確操做

mkdir /benet/

useradd –d /benet/lpc   lpc

 

如:修改帳戶zhangsan家目錄爲/benet/s2t115源目錄/home/zhangsan

usermod -d /benet/s2t115  zhangsan 告訴居委會我要搬家

mv  /home/zhangsan  /benet/s2t115  物理移動

grep zhangsan /etc/passwd查看是否搬家成功

 

-e:指定帳戶過時時間格式     -e   2017-11-11

如:useradd  -e 2020-11-11 lisi

 

-g:指定基本組名字或GID

如:useradd  –g  root  zhangsan

 

-G:指定附加組名字或GID(組須要提早建立好)

如:useradd -G root zhangsan

 

-M:建立用戶時不初始化家目錄(建立程序用戶須要用)

如:useradd  -M  mysql

 

-s:指定用戶登陸系統時附加什麼環境腳本經常使用的/bin/bash和/sbin/nologin(拒絕本地登陸)

如:useradd -s /sbin/nologin  mysql

 

如:建立lisi,指定uid號555,家目錄位於/benet/lisi,帳戶在2020-11-11過時

mkdir /benet先建立目錄

useradd -u 555 -d /benet/lisi -e 2020-11-11 lisi

ls -a /benet/lisi

 

如:指定mike的基本組爲mike,並加入到ftpuser組,指定主目錄爲/ftphome/mike

不容許mike經過本地登陸服務器

注:對應的基本組、附加組必須存在

useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/nologin mike

 

2.  passwd命令

    (設置用戶帳戶的密碼,容許空密碼登陸,禁用,啓用)

格式 :  passwd  [選項]...  用戶名

Passwd

 

- d:容許空密碼登陸(默認shadow文件中密碼位置爲!!,密碼位置有!!開頭,!開頭,*開頭均爲該帳戶是禁用的)

- l:禁用帳戶

- u:啓用帳戶

- S:查看帳戶狀態是禁用仍是啓用

 

設定密碼的方式

Passwd zhangsan

輸入密碼 123.com

確認輸入密碼 123.com

修改爲功

 

 

 3.usermod命令

(修改用戶屬性(useradd只能用戶新建用戶,後期修改用戶屬性須要用到這個命令)

 

格式:  usermod  [選項]...  用戶名

usermod :

-l:更改用戶賬號的登陸名稱

-L:鎖定用戶帳戶

-U:解鎖用戶帳戶

-d  -e  -g  -G-s跟useradd效果同樣,用於修改用戶屬性

如:   修改zhangsan的UID爲1983

usermod -u 1983 zhangsan

 

 

4.userdel命令

格式:   userdel  [-r]  用戶名

(添加 -r 選項時,表示連用戶的宿主目錄一併刪除)

userdel

-r 殺人+抄家

如:userdel  -r  zhangsan

ls -ld /home/zhangsan

ls: /homezhangsan: 沒有那個文件或目錄

 

 

 

5. groupadd命令

格式 : groupadd  [-g GID]  組帳號名

用戶組的相關內容

查看組中有哪些用戶,查看/etc/group文件

新建組

groupadd -g GID  組名

如:  groupadd -g 1500 s2t115

 

用戶加入組的方式

(1)首次用戶加入組

gpasswd -M 用戶1,用戶2,用戶3 組名

 

(2)後期用戶加入組

gpasswd -a用戶名組名

 

注意 :-M不能代替-a

-a:用戶「加入」組!不會影響組內之後成員

-M:更新組成員列表,寫誰誰在組裏,沒寫的反而會被踢出組

 

(3)用戶加入的組的各類方法:

 

先有用戶再有組:

useradd  zhangsan  lisi  wangwu

groupadd -g 1500 s2t115

 

方法1

gpasswd  -M zhangsan ,lisi,wangwu

方法2

gpasswd  -a zhangsan

gpasswd  -a lisi

gpasswd  -a wangwu

方法3

usermod  -G  s2t115  zhangsan

usermod  -G  s2t115  lisi

usermod  -G  s2t115  wangwu

 

先有組再有用戶:

groupadd -g  1500 s2t115

useradd  -G  1500  zhangsan

useradd  -G  1500  lisi

useradd  -G  1500  wangwu

 

6. gpasswd命令

(設置組賬號密碼(極少用)、添加/刪除組成員)

格式:  gpasswd  [選項]...  組賬號名

 

如:刪除組成員zhangsan

gpasswd -d  zhangsan   root

 

 

 

7. groupdel命令

格式:groupdel  組賬號名

 

如:groupdel   lpc

 

8.查詢帳號信息

id命令

用途:查詢用戶身份標識

id  [用戶名]

 

groups命令

用途:查詢用戶所屬的組

groups  [用戶名]

 

users、w 、who命令

用途:查詢已登陸到主機的用戶信息

 

 

9.修改權限的方法

方法1

chmod ugoa+-=rwx 目標對象

u:修改屬主權限

g:修改屬組權限

o:修改其餘權限

a:修改全部對象權限

+:增長權限

-:去掉權限

=:刷新權限列表

r,w,x表明3個權限

 

例如原始文件屬性以下

-   rw-   r--   r--. 1    root    root     69K 7月   7 2015 install.log

例句

chmod u+x /root/install.log

結果

-   rwx   r--   r--. 1    root    root     69K 7月   7 2015 install.log

例句

chmod g+wx /root/install.log

結果

-   rwx   rwx   r--. 1    root    root     69K 7月   7 2015 install.log

例句

chmod o-r /root/install.log

結果

-   rwx   rwx   ---. 1    root    root     69K 7月   7 2015 install.log

例句

chmod a=r /root/install.log

結果

-   r--   r--   r--. 1    root    root     69K 7月   7 2015 install.log

 

方法2

用8進制數來表示3個權限

r:4

w:2

x:1

chmod nnn 對象目標

第一個n:屬主權限

第二個n:屬組權限

第三個n:其餘權限

 

例如原始文件屬性以下

-   rw-   r--   r--. 1    root    root     69K 7月   7 2015 install.log

例句

chmod 750 /root/install.log

結果

-   rwx   r-x   ---. 1    root    root     69K 7月   7 2015 install.log

例句

chmod 764 /root/install.log

結果

-   rwx   rw-   r--. 1    root    root     69K 7月   7 2015 install.log

例句

chmod 777 /root/install.log

結果

-   rwx   rwx   rwx. 1    root    root     69K 7月   7 2015 install.log

 

 

 

10.修改對象的屬主和屬組

chown 主:組對象

chown 主對象

chown :組對象

 

-R遞歸修改指定目錄下全部文件、子目錄的歸屬

chmod和chown均可以使用這個選項,表明同時修改子對象權限(相似windows的強制繼承)

 

-   rwx   rwx   rwx. 1    root    root     69K 7月   7 2015 install.log

 

chown zhangsan:lisi /root/install.log

-   rwx   rwx   rwx. 1    zhangsan    lisi     69K 7月   7 2015 install.log

 

chown :lisi /root/install.log

-   rwx   rwx   rwx. 1    root    lisi     69K 7月   7 2015 install.log

 

chown zhangsan /root/install.log

-   rwx   rwx   rwx. 1    zhangsan   root     69K 7月   7 2015 install.log

 

第五章磁盤和文件系統管理(一)

 

fdisk命令:

1.fdisk  -l查看全部的磁盤分區信息

2.fdisk  -l[磁盤設備]查看一塊磁盤的分區信息

如: fdisk  - l  /dev/sdb      查看SCSI的第二塊磁盤

3. fdisk命令在交互式的操做環境中管理磁盤分區

格式:fdisk    [磁盤設備]

m:查看操做指令的幫助信息

p:列表查看分區信息

n:新建分區

d:刪除分區

t:變動分區類型(修改ID號)

 

如:fdisk /dev/sdb

t  →1(/dev/sdb1分區號)→b(ID)→w    

修改兼容Windows的分區ID號(fat32

 

t →3(/dev/sdb3分區號)→86(ID)→w

修改兼容Windows的分區的ID號(NTFS

 

→2(/dev/sdb2分區號)→82(ID)→w

修改swap交換分區的ID號(Linux

 

→2(/dev/sdb2分區號)→83(ID)→w

修改ext4分區的ID號(Linux

 

w:保存分區設置並退出

q:放棄分區設置並退出

 

如:一塊1G的硬盤,分一個100M的主分區,再分一個200M的主分區,分一個700M的擴展分區,在擴展分區中分一個200M的邏輯分區,再把剩餘空間分到另外一個邏輯分區。

 

分區的過程:

fdisk /dev/sdb

n→p→1→回車→+100M回車

n→p→2→回車→+200M回車

n→e→3→回車→回車

n→l→回車→+200M回車

n→l→回車→回車

w保存退出

 

4.建立文件系統

mkfs命令Make Filesystem,建立文件系統(格式化)

 

格式:mkfs  -t  文件系統類型分區設備

 

(1ls  /sbin/mkfs*查詢與mkfs相關的文件

 

/sbin/mkfs     /sbin/mkfs.ext2     /sbin/mkfs.msdos

/sbin/mkfs.cramfs     /sbin/mkfs.ext3    /sbin/mkfs.vfat

 

(2)建立ext4文件系統(格式化ext4文件系統makefilesystem

如:mkfs -t ext4 /dev/sdb1

或:mkfs.ext4 /dev/sdb1

 

3建立fat32文件系統  (格式化爲fat32文件系統)

如:mkfs -t vfat -F 32 /dev/sdb2

或:mkfs.vfat -F 32 /dev/sdb2

 

4)建立swap交換文件系統(格式化swap文件系統

mkswap 命令(make swap

格式:mkswap分區設備

如: mkswap /dev/sdb5格式化swap文件系統

 

swapon /dev/sdb5啓用新增長的交換分區

 

swapoff/dev/sdb5停用指定的交換分區

 

grep Swap /proc/meminfo查看swap文件系統的摘要信息

 

5.掛載、卸載文件系統

mount命令掛載文件系統、ISO鏡像到指定文件夾

格式:mount    存儲設備掛載點目錄

 

1.普通掛載

如:將sdb1和sdb6分別掛載到wendang和dianying目錄

mkdir /wendang /dianying建立掛載目錄

 

mount /dev/sdb1 /wendang/

將/dev/sdb1掛載到/wendang/目錄下

 

mount /dev/sdb6 /dianying/

將/dev/sdb6掛載到/dianying/目錄下

 

       2.光盤掛載

掛載的另外用途:

(設備在沒有自動掛載的狀況下,也須要mount命令才能夠

訪問他們,例如光驅)

 

mkdir   /media/cdrom建立光盤的掛載目錄

mount /dev/cdrom /media/cdrom

掛載光盤設備/dev/cdrom/到/media/cdrom/下

 

3. 掛載直接下載的ISO鏡像文件

格式:mount  -o loop  ISO鏡像文件掛載點目錄

如:

mkdir /media/image建立掛載目錄

mount -o loop /root/JINHU-SYSTOOL-2012.ISO /media/image

 

      4. mount查看掛載狀況

 

 

6.  umount命令卸載已掛載的文件系統

格式:(1)umount  存儲設備位置

如: umount   /dev/sdb1     經過設備文件卸載

 

(2)umount  掛載點目錄 (常用)

如:umount  /benet/s2t115    經過掛載目錄卸載

 

7. 設置文件系統的自動掛載

mount的配置文件在/etc/fstab ,包含須要開機後自動掛載的文件系統記錄

cat  /etc/fstab       查看配置文件的內容

vim  /etc/fstab用vim編輯器編輯配置文件

 

永久掛載文件系統的方法:(只要開機自動掛載)

修改/etc/fstab文件,在最下面一行輸入以下信息

vim  /etc/fstab

 

掛在設備    掛載目錄文件系統類型  屬性自檢和自動備份控制位

/dev/sdb1 /wendang   ext4              defaults  0 0

/dev/sdb6 /dianying    ext4              defaults 00

 

如:用vim進入配置文件,而後按照上邊格式在最後一行進行編輯便可

 

8. 查看磁盤使用狀況

df命令

格式:df  [選項]  [文件]

如:df -hT——查看各個分區的磁盤佔用狀況

 

df -hT  |  grep  sdb1 ——過濾一個分區的磁盤佔用狀況

 

mount ——查看全部掛載信息

 

 

第六章磁盤和文件系統管理(二)

 

1.創建PV與PV的查詢

PV

Pvcreate: 將物理分區建成PV

格式:pvcreate   磁盤分區

如:pvcreate /dev/sdb1 /dev/sdc1

 

Pvscan:搜索當前系統裏任何具備PV的磁盤

如: pvscan  

Pvdisplay:顯示當前系統的PV狀態

如: pvdisplay 

Pvremove:將PV屬性刪除,讓該分區不具備PV屬性

如:pvremove /dev/sdb1

 

2.開始建立VG

vgcreate: 創建VG

如:vgcreate   s2t115vg /dev/sdb1 /dev/sdc1

 

vgscan:搜索系統上面是否有VG存在

如:vgscan

 

vgdisplay:顯示當前系統上的VG狀態

如:vgdisplay

 

vgextend:在VG內增長額外的pv

格式:vgextend   vg名稱   pv名稱

如:vgextend   s2t115vg  /dev/sdd1

 

vgreduce:在VG中刪除pv

格式:vgreduce   vg名稱    pv1名稱…

如:vgreduce s2t115vg /dev/sdb1

 

vgremove:刪除一個VG

如:vgremove s2t115vg

 

3.與lv相關的命令

(注意:卷組完整名稱是/dev/卷組名/邏輯卷名)

lvcreate: 創建lv

格式:lvcreate  -l    PE數量  -n  邏輯卷名卷組名

如:lvcreate  -l   500  -n  lpclv    s2t115vg

lvcreate   -L   容量  -n  邏輯卷名卷組名

如:lvcreate   -L  100M  -n  lpclv   s2t115vg

 

lvscan:查詢系統上的lv

如:lvscan

lvdisplay:顯示系統上的lv狀態

如: lvdisplay

lvresize:在lv裏增長容量

格式:lvresize  -L  空間大小/dev/卷組名/邏輯卷名

如:lvresize  -L  +1024M  /dev/t115vg/t115lv

     lvresize  -L  PE數量/dev/卷組名/邏輯卷名

lvresize  -l  +500  /dev/t115vg/t115lv

 

lvreduce:在lv裏減小容量

如:格式:lvreduce  -L  空間大小/dev/卷組名/邏輯卷名

如: lvreduce  -L  -1024M  /dev/t115vg/t115lv

     lvreduce  -L  PE數量/dev/卷組名/邏輯卷名

lvreduce  -l  -500  /dev/t115vg/t115lv

 

lvremove:刪除一個lv

如:lvremove   lpclv

 

4.刷新lv的分區容量

       格式:resize2fs  -f   /dev/卷組名/邏輯卷名

       選項     -f 強制進行resize操做       

如:resize2fs /dev/s2t115vg/lpclv

 

5.完整的實驗

一 . 新建lvm 邏輯卷

(物理磁盤→pv階段→vg階段→lv階段→格式化→掛載)

1建立分區

格式:fdisk  磁盤

如: fdisk  /dev/sdb

 n—p—1—回車—回車     //將一塊磁盤建立一個分區

 

更改分區ID值爲lvm

格式: fdisk   磁盤

如: fdisk  /dev/sdb

     t—8e—w

 

2pv階段(將物理分區轉爲物理卷)

pvcreate /dev/sdb1 /dev/sdc1

pvscan

3vg階段(將物理卷整合爲一個卷組)

vgcreate   s2t115vg /dev/sdb1 /dev/sdc1

vgdisplay

 

4 lv階段(在卷組中設置邏輯卷)

lvcreate -l 500 -n  lpclvs2t115vg 

lvdisplay

 

5格式化(將邏輯卷格式化建立文件系統)

mkfs   -t/dev/s2t115vg/lpclv

 

6掛載(將建立好的邏輯捲進行掛載)

mkdir /ftproot

mount /dev/t115vg/t115lv /ftproot

 

 

.擴展邏輯卷

 

1將擴展硬盤分區,修改ID號爲8e

2pv階段

3vg擴展階段

vgextend  t115vg  /dev/sdd1

4lv擴展階段

lvresize  -L  +1024M  /dev/s2t115vg/lpclv

lvresize  -l  +500  /dev/s2t115vg/lpclv

5刷新lv的分區容量

resize2fs /dev/s2t115vg/lpclv

 

 

6.磁盤配額

1讓你的磁盤分區支持配額

(添加 usrquota、grpquota 掛載參數)

1)已經掛載分區,且不想重啓系統

mount -o remount,usrquota,grpquota /dev/t115vg/t115lv /ftproot

2)以前沒有掛載,不想重啓系統

mount -o usrquota,grpquota /dev/t115vg/t115lv /ftproot

3)永久掛載支持配額,重啓生效

vim /etc/fstab

在defaults變成defaults,usrquota,grpquota

4)驗證

mount | grep /ftproot

看到(rw,usrquota,grpquota)便可

2)在支持配額的分區下生成配額表文件

(使用 quotacheck 命令建立配額文件)

格式:quotacheck -ugcv /dev/t115vg/t115lv

沒有指定–a 時,必須指定一個分區

           quotacheck -augcv

選項:

-u、-g:檢測用戶、組配額

-c:建立配額數據文件

-v:顯示執行過程信息

-a:檢測全部可用的分區

如:quotacheck -augcv

驗證:

ls /ftproot/看到兩個配額表文件便可

 

3建立測試用戶,修改目錄權限

Useradd zhangsan

passwd zhangsan

chmod 777 /ftproot

 

4編輯用戶和組賬號的配額設置

格式:edquota -u 用戶名

         edquota-g 組名

如:爲用戶zhangsan編輯配額表

edquota -u zhangsan

會進入一個vi編輯器

 

5啓用、關閉文件系統的配額功能

quotaon -ugv /ftproot/     //啓用

quotaoff-ugv /ftproot/     //關閉

6驗證配額功能

切換張三用戶,去目錄建立6個文件

su -l zhangsan

cd /ftproot/

touch 11 22 33 44 55

touch 66

 

7查看配額使用狀況

quota -u zhangsan

//以zhangsan用戶爲基礎,查看zhangsan在各個分區的配額狀況

repquota–a

//以分區爲基礎,查看這個分區上各個用戶的配額狀況

 

第七章進程個計劃任務管理

 

1.查看進程信息

1 ps 查看靜態的進程統計信息

格式:  ps aux

ps -elf

選項:顯示當前終端下的全部進程信息,包括其餘用戶信息

以用戶爲主的格式顯示進程信息

顯示當前用戶在全部終端下的進程信息

 

2top命令查看動態的進程排名信息

格式:top

 

top界面中的相關操做:

P  cpu佔用狀況排序

M  內存佔用狀況排序

     q   退出

     K   輸入PID ,回車能夠結束進程

 

3pgrep命令專門查詢進程 PID 信息

格式:pgrep -l 進程名

選項:-l顯示進程名

如: pgrep   -l   crond

-U   指定特定用戶

-t   指定終端

如:pgrep -l -U teacher -t tty1

 

 

4pstree命令以樹形結構列出進程信息

格式:pstree -aup

pstree -ap    zhangsan

選項:-a顯示完整信息

-u列出對應用戶名

-p列出對應PID號

 

 

5後臺啓動:在命令行尾加入「&」符號

如:cp /dev/cdrom   /lpc.iso&

 

2.進程的先後臺調度

(1)Ctrl+Z 組合鍵

將當前進程掛起,即調入後臺並中止執行

 

(2)jobs   -l   

查看處於後臺的任務列表

 

(3)fg  1(後臺編號)

將後臺進程恢復到前臺運行,可指定任務序號

 

(4)bg  1(後臺編號)

將後臺編號所屬的掛起的進程繼續在後臺執行

 

3.終止進程的運行

1Ctrl+C 組合鍵

中斷正在執行的命令

 

2killkillall 命令

kill        用於終止指定PID號的進程

killall      用於終止指定名稱的全部進程

選項: -9   用於強制終止

如: pgrep -l   crond

kill  -9  2869

killall -9 vim

 

3pkill命令根據特定條件終止相應的進程

選項:-U     根據進程所屬的用戶名終止相應進程

          -t   

  根據進程所在的終端終止相應進程

如:pgrep –l -U   zhangsan

 pkill -9  -U   zhangsan

 

 

4一次性計劃任務

at命令

格式:  at 14:55 2014-05-05

          at>輸入要執行的命令

按Ctrl+D鍵提交任務

 

atq

查看未執行的任務列表

 

atrm 2任務序列號

刪除第2條任務

 

 

5 週期性計劃任務

crontab 命令

(若是是root用戶給其餘用戶設置計劃任務是能夠用-u指定用戶名)

(1)編輯計劃任務

crontab  -e  [-u  用戶名]

 

 

(2)查看計劃任務

crontab  -I  [-u  用戶名]

 

 

(3)刪除計劃任務

crontab  -r  [-u  用戶名]

 

(4)編輯任務表是的特殊符號:

 

 

*     表示該範圍內的任意時間

表示間隔的多個不連續時間點

_ 表示一個連續的時間範圍

/     指定間隔的時間頻率

應用示例

0  17  * *  1-5        週一到週五天天17:00

30  8  * *  1,3,5      每週1、3、五的8點30分

0  8-18/2  *  *  * 8點到18點之間每2小時

0  *  */3  *  *        每3天

 

注:在設置命令的時候,要先用which查出命令字的絕對路徑來,而後在表裏以絕對路徑加命令語句進行設置

第八章分析和排查系統故障

 

1.日誌消息級別

0   emerg         (緊急)   會致使主機系統不可用的狀況

1   alert         (警告)必須立刻採起措施來解決

2   crit           (嚴重)  比較嚴重的狀況

3   err            (錯誤)  運行出現的錯誤

4   warning       (提醒)  可能會影響系統功能

5   notlce         (注意)  不會影響系統但值得注意

6   info           (信息)   通常信息

7   debug         (調試)  程序或系統調試信息

 

2.用戶日誌的分析工具

 

user       who      w      顯示當前登陸的用戶信息

 

last      顯示登錄成功的用戶信息

 

lastb    顯示登錄失敗的用戶信息

 

3.程序日誌的分=分析工具

 

grep      awk      sed        檢索三劍客

 

 

4.修復MBR 扇區故障

 

(1)新加一塊硬盤

分區:n——p——1——回車——回車

格式化: mkfs   -t   ext4   /dev/sdb1

建立掛載目錄: mkdir   /benet

掛載: mount    /dev/sdb1   /benet

 

(2)備份MBR扇區數據

dd   if=/dev/sda    of=/benet/sda.mbr.bak  bs=512    count=1

 

 

(3)模擬扇區故障

dd    if=/dev/zero    of=/dev/sda   bs=512   count=1

 

(4)連接鏡像,將鏡像掛到指定位置,而後從新啓動(reboot)

虛擬機——設置——CD/CVD(SATA)——已鏈接——瀏覽添加鏡像

重啓reboot

 

(5)從新啓動後進入急救模式,用光盤裏的系統加入內存,而後啓動修復MBR

 

Rescue  installed  system——ok——ok——no——coutinue——ok——ok——bash-4.1#

(6)從新啓動後,之前磁盤上的東西都沒有了,包括掛載目錄也沒有了。

 

(7)建立一個新的掛載目錄,/s2t115  從新掛載

     mkdir  /s2t115

     mount  /dev/sdb1   /s2t115

     ls

(8)恢復MBR扇區

 

dd   if=/s2t115/sda.mbr.bak    of=/dev/sda   bs=512    count=1

 

(9)重啓

 

 

5. 修復GRUB引導故障

 

(1) cat   /boot/grub/grub.conf

 

(2)查看到內容的最後三行,作備份(每臺計算機的都不同),從新啓動

root (hd0,0)

 

kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=1f87848f-b307-4130-ac6c-b272545bddab rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet

 

       initrd /initramfs-2.6.32-431.el6.x86_64.img

 

(3)將備份的三行文本分三次輸入並執行,而後輸入boot繼續引導,

 

boot 繼續引導

 

 

6.修改root用戶的密碼

 

在重啓的界面按任何鍵進入急救模式,而後按e  ,選中第二行繼續按e  ,接着在打開的界面輸入single  或  s   或  1 ,而後輸入b, 進入單用戶模式, 最後輸入passwd   root  ,設置密碼從新啓動便可

 

 

7.修改文件系統

 

(1)模擬破壞/dev/sda /磁盤分區, 而後從新啓動

dd   if=/dev/zero   of=/dev/sdb   bs=512   count=4

 

(2)檢測可否掛載該分區,掛載失敗

mkdir   /benet

mount    /dev/sdb1     /benet

 

(4)對  /dev/sda   分區進行修復

 

fsck    -y    -t   ext4    /dev/sdb1 

 

(5)再次掛載,能夠了

mount  /dev/sdb1   /benet

 

 

8. 查看  i 節點耗盡

 

df    -i     /掛載目錄

 

9.檢測磁盤壞道

 

badblocks   -sv     /dev/sdb 

-s    顯示進度信息

-v   顯示詳情

 

10. /dev/zero      -----白洞裏面存放的都是垃圾

/dev/mull     ------黑洞到黑洞的東西都會消失,能夠粉碎文件用

第九章   Linux基礎網絡設置

 

  1. ifconfig命令

 

(1)ifconfig

格式:ifconfig 查看全部活動網絡接口

ifconfig網絡接口名(eth0)查看一塊網卡的的信息

 

(2)ifconfig設置網絡接口的ip地址、子網掩碼

格式: 1.ifconfig  eth0   192.168.3.1

 

2.ifconfig  接口名ip地址netmask  子網掩碼

如:ifconfig  eth0   192.168.3.1  netmask  255.255.255.0

 

3.ifconfig  網絡接口  ip地址/掩碼長度

如:ifconfig  eth0   192.168.3.1/24

 

(3)ifconfig      設置虛擬網絡接口

 

格式:ifconfig  接口名:序號  IP地址

如: ifconfig   eth0:1   192.168.3.1

           ifconfig   eth0:2   192.168.3.2

 

(4)ifconfig      禁用或者從新激活網卡

 

格式:  ifconfig  網絡接口  up

ifconfig  網絡接口  down

 

如: ifconfig   eth0  up

          ifconfig   eth0  down

 

(5)禁用、啓用網絡接口

 

          ifup   eth0      啓用

          ifdown   eth0   禁用

 

 

  2. hostname命令

 

hostname查看或設置當前主機名

hostname 主機名稱修改主機名

bash刷新bash環境

 

  3. netstat查看系統的網絡鏈接狀態、路由表、接口統計等信息

 

格式:netstat [選項]

選項:

-a:顯示全部活動鏈接

-n:以數字形式顯示

-p:顯示進程信息

-t:查看 TCP 協議相關信息

-u:查看UDP協議相關信息

-r:顯示路由表信息

 

如:netstat -anpu | grep  ":67"

netstat -anpt    | grep 

 

 

  4.ping 測試網絡連通性

 

格式:ping [選項] 目標主機

選項:

-s 數據包大小

      -f 極限測試

-i 發送週期

 -c 數據包個數

 

  5.route命令

 

(1)route查看路由表條目

(2)route—n   查看或設置主機中路由表信息

 

(3)route  添加和刪除靜態的路由條目

 

      route  add  -net  目標網段  gw   下一跳IP

如: route  add  -net   192.168.3.0/24  gw   192.168.4.254

      route  add  -net  目標網段

如:route  del   -net   192.168.3.0/24

 

(4)添加和刪除網關

 

route  eth0  default  gw   192.168.1.254

route  eth0  default  gw   192.168.1.254

 

 

 6.traceroute路由跟蹤

測試從當前主機到目的主機之間通過的網絡節點

 

格式:traceroute 目標主機地址

如:traceroute   202.106.0.20

 

 

 7.nslookup測試DNS域名解析

 

格式 : nslookup 目標主機地址  DNS服務器地址

 

如:nslookupwww.google.com

或: nslookup  192.168.1.1

或:nslookupwww.baidu.com  8.8.8.8

讓谷歌解析百度的IP

 

 

 8. 網絡接口配置文件IP  子網掩碼網關   DNS)

(1)vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

DEVICE——設備名

BOOTPROTO ——IP地址的獲取方式(靜態static或者dhcp)

HWADDR ——MAC地址

ONBOOT ——開機啓動

IPADDR ——IP地址

NETMASK-----子網掩碼

BROADCAST-----廣播地址

NETWORK-------網段

GATEWAY-----網關

DNS1=首選dns

: wq

2)重啓服務生效

 

service network restart

 

9.主機名稱配置文件設置主機名)

 

vim   /etc/sysconfig/network

 

NETWORKING=yes

HOSTNAME=www.benet.com

 

 

10 .域名解析配置文件保存本機使用的DNS服務器的IP

 

vim/etc/resolv.conf

 

search localdomain

nameserver 202.106.0.20

nameserver 202.106.148.1

 

 

 11.DHCP的主配置文件

 

(1) vim  /etc/dhcp/dhcpd.conf

 

subnet 192.168.3.0netmask 255.255.255.0{

range192.168.3.100 192.168.3.200;

option domain-name-servers 202.106.0.20;

option domain-name "internal.example.org";

option routers192.168.3.254;

option broadcast-address 192.168.3.255;

default-lease-time 600;

max-lease-time 7200;

}

 

dhcp服務的重啓

service  dhcpd  restart

或/etc/rc.d/init.d/dhcpd restart

 

 

(2)保留

vim  /etc/dhcp/dhcpd.conf

host  lpc {保留的名稱

    hardware ethernet 00:c0:c3:22:46:81;指定對應主機的 MAC 地址

    fixed-address192.168.3.250;指定爲該主機保留的 IP 地址

}

 

dhcp服務的重啓

service  dhcpd  restart

或/etc/rc.d/init.d/dhcpd restart

 

 

 12.查看DHCP服務器的租約文件 /var/lib/dhcpd/dhcpd.lease

 

less /var/lib/dhcpd/dhcpd.leases

 

 13.客戶端獲取和釋放IP

 

首先將網卡的配置文件改成自動獲取(dhcp)

dhclient   

爲除了迴環接口之外的全部接口獲取ip,自動調動後臺運行

 

dhclient  -d  eth0

   -d   在前臺運行

 

dhclient  -d  eth0 

 -r    釋放IP

第十章  Samba文件共享服務

 

1.netstat  -anput   |  grep  smb     ——監聽smb服務是否開啓

 

2.grep  -v  #  /etc/samba/smb.conf    |  grep  -v  ^;   |

 grep  -v  ^$

——查看smb.conf 配置文件中的有效字段

 

3.testparm   ——檢索smb.conf配置文件的正確性

 

4.實驗:

 

實驗一【可匿名訪問的共享】

如今須要將/benet/目錄進行共享,要求每一個人均可以只讀形式訪問。

 

實驗步驟:

 

前期準備

(1)首先配置配置IP地址,

ifconfig  eth0 192.168.3.1

ifconfig

(2)掛載鏡像,

mkdir   /media/cdrom

mount  /dev/cdrom  /media/cdrom

(3)而後安裝samba 主軟件包

cd /media/ cdrom

RHEL_6.5\ x86_64\ Disc\ 1/Packages/

 

rpm -ivh samba-3.6.9-164.el6.x86_64.rpm

 

(4)建立共享目錄

mkdir  /benet/

touch /benet/1.txt /benet/2.txt

 

正式開始:

 

  1. 在全局配置中將訪問安全級別改成share

vim /etc/samba/smb.conf

 

[global]——全局配置

security =share——共享級別

        passdb backend = tdbsam——共享帳戶文件的類型

 

2.在配置文件最底端輸入

 

[benet-share]——共享名

path=/benet/——共享目錄的本地路徑

public=yes或者guest ok=yes      ——是否全部人能夠訪問

read only=yes或者writable=yes    ­——是否擁有寫入權限

:wq——保存退出

 

 

3.重啓服務

service smb start

service nmb start

 

4.驗證

 

 

實驗二【需用戶驗證的訪問共享】

咱們將/zhang/目錄共享,要求zhangsan用戶和lisi用戶以及root組均可以訪問,而且zhangsan用戶和root組能夠寫入

 

實驗步驟:

  1. 設置IP地址,掛載鏡像,安裝samba 主軟件包,建立帳戶,建立目錄,修改目錄權限777

ifconfig  eth0 192.168.3.1——設置臨時IP

ifconfig——查看IP

 

mkdir   /media/cdrom——建立掛載點

mount  /dev/cdrom  /media/cdrom

——掛載鏡像

 

cd /media/ cdrom/RHEL_6.5\ x86_64\ Disc\ 1/Packages/

——切換目錄

rpm -ivh samba-3.6.9-164.el6.x86_64.rpm

——安裝軟件包

 

useradd zhangsan

useradd lisi

useradd wangwu——建立帳戶

gpasswd -a wangwu root——用戶加入組

 

mkdir /zhang­——建立目錄

chmod 777 /zhang——修改目錄權限

 

 

  1. 修改samba主配置文件,將訪問安全級別改成user,而且在最低端輸入

vim /etc/samba/smb.conf

[global]——全局配置

security =share——共享級別

        passdb backend = tdbsam——共享帳戶文件的類型

 

 

 

[Z]——共享名

path=/zhang/——共享目錄的本地路徑

public=no——是否全部人能夠訪問

read only=yes——是否擁有寫入權限

valid users=zhangsan,lisi,@root——哪些人能夠訪問

write list=zhangsan,@root——哪些人能夠寫入

 

 

  1. 將用來測試的系統用戶添加爲samba用戶,擁有區別與系統密碼的samba專屬密碼。

 

(1)pdbedit  -a  -u  zhangsan

——將zhansan用戶添加爲samba用戶

pdbedit  -a  -u  lisi

——從samba用戶中添加lisi用戶

pdbedit  -a  -u  wangwu

——從samba用戶中添加wangwu用戶

 

(2)pdbedit -L  ——列出全部Samba用戶

 

(3)pdbedit -vL   zhangsan——顯示vina用戶的詳細信息

 

(4)pdbedit  -x  -u  zhangsan  ——刪除共享用戶zhangsan

 

4.重啓服務

service smb restart

service nmb restart

 

5.用客戶機訪問samba驗證權限

客戶機配置:

同網段IP,網絡適配器一個LAN區段,UNC路徑訪問,如:\\192.168.3.1

 

 

 

實驗三【需用戶驗證的訪問共享——綜合實驗】

 

實驗需求:

公司有技術部,財務部,銷售部,經理,4個部門目錄須要共享,共享權限要求以下:

 

  1. 經理和管理員能夠經過網絡任意修改這些目錄

 

  1. 技術部員工只能讀取技術部信息,技術部主管能夠修改技術部信息,而且技術部全部人均可以只讀訪問銷售部信息

 

 

  1. 財務部員工只能讀取財務部信息,財務部主管能夠修改財務部信息

 

  1. 銷售部員工只能讀取銷售部信息,銷售部主管能夠修改銷售部信息,而且銷售部全部人均可以只讀訪問技術部信息

 

 

  1. 經理的信息只有經理和管理員能夠徹底控制,其餘人無權限。

 

6.權限分配圖:

 

 

實驗步驟:

 

前期準備:

 

1)首先配置配置IP地址,

ifconfig  eth0 192.168.3.1

ifconfig

(2)掛載鏡像,

mkdir   /media/cdrom

mount  /dev/cdrom  /media/cdrom

(3)而後安裝samba 主軟件包

cd /media/ cdrom

RHEL_6.5\ x86_64\ Disc\ 1/Packages/

 

rpm -ivh samba-3.6.9-164.el6.x86_64.rpm

 

 

1.建立組,組裏添加用戶

groupadd -g 1500 jishuzu

groupadd xiaoshouzu

groupadd caiwuzu——建立組

tail -3 /etc/group——查看組

 

useradd -G jishuzu js01

useradd -G jishuzu jszg

useradd -G caiwuzu cw01

useradd -G caiwuzu cwzg

useradd -G xiaoshouzu xs01

useradd -G xiaoshouzu xszg——組裏添加用戶

 

useradd jingli——建立用戶

 

 

  1. 建立每一個組的共享目錄,而且設置權限

mkdir /jishubu /caiwubu /xiaoshoubu/jingli

——建立共享目錄

ls /——查看建立的目錄

 

chmod777 /xiaoshoubu/ /caiwubu/ /jishubu/ /jingli/

——給共享目錄設置權限

ll /——查看設置的權限

 

 

  1. 編輯samba配置文件

vim /etc/samba/smb.conf

——編輯Samba的配置文件

 

[global]——全局配置

 

security =user——共享級別

        passdb backend = tdbsam——共享帳戶文件的類型

 

 

[js]——共享名

path=/jishubu/——共享目錄的本地路徑

public=no                                        ——是否全部人能夠訪問

read only=yes——是否擁有寫入權限

valid users=@jishuzu,@xiaoshouzu,jingli,root——哪些人能夠訪問

write list=jszg,jingli,root——哪些人能夠寫入

[cw]

path=/caiwubu/

public=no

read only=yes

valid users=@caiwuzu,jingli,root

write list=cwzg,jingli,root

[xs]

path=/xiaoshoubu/

public=no

read only=yes

valid users=@jishuzu,@xiaoshouzu,jingli,root

write list=xszg,root,jingli

[jingli]

path=/jingli/

public=no

read only=yes

valid users=root,jingli

write list=root,jingli

 

 

  1. 從新啓動服務

service smb restart

service nmb restart

 

 

  1. 將用來測試的系統用戶添加爲samba用戶,擁有區別與系統密碼的samba專屬密碼

 

pdbedit -a -u jingli——添加系統用戶爲Samba用戶

new password:——設置Samba專屬密碼

retype new password:

 

pdbedit -a -u js01

new password:

retype new password:

 

pdbedit -a -u jszg

new password:

retype new password:

 

pdbedit -a -u cw01

new password:

retype new password:

 

pdbedit -a -u cwzg

new password:

retype new password:

 

pdbedit -a -u xs01

new password:

retype new password:

 

pdbedit -a -u xszg

new password:

retype new password:

 

pdbedit -a -u root

new password:

retype new password:

 

 

  1. 而後去客戶機驗證,按照上邊的權限表進行驗證

net  use  * /del   ——斷開鏈接

 

客戶機配置:

同網段IP,網絡適配器一個LAN區段,UNC路徑訪問,如:\\192.168.3.1

 

 

 

實驗四【用戶映射——別名】

 

1.修改/etc/samba/smbusers

格式:真名 =別名別名

 

jingli=ergou haha

 

2.修改/etc/samba/smb.conf,在全局配置下添加

 

[global]——全局配置

username map=/etc/samba/smbusers——別名地址

 

3. 從新啓動服務

service smb restart

service nmb restart

 

4.客戶機驗證

 

 

 

實驗五【主機地址訪問限制】

 

主機訪問過濾

  1. 在全局配置下添加
  2.  

[global]——全局配置

hosts allow=192.168.3.1   192.168.3.2   192.168.3.23

——僅容許

或者:

hosts deny=192.168.3.1

——僅拒絕

 

 

 

實驗六使用smbclient訪問共享文件夾

 

 

smbclient   -L   192.168.3.1/目標主機名   -U  

——查詢目標主機的共享資源

 

smbclient  //192.168.3.1/benet/       

——登陸並訪問共享文件夾(匿名)

 

smbclient  -U   zhangsan  //192.168.3.1/benet/   -U   lisi

——登陸並訪問共享文件夾(需驗證的共享)

 

smb:\> ls   ——查看列表

       pwd   ——查看當前路徑

 get或   mget ——上傳

put   或 mput——下載

?或help——在線幫助

quit——退出

 

 

 

實驗七使用mount 掛載共享目錄

 

mkdir   /media/smbguazai

——建立掛載目錄

mount  -o  username=zhangsan  //192.168.3.1/benet/   /media/smbguazai

——掛載

 

第十一章   FTP 文件傳輸服務

 

 

實驗一

匿名訪問:

要求:開啓匿名訪問,而且開啓某文件夾的寫入權限

1.設置IP地址,掛載鏡像,安裝vsftpd服務(軟件包)

vim /etc/sysconfig/network-scripts/ifcfg-eth0

或者:ifconfig  eth0  192.168.3.1

 

mkdir   /media/cdrom

mount  /dev/cdrom  /media/cdrom

 

cd /media/ cdrom

RHEL_6.5\ x86_64\ Disc\ 1/Packages/

 

rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

 

 

2.修改/var/ftp/pub/的屬主(匿名訪問的FTP的默認的根目錄)

chown   ftp  /var/ftp/pub

ll /var/ftp/

3.修改主配置文件vsftpd.conf客戶機匿名登陸

vim  /etc/vsftpd/vsftpd.conf

 

anonymous_enable=YES默認開啓

anon_upload_enable=YES原本就有,去掉註釋便可

——上傳文件

anon_mkdir_write_enable=YES原本就有,去掉註釋便可

——上傳目錄

anon_other_write_enable=YES須要手動添加,

——修改刪除

 

4.重啓服務,驗證/var/ftp/pub/中匿名用戶有了修改權限

service vsftpd restart

 

實驗二

本地用戶訪問

需求:本地用戶訪問的vsftpd,直接開啓服務,useradd添加用戶,passwd設置用戶密碼而後能夠驗證訪問了。

 

實驗步驟:

1.新建用戶zhangsan ,lisi ,在zhangsan家目錄中建立zhangsan.txt測試文件

useradd  zhangsan

passwd  123.com

useradd  lisi

passwd  123.com

 

touch   /home /zhangansan/zhangsan.txt

 

2.修改/etc/vsftpd/user_list  ,添加zhangsan,爲了效果能夠刪除其餘的用戶

vim  /etc/vsftpd/user_list 

  9999dd (從用戶開始)

  zhangsan

 

3.在/etc/vsftpd/vsftpd.conf  配置文件的最後,添加一行

userlist_deny=NO ,啓動白名單,只有位於user_list文件中的用戶才能夠登陸ftp服務器。

 

vim  /etc/vsftpd/vsftpd.conf

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

userlist_deny=NO (最後一行)

 

4.使用zhangsan和lisi分別驗證(注意若是但願匿名繼續訪問,還須要添加anonymous和ftp)

 

 

 

 

 

 

 

 

 

 

實驗三

vsftpd 虛擬用戶

實驗步驟:

 

1.確認vsfptd和db4-utils是否安裝

rpm -q vsftpd

vsftpd-2.2.2-11.el6_4.1.x86_64

rpm -q db4-utils

db4-utils-4.7.25-18.el6_4.x86_64

 

2.手動建立用戶認證文件。

vim /etc/vsftpd/vusers.list——奇數行用戶名,偶數行密碼

 

vim /etc/vsftpd/vusers.list

zhangsan

123.com

lisi

123.com

:wq

 

 

3.將手寫的普通文件轉化爲數據庫文件

  cd   /etc/vsftpd

db_load -T -t hash -f vusers.list vusers.db

多了一個文件

vusers.db

 

4.爲了加強安全性,回收一些用戶數據庫文件的權限(跟實驗結果無關)

 

chmod 600/etc/vsftpd/vusers.*

ll /etc/vsftpd/

 

5.建立虛擬用戶使用的真實映射用戶(也就是說虛擬用戶是以某個真實用戶的身份登陸的ftp)

 

useradd -d /var/ftproot/ -s /sbin/nologin lpc(用戶名未必叫lpc)

tail -1/etc/passwd

lpc:x:500:500::/var/ftproot/:/sbin/nologin

 

6.修改/var/ftproot/目錄的權限

chmod 755 /var/ftproot

ll /var

 

7.手敲PAM認證文件(建立一個虛擬用戶的認證文件,告訴系統當FTP虛擬用戶登陸的時候,我應該去哪一個數據庫裏找到相應的登陸憑證)

vim /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth   required    pam_userdb.so db=/etc/vsftpd/vusers

account  required   pam_userdb.so db=/etc/vsftpd/vusers

:wq

 

8. 在vsftpd.conf中啓用虛擬用戶

在文件最下面

pam_service_name=vsftpd.vu

guest_enable=YES

guest_username=lpc

userlist_enable=YES

tcp_wrappers=YES

 

 

啓動服務

service   vsftpd   start

 

9. 階段1驗證:在/var/ftproot/中新建幾個文件,測試虛擬用戶訪問FTP

存在問題:zhangsan和lisi訪問都看到一樣的目錄,那麼不必建立虛擬用戶,而且zhangsan和lisi對這個目錄都沒有權限。

 

首先在/var/ftproot/建立測試文件lpc.txt

touch /var/ftproot/lpc.txt

 

 

 

 

 

 

 

 

10.爲虛擬用戶設置權限,虛擬用戶的權限是跟着anon匿名權限走的!

vim  /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES(本來存在,去掉註釋便可)

 

 

11.階段2驗證:賦予匿名用戶上傳文件(虛擬用戶權限用的就是匿名權限)的權限後發現zhangsan和lisi同時繼承了主配置文件vsftpd.conf中的權限

 

結果:zhangsan  和 lisi 均可以上傳文件了

 

12. 爲虛擬用戶建立獨立的權限配置文件,實現zhangsan能夠讀取,上傳文件,上傳目錄,修改刪除,lisi可讀取,能夠上傳文件,可上傳目錄,不能夠修改刪除

 

(1)首先人爲建立存放獨立配置文件的目錄

mkdir /etc/vsftpd/vusers_dir(名稱能夠自擬,在vsftpd中同樣就行)

 

(2)其次在vsftpd主配置文件中聲明我的配置的目錄在哪

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/vusers_dir

 

(3)最後在剛纔的目錄中建立用戶的獨立配置文件

   1. mkdir  /zhangsan/zs  -p

   touch  /zhangsan/zs/zhangsan.txt

vim /etc/vsftpd/vusers_dir/zhangsan

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/zhangsan/zs     

 

 

2.mkdir  /lisi/ls/  -p

touch  /lisi/ls/lisi.txt

vim /etc/vsftpd/vusers_dir/lisi

anon_mkdir_write_enable=YES

local_root=/lisi/ls

                                                                           

 

重啓服務

service   vsftpd   restart

 

13.階段3驗證:zhangsan和lisi擁有不一樣的權限。擁有不一樣的家目錄.

結果:

zhangsan能夠讀取,上傳文件,上傳目錄,修改刪除,

lisi可讀取,能夠上傳文件,可上傳目錄,不能夠修改刪除

第十二章  DNS 域名解析服務

 

部署DNS服務器:

 

1.配置IP地址,安裝DNS相關軟件包:bind——libs , bind——9.8.2bind——utils

 

cd /media/RHEL_6.5\ x86_64\ Disc\ 1/Packages/

rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm

 

2.修改主配置文件(/etc/named.conf

 

vim  /etc/named.conf

將文件中的

listen-on port 53 { 127.0.0.1; };

allow-query     { localhost; };

修改成

listen-on port 53 { any; };

allow-query     { any; };

 

3.在區域配置文件中聲明benet.comaccp.com兩個正向查找區域和3.168.192.arpa一個反向查找區域

(能夠在主配置文件聲明也能夠在/etc/named.rfc1912.zones文件中聲明)

 

vim/etc/named.rfc1912.zones

複製以下5行做爲《正向》聲明的樣板

zone "localhost.localdomain" IN {

        type master;

        file "named.localhost";

        allow-update { none; };

};

修改成

zone "benet.com" IN {

        type master;

        file "benet.com.zone";

        allow-update { none; };

};

zone "accp.com" IN {

        type master;

        file "accp.com.zone";

        allow-update { none; };

};

複製以下5行做爲《反向》聲明的樣板

zone "1.0.0.127.in-addr.arpa" IN {

        type master;

        file "named.loopback";

        allow-update { none; };

};

修改成

zone "3.168.192.in-addr.arpa" IN {

        type master;

        file "3.168.192.arpa.zone";

        allow-update { none; };

};

4.人爲建立區域數據庫文件

 

cd /var/named

cp -pnamed.localhost benet.com.zone

cp -p named.localhost accp.com.zone

cp -p named.loopback 3.168.192.arpa.zone

 

5.開始修改區域數據庫

 

vim benet.com.zone

修改

TTL 1D

@       IN SOA  @ rname.invalid. (

  0      ; serial

 1D      ; refresh

 1H      ; retry

 1W      ; expire

 3H )    ; minimum

        NS      @

        A       127.0.0.1

        AAAA    ::1

TTL 86400

@       IN SOA  benet.com.  tang.163.com. (

 2017080801       ; serial

 1D                  ; refresh

 1H                  ; retry

 1W        ; expire

 3H )         ; minimum

       IN        NS    ns1.benet.com.

ns1 IN        A     192.168.3.1

www     IN   A       123.123.123.123

ftp  IN   A       1.1.1.1

*     IN   A     8.8.8.8

 

accp.com.zone數據庫同benet.com.zone數據庫,再也不列舉

 

6.製做反向區域的區域數據庫文件

 

vim  3.168.192.arpa.zone

修改

$TTL 86400

@       IN SOA  @ rname.invalid. (

        0      ; serial

        1D     ; refresh

        1H     ; retry

        1W    ; expire

        3H )    ; minimum

        NS      @

        A       127.0.0.1

        AAAA    ::1

        PTR     localhost.

 

$TTL 1D

@       IN SOA  s2t115.com.  tang.163.com. (

          2017080801      ; serial

          1D      ; refresh

          1H      ; retry

          1W      ; expire

          3H )    ; minimum

        IN      NS      ns1.s2t115.com.

ns1     IN      A       192.168.3.1

1       IN      PTR     gjjlin.bjnet.s2t115.com.

 

7.開啓DNS服務

 

service named start

 

8.檢測配置文件的語法

 

named-checkconf

——檢測主配置文件的語法

named-checkzone     區域區域數據庫

named-checkzone  benet.com  benet.com.zone

——檢測區域文件的語法

 

9.驗證

客戶機配置:設置同網段的IP,而後首選DNS指向Linux服務器,設置LAN段

 

 

 

10.設置vsftpd的解析

 

(1)  安裝vsftpd軟件包

 

rpm  -ivh  vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

 

2)建立登陸FTP 的本地登陸用戶,且設置密碼,並在zhangsan目錄中建立測試文件

 

useradd  zhangsan

passwd  zhangsan

touch  /home/zhangsan/zhangsan.txt

 

3)開啓vsftpd服務

 

service  vsftpd   start

 

4)在區域數據庫裏添加vsftpd的解析

 

TTL 86400

@       IN SOA  benet.com.  tang.163.com. (

 2017080801       ; serial

 1D                 ; refresh

 1H                 ; retry

 1W         ; expire

 3H )         ; minimum

       IN        NS      ns1.benet.com.

ns1 IN        A       192.168.3.1

www     IN   A   123.123.123.123

ftp  IN   A         192.168.3.1

*     IN   A   8.8.8.8

 

 

5)客戶機驗證

 

相關文章
相關標籤/搜索