zoukankan      html  css  js  c++  java
  • linux系统入门命令集+四大服务(DHCP、SAMBA、FTP、DNS)

    Linux 命令总结

     

     

    第一章Linux安装及服务控制

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

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

    3.cat  /proc/meminfo     //查看内存信息 memtotal总容量

    memfree空闲容量

    swaptotal交换分区总容量

    swapfree交换分区空闲容量

    4. hostname 计算机名     //修改计算机名

    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      每周一、三、五的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)客户机验证

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    软件工程结对作业02
    软件工程个人作业04
    第五周学习进度条
    软件工程中的形式化方法
    需求工程
    软件过程
    软件项目管理
    软件概论概述
    人月神话读后略有感想
    软件工程—理论、方法和实践 第一章:概述
  • 原文地址:https://www.cnblogs.com/Leonardo-li/p/9028798.html
Copyright © 2011-2022 走看看