Linux操作系统管理 技术支持中心.

Slides:



Advertisements
Similar presentations
本章重点内容  SMB 协议和 Samba 简介  安装和启动 Samba  配置 Samba 文件共享  配置 Samba 打印共享  在 Linux 环境下访问 Samba 共享.
Advertisements

LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
命令行操作 shell介绍 常见三种Shell ---Bourne shell(sh) ---C shell(csh)
组网技术与配置 (第3版) 清华大学出版社 ISBN
技术支持部 张新凤( ) 并行机群系统安装、使用和管理 技术支持部 张新凤( )
第六章 Linux的系統管理基礎 課前指引 身為Linux系統管理員,除了熟悉作業系統的安裝、圖形介面的操作及系統指令的使用與軟體套件的安裝外,更需要瞭解基礎的Linux系統管理技巧。本節,將針對此部分進行說明。
Oracle数据库 Oracle 子程序.
第一讲:Linux基础培训.
在PHP和MYSQL中实现完美的中文显示
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
Confidential Property
網路指令 講師 : 郭育倫
Linux.
主讲:邓 志 龙 Linux网络技术 主讲:邓 志 龙
安全操作系统 中国科学技术大学计算机系 陈香兰(0512- ) 助教:裴建国
第 2 章 上機使用 Unix/Linux 內容: 操作介面 主機連線 登入主機 認識系統環境 使用者常用命令.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Linux 入門課程(基礎篇) 講者: Pank
網路伺服器應用 Linux Server Andres, Wen-Yuan Liao
学习目标 1、Linux(这里用的是Centos)下mysql5.7的基本安装 2、课后习题.
本章主要讲解Internet应用服务器的配置方法,包括DNS服务器、FTP服务器、 服务器。通过对本章的学习,主要掌握以下内容:
SOA – Experiment 3: Web Services Composition Challenge
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
网络常用常用命令 课件制作人:谢希仁.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
岗位技能(二)Linux系统配置与管理 项目3 TCP/IP网络接口配置
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第 20 章 帳號與磁碟空間管理 著作權所有 © 旗標出版股份有限公司.
第17章 网站发布.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
Windows 7 的系统设置.
YMSM D-PACK 安装手册 作成者:D-PACK维护组(YMSLx) 作成日:
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
SOA – Experiment 2: Query Classification Web Service
第二章 登录UNIX操作系统.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
Web安全基础教程
第四章 团队音乐会序幕: 团队协作平台的快速创建
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
3Glasses SDK for Unreal Engine Plugin
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
Visual Basic程序设计 第13章 访问数据库
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
Google的云计算 分布式锁服务Chubby.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
RHCE.
Zookeeper的应用 Hbase Kafka Twitter Storm Spark—mesos+zookeeper.
Linux网络配置管理.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
使用说明书 网址: 贵阳学院智慧实验室管理平台 用户中心 使用说明书 网址:
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
实验六静态路由.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六章 文件系统与文件管理 6.4 Linux文件管理 1、比较MS DOS 与 Linux的目录结构 一、Linux文件系统的树形结构
JUDDI安装手册.
百万行、千万行数据查询教程 老黄牛.
Primary introduction to docker
Presentation transcript:

Linux操作系统管理 技术支持中心

目录 第一章: Linux系统的用户权限管理 第二章: Linux系统的进程管理 第三章: Linux系统的网络配置 第四章: Linux常用服务配置 第五章: Linux编译内核

第一章:LINUX系统的用户权限管理

1.1 Linux系统用户与任务的关系 理解Linux的单用户多任务,多用户多任务概念 有时可能是很多用户同时用同一个系统,但并不所有的用户都一 定都要做同一件事,所以这就有多用户多任务之说; 举个例子,比如一台服务器,上面有FTP用户、系统管理员、web 用户、常规普通用户等,在同一时刻,有的可能在上传软件包管理子 站;在与此同时,可能还会有系统管理员在维护系统;不同用户所具 有的权限也不同,要完成不同的任务得需要不同的用户,也可以说不 同的用户,可能完成的工作也不一样; 值得注意的是:多用户多任务并不是大家同时挤到一起在一台机 器的的键盘和显示器前来操作机器,多用户可能通过远程登录来进行, 比如对服务器的远程控制,只要有用户权限任何人都是可以上去操作 或访问的;

1.2 Linux系统用户和组的概念 用户(user)的概念 Linux 是真正意义上的多用户操作系统,Linux系统中可建若干用户(user), 在Linux系统中的一些用户是用来完成特定任务的。 用户组(group)的概念 用户组(group)就是具有相同特征的用户(user)的集合体;比如有时要让 多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时 需要用户组,把用户都定义到同一用户组,通过修改文件或目录的权限,让 用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相 同的权限,这是通过定义组和修改文件的权限来实现的; 用户和用户组的对应关系是:一对一、多对一、一对多或多对多 一对一:某个用户可以是某个组的唯一成员; 多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组; 一对多:某个用户可以是多个用户组的成员; 多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;其 实多对多的关系是前面三条的扩展;理解了上面的三条,这条也能理解

1.3 Linux系统用户和组的配置 与用户(user)和用户组(group)相关的配置文件 与用户(user)相关的配置文件 /etc/passwd 注:用户(user)的配置文件; /etc/shadow 注:用户(user)影子口令文件; 与用户组(group)相关的配置文件 /etc/group 注:用户组(group)配置文件; /etc/gshadow 注:用户组(group)的影子文件;

1.3.1 Linux系统用户管理的命令 管理用户(user)的工具或命令 useradd :添加用户 adduser :添加用户 userdel :删除用户 passwd :为用户设置密码 usermod :修改用户命令,可以通过usermod 来修改登录名、用户的家目录等 pwconv :同步用户信息,从/etc/passwd 到/etc/shadow pwck :校验用户配置文件/etc/passwd 和/etc/shadow 是否合法或完整; pwunconv :pwcov 的立逆向操作,从/etc/shadow和 /etc/passwd 创建/etc/passwd ; finger :查看用户信息工具 id :查看用户的UID、GID及所归属的用户组 chfn :更改用户信息工具 su :用户切换工具 sudo :通过另一个用户来执行命令;但需通过visudo 编辑/etc/sudoers来实现; visudo :编辑 /etc/sudoers 的命令 sudoedit :和visudo 功能差不多

1.3.2 Linux系统用户组管理的命令 管理用户组(group)的工具或命令 groupadd :添加用户组; groupdel :删除用户组; groupmod :修改用户组信息; groups :显示用户所属的用户组; grpck/grpconv :通过/etc/group和/etc/gshadow 的文件内容来同 步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建; grpunconv :通过/etc/group 和/etc/gshadow 文件内容来同步或 创建/etc/group,然后删除gshadow文件。

1.3.3 Linux系统用户主目录文件 /etc/skel 目录 /etc/skel目录一般是存放用户启动文件的目录,这个目录是由root 权限控制,当添加用户时,这个目录下的文件自动复制到新添加的用 户的家目录下;/etc/skel 目录下的文件都是隐藏文件,也就是类 似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文 件,来为用户提供一个统一、标准的、默认的用户环境。 /etc/skel 目录下的文件,一般是用useradd 和adduser 命令添加用 户(user)时,系统自动复制到新添加用户(user)的家目录下;如 果我们通过修改 /etc/passwd 来添加用户时,我们可以自己创建用 户的家目录,然后把/etc/skel 下的文件复制到用户的家目录下,然 后要用chown 来改变新用户家目录的属主。

1.3.4 Linux系统用户管理相关文件 /etc/default/useradd 文件 # useradd defaults file GROUP=100 HOME=/home :把用户的家目录建在/home中; INACTIVE=-1 :是否启用帐号过期停权,-1表示不启用; EXPIRE= :帐号终止日期,不设置表示不启用; SHELL=/bin/bash :所用SHELL的类型; SKEL=/etc/skel : 默认添加用户的目录默认文件存放位置;也就是 说,当我们用adduser添加用户时,用户家目录下的文件,都是从这 个目录中复制过去的;

1.3.5 Linux系统用户管理相关文件 /etc/login.defs 配置文件 /etc/login.defs 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的; 比如Fedora 的 /etc/logins.defs 文件内容(注释删除后的内容) MAIL_DIR /var/spool/mail 注:创建用户时创建相应的mail文件; PASS_MAX_DAYS 99999 注:用户的密码不过期最多的天数; PASS_MIN_DAYS 0 注:密码修改之间最小的天数; PASS_MIN_LEN 5 注:密码最小长度; PASS_WARN_AGE 7 注:密码过期之前7天开始提示; UID_MIN 500 注:最小UID为500 ; UID_MAX 60000 注:最大UID为60000; GID_MIN 500 注:GID 是从500开始; GID_MAX 60000 注:最大GID为60000; CREATE_HOME yes 注:是否创用户家目录,默认创建;

1.3.6 Linux系统用户文件权限定义-umask umask 是通过八进制的数值来定义用户创建文件或目录的默认权限,umask 表示的是禁止权限,不过文件和目录有点不同: 新创建的文件默认不具有可执行允可权限:-rw------- 新创建的目录默认具有可执行允可权限: drwx--x--x 对于文件来说,umask 的设置是在假定文件拥有八进制666权限上进行,文件的权限就是是666减去umask的掩码数值; 对于目录来说,umask 的设置是在假定文件拥有八进制777权限上进行,目录八进制权限777减去umask的掩码数值 umask 文件 目录 6 7 1 5 2 4 3 系统用户的家目录的权限是通过在配置文件中指定的,比如Fedora 中是用的 /etc/login.defs文件;其中有这样一段: CREATE_HOME yes UMASK 077 当用户添加时,系统自动在/home中创建用户的家目录,并且设置它的权限为777-077=700 ,也就是rwx------

1.3.7 Linux系统用户管理举例 添加test用户,该用户属于workgroup组 添加组: #groupadd –u 1000 workgroup 添加用户: #useradd –u 1000 –g 1000 –d /home/test –s /bin/bash test 若系统为suse,则要在添加用户时生成用户目录,需要加-m参数 #useradd –u 1000 –g 1000 –m /home/test –s /bin/bash test 删除test用户 #userdel test #rm –rf /home/test

第二章:LINUX系统的进程管理

2.1 程序和进程 程序是为了完成某种任务而设计的软件。 比如OpenOffice是程序。 什么是进程呢?进程就是运行中的程序。 一个运行着的程序,可能有多个进程。 比如WWW服务 器是apache服务器,当管理员启动服务后,可能会有好 多人来访问,也就是说许多用户来同时请求httpd服务, apache服务器将会创建有多个httpd进程来对其进行服务。

2.1.1 进程分类 进程一般分为交互进程、批处理进程和守护进程三类。 值得一提的是守护进程总是活跃的,一般是后台运行,守 护进程一般是由系统在开机时通过脚本自动激活启动或超 级管理用户root来启动。比如在Fedora或Redhat中,我 们可以定义httpd 服务器的启动脚本的运行级别,此文件 位于/etc/init.d目录下,文件名是httpd, /etc/init.d/httpd 就是httpd服务器的守护程序,当把它 的运行级别设置为3和5时,当系统启动时,它会跟着启动。 [root@localhost ~]# chkconfig --level 35 httpd on 由于守护进程是一直运行着的,所以它所处的状态是等待 请求处理任务。比如,是不是访问网站,网站的httpd服 务器都在运行,等待着用户来访问,也就是等待着任务处 理。

2.1.2 进程的属性 进程ID(PID):是唯一的数值,用来区分进程; 子进程和父进程的ID(PPID); 启动进程的用户ID(UID)和所归属的组 (GID); 进程状态:状态分为运行R、休眠S、僵尸Z; 进程执行的优先级; 进程所连接的终端名; 进程资源占用:比如占用资源大小(内存、CPU 占用量)。

2.1.3 父进程和子进程 他们的关系是管理和被管理的关系,当父进程终 止时,子进程也随之而终止。但子进程终止,父 进程并不一定终止。比如httpd服务器运行时,我 们可以杀掉其子进程,父进程并不会因为子进程 的终止而终止。 在进程管理中,当我们发现占用资源过多,或无 法控制的进程时,应该杀死它,以保护系统的稳 定安全运行;

2.2 进程管理 对于Linux进程的管理,是通过进程管理工具实现 的,比如: ps kill killall pgrep

2.2.1 ps 监视进程工具 ps 的参数说明; 获得线程信息: ps -eLf ps axms 获得进程树: ps -ejH ps axjf l 长格式输出; u 按用户名和启动时间的顺序来显示进程; j 用任务格式来显示进程; f 用树形格式来显示进程; a 显示所有用户的所有进程(包括其它用户); x 显示无控制终端的进程; r 显示运行中的进程;

2.2.1 ps aux 或lax输出的解释 USER 进程的属主; PID 进程的ID; PPID 父进程的ID; %CPU 进程占用的CPU百分比; %MEM 占用内存的百分比; NI 进程的NICE值,数值大,表示较少占用CPU时间; VSZ 进程虚拟大小; RSS 驻留中页的数量; TTY 终端ID WCHAN 正在等待的进程资源; START 启动进程的时间; TIME 进程消耗CPU的时间; COMMAND 命令的名称和参数;

2.2.1 ps aux显示的进程状态 STAT 进程状态 D Uninterruptible sleep (usually IO) W 进入内存交换(从内核2.6开始无效); X 死掉的进程(从来没见过); Z 僵尸进程; < 优先级高的进程 N 优先级较低的进程 L 有些页被锁进内存; s 进程的领导者(在它之下有子进程); l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) + 位于后台的进程组; WCHAN 正在等待的进程资源; START 启动进程的时间; TIME 进程消耗CPU的时 间; COMMAND 命令的名称和参数。

2.2.2 pgrep pgrep 是通过程序的名字来查询进程的工具,一 般是用来判断程序是否正在运行。在服务器的配 置和管理中,这个工具常被应用,简单明了

2.2.2 pgrep 用法 #pgrep 参数选项 程序名 常用参数 -l 列出程序名和进程ID; -o 进程起始的ID; -n 进程终止的ID; 举例: [root@localhost ~]# pgrep -l httpd 4557 httpd 4560 httpd 4561 httpd 4562 httpd 4563 httpd 4564 httpd 4565 httpd 4566 httpd

2.3终止进程kill,killall,pkill,xkill 另外应用的场合就是在服务器管理中,在不涉及数据库服务器程序的 父进程的停止运行,也可以用这些工具来终止。为什么数据库服务器 的父进程不能用这些工具杀死呢?原因很简单,这些工具在强行终止 数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定 程度的时候,数据库就有崩溃的危险。比如mysql服务器最好是按其 正常的程序关闭,而不是用pkill mysqld 或killall mysqld 这样危险 的动作;当然对于占用资源过多的数据库子进程,我们应该用kill来 杀掉。

2.3.1 kill kill的应用是和ps 或pgrep 命令结合在一起使用的 kill [信号代码] 进程ID 注:信号代码可以省略;我们常用的信号代码是 -9 ,表 示强制终止 对于僵尸进程,可以用kill -9 来强制终止退出 例: [root@localhost ~]# pgrep -l gaim 5031 gaim [root@localhost ~]# kill -9 5031

2.3.2 killall killall 通过程序的名字,直接杀死所有进程 用法:killall 正在运行的程序名 killall 也和ps或pgrep 结合使用,比较方便 通过ps或pgrep 来查看哪些程序在运行 举例: [root@localhost test]# pgrep -l gaim 2979 gaim [root@localhost test]# killall gaim

2.3.3 pkill pkill 和killall 应用方法差不多,也是直接杀死运行中的程 序;如果您想杀掉单个进程,请用kill 来杀掉 应用方法: #pkill 正在运行的程序名 举例: [root@localhost test]# pgrep -l gaim 2979 gaim [root@localhost test]# pkill gaim

2.3.4 xkill xkill 是在桌面用的杀死图形界面的程序。比如当 firefox 出现崩溃不能退出时,点鼠标就能杀死 firefox 。当xkill运行时出来人脑骨的图标,哪个 图形程序崩溃一点就OK了。如果您想终止xkill , 就按右键取消; xkill 调用方法: [root@localhost ~]# xkill

2.4 top监视系统任务的工具 与ps 相比,top是动态监视系统任务的工具, top 输出的结果是连续的

2.4.1 top 命令用法及参数 参数: -b 以批量模式运行,但不能接受命令行输入; -c 显示命令行,而不仅仅是命令名; -d N 显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为5秒; -i 禁止显示空闲进程或僵尸进程; -n NUM 显示更新次数,然后退出; -p PID 仅监视指定进程的ID;PID是一个数值; -q 不经任何延时就刷新; -s 安全模式运行,禁用一些效互指令; -S 累积模式,输出每个进程的总的CPU时间,包括已死的子进程;

2.5进程的优先级:nice和renice 在当前程序运行优先级基础之上调整指定值得到新的程序运行 优先级。优先级的范围为-20 ~ 19 ,40个等级,其中数值越 小优先级越高,数值越大优先级越低,既-20的优先级最高, 19的优先级最低。若调整后的程序运行优先级高于-20,则就 以优先级-20来运行命令行;若调整后的程序运行优先级低于 19,则就以优先级19来运行命令行。若 nice命令未指定优先 级的调整值,则以缺省值10来调整程序运行优先级,既在当前 程序运行优先级基础之上增加10。 若不带任何参数运行命令nice,则显示出当前的程序运行优先 级。

2.5 nice/renice -n, 指定程序运行优先级的调整值。 优先级的范围为-20~19,当调整后的优先级小于-20时,以优先级-20 来运 行程序;当调整后的优先级大于19时,则以19的优先级运行程序   还可以使用参数“-ADJUST”的形式来指定程序运行优先级的调整值,其中, ADJUST为指定的程序运行优先级调整值,可以为负数,也可以为正数,    参数“--1”、“-+1”和 “-1”中的第一个字符“-”都是语法定义的指定程 序运行优先级调整值的标志符,第一个字符“-”之后的值为指定的程序运行 优先级的调整值。 在nice命令中,可以同时指定多个程序运行优先级调整值,但只有最后一次 指定的数值有效 通过命令行同时指定了优先级调整值“-20”、“+9”和“3”,但最后生效 的程序运行优先级调整值为最后指定的数值“3”。 注意:只有具有root权限的用户才可以调整高程序运行的优先级,既指定的 调整值可以为负数    系统nice程序使用的是相对nice值,renice是使用nice的绝对值: nice -n -5 /bin/sh nice值降低5 renice -5 -u /bin/sh 把sh的nice值设置为5  

第三章:LINUX系统的网络配置

3.1 Linux网络配置的相关文件 /etc/modprobe.conf 该文件定义了网卡的型号,如: alias eth1 forcedeth alias eth0 forcedeth /etc/sysconfig/networking-scripts/ifcfg-ethX 该文件设置网络的IP地址、DNS及网关 DEVICE=eth0 #设备名字 ONBOOT=yes #系统启动过程中,网络是否启动 BOOTPROTO=static #网络启动是以静态的获得IP还是动态(DHCP)获得IP IPADDR=11.11.11.49 #IP地址 NETMASK=255.0.0.0 #子网掩码 NAMESERVER=IP #设置DNS对应的IP GATEWAY=IP #设置网关对应的IP /etc/sysconfig/network 该文件设置系统名字 /etc/sysconfig/static-routes 该文件设置系统的静态路由 any net 192.168.0.0/24 gw 192.168.1.6

3.2 网络启动命令 配置好网络的相关文件后,进行网络启动: /etc/init.d/network restart ifconfig eth0 down = ifdown eth0 ifconfig eth0 up = ifup eth0 ifconfig eth0:0 192.168.0.1 netmask 255.0.0.0 网卡绑定第二个IP,临时生效

关键文件和脚本 /etc/modules.conf 文件 该配置文件定义了各种需要在启动时加载的模块的参数信息。这里主 要着重讨论关于网卡的配置。 Alias parport_lowlevel parport_pc Alias eth0 eepro100 Alias eth1 e1000 Alias scsi_hostadapter aic7xxx Alias usb-controller usb-ohci

关键文件和脚本 /etc/sysconfig/network 文件 该文件用来指定服务器上的网络配置信息,下面是一个示 例: NETWORK=yes/no    网络是否被配置; HOSTNAME=hostname  表示服务器的主机名;   

关键文件和脚本 */etc/sysconfig/network-scripts/ifcfg-ethN 文件 ifcfg-eth0包含第一块网卡的配置信息 ifcfg-eth1包含第二块网卡的配置信息。 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.60.1 NETMASK=255.255.255.0 NETWORK=192.168.60.0 BROADCAST=192.168.60.255 GATEWAY=网关 NAMESERVER=DNS

关键文件和脚本 /etc/hosts /etc/services :将端口号映射到服务 /etc/resolv.conf :DNS使用此文件 192.168.60.1 node1 /etc/services :将端口号映射到服务 ftp 21/tcp ftp 21/udp telnet 23/tcp telnet 23/udp /etc/resolv.conf :DNS使用此文件 /etc/host.conf :机器查询主机名所使用域的先后顺序 Order hosts,bind

关键文件和脚本 命令行配置方式 /sbin/ifconfig eth0 192.168.60.1 netmask 255.0.0.0 /sbin/ifconfig eth0 up[down]

网卡的绑定技术bonding 修改/etc/modules.conf alias bond0 binding 创建/etc/sysconfig/network-script/ifcfg-bond0 DEVICE=bond0 IPADDR=192.168.1.1 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT=yes BOOTPROTO=none USERCTL=no

网卡的绑定技术bonding 修改/etc/sysconfig/network-script/ifcfg-eth0 DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none 修改/etc/sysconfig/network-script/ifcfg-eth1 DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none

网卡的绑定技术bonding 重启网络服务以使配置生效: /etc/init.d/network restart 执行ifconfig –a 验证网卡的配置信息. 可以看到,在当前的网络配置信息中,工作ip(192.168.1.1)被绑 定到虚拟出的网络接口bond0上。物理上的两个网络接口eth0,eth1 的状态为slave,由于在配置参数设置中options bond0 miimon=100 mode=1指定工作模式为1,所以两块网卡的工作方式 是 active,backup方式,即主备的工作方式,mode=0为负载均衡 方式.

配置路由 让我们通过查看尚未配置网关的网络接口来看一下如何配置路由。正 如您所见,使用不带参数的 route 命令将显示内核路由表。 [root@phoenix tom]# /sbin/route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.0 127.0.0.1 255.0.0.0 U 0 0 0 lo 192.168.1.0 192.168.1.5 255.255.255.0 U 0 0 0 eth0 第一项是到 localhost 的回送路由,它是配置 lo 时自动创建的。 第二项是通过接口 eth0 到网络 192.168.1.0 的路由。地址 192.168.1.5 不是远程网关地址。它是分配给 eth0 的地址。 注意每项的标志。它们都设置了 U(启动)标志,这表示准备使用它 们,但它们都未设置 G(网关)标志。不设置 G 标志是因为这两个 路由都是通过本地接口,而不是通过外部网关的直接路由。 上述示例仅包含一个网络路由 192.168.1.0。因而仅可以与位于 192.168.1.0 网络中的主机进行通信。

添加静态路由 /sbin/route add –net 192.168.40.0/24 gw 10.0.0.1 dev eth1 /sbin/route add –host 192.168.70.2 gw 10.0.0.1 eth1 /sbin/route add default gw 10.0.0.1 eth1 /sbin/netstat a — 显示所有连接的信息,包括那些正在侦听的 -i — 显示所有已配置网络设备的统计信息 -c — 持续更新网络状态(每秒一次)直至被人为中止(^C) -r — 显示内核路由表 -n — 以数字(原始)格式而不是已解析的名称显示远程和本地地址 -t — 仅显示 TCP 套接字信息(不包括任何 UCP 套接字信息) -v — 显示 netstat 的版本信息

添加静态路由 为了规范,在/etc/sysconfig/下建立STATIC-ROUTES文件: 如果是LINUX系统本身做路由器,则需执行: eth1 net 192.168.30.0/24 gw 192.168.60.254 eth1 net 192.168.40.0/24 eth1 net 192.168.5.0/24 gw 192.168.40.88 …….. 如果是LINUX系统本身做路由器,则需执行: echo 1 > /proc/sys/net/ipv4/ip_forward

RSH的配置 配置启动文件 运行setup命令 进入system services(用键盘的↑↓来选择)   配置启动文件 运行setup命令 进入system services(用键盘的↑↓来选择) 选中rlogin、rexec、rsh(用空格键) 取消Iptables、Ipchains 选定“OK”(用tab键) 选定“quit”

RSH的配置 Linux-PAM(Pluggable Authentication Modules for Linux.基于 Linux的插入式验证模块)是一组共享库,使用这些模块,系统管理者 可以自由选择应用程序使用的验证机制。也就是说,勿需重新编译应 用程序就可以切换应用程序使用的验证机制。甚至,不必触动应用程 序就可以完全升级系统使用的验证机制。 Linux-PAM处理四种类型的任务:验证管理(auth)、帐户管理 (account)、会话管理(session)和口令管理(password)。应用程序使 用的管理方式通过相关的Linux-PAM配置文件设置。管理功能是有配 置文件指定的模块完成的。

RSH的配置 /etc/pam.d/login文件 /etc/pam.d/rlogin文件 /etc/pam.d/rexec文件 把此文件中的一行注销掉。 即#auth required /lib/security/pam_securetty.so   /etc/pam.d/rlogin文件   /etc/pam.d/rexec文件

RSH的配置 /root/.rhosts文件 把机器的所有节点的主机名加入,如: .rhosts文件权限必须为644 node1 node2 node3 ……………. .rhosts文件权限必须为644 /etc/hosts文件,机群中所有节点的IP和对应的系统名字 IP 系统对应名字

SSH的配置 SSH的英文全称是Secure SHell。 通过使用SSH,你可以把所有传输的数据进行加 密,这样"中间人"这种攻击方式就不可能实现了, 而且也能够防止DNS和IP欺骗。 还有一个额外的好处就是传输的数据是经过压缩 的,所以可以加快传输的速度。 SSH有很多功能,它既可以代替telnet,又可以 为ftp、pop、甚至ppp提供一个安全的"通道"。

SSH的验证模式 第一种级别(基于口令的安全验证) 只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到"中间人"这种方式的攻击。 第二种级别(基于密匙的安全验证) 需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密"质询"(challenge)并把它发送给客户端软件。客户端软件收到"质询"之后就可以用你的私人密匙解密再把它发送给服务器。

安装并测试SSH ssh -l [your accountname on the remote host] [address of the remote host] 如果OpenSSH工作正常,你会看到下面的提示信息: The authenticity of host [hostname] can't be established. Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52. Are you sure you want to continue connecting (yes/no)?

SSH的密匙 生成并分发你自己的密匙有两个好处: 用下面的命令可以生成密匙: 可以防止"中间人"这种攻击方式 可以只用一个口令就登录到所有你想登录的服务器上 用下面的命令可以生成密匙: ssh-keygen 如果远程主机使用的是SSH 2.x就要用这个命令

生成SSH密匙对 ssh-keygen命令运行之后会显示下面的信息: Generating RSA keys: ............................ Key generation complete. Enter file in which to save the key (/home/[user]/.ssh/identity): [按下ENTER就行了] Created directory '/home/[user]/.ssh'. Enter passphrase (empty for no passphrase): [输入的口令不会显示在屏幕上] Enter same passphrase again: [重新输入一遍口令,如果忘记了口令就只能重新生成一次密匙了] Your identification has been saved in /home/[user]/.ssh/identity. [这是你的私人密匙] Your public key has been saved in /home/[user]/.ssh/identity.pub. The key fingerprint is: 2a:dc:71:2f:27:84:a2:e4:a1:1e:a9:63:e2:fa:a5:89 [user]@[local machine]

分发公用密匙 在每一个你需要用SSH连接的远程服务器上,你要在自己的家目录下创建一个“.ssh”的子目录; 把你的公用密匙“id_rsa.pub/id_dsa.pub” 拷贝到这个目录下并把它重命名为“authorized_keys“,然后将所有机器的authorized_keys中的内容都cat到authorized_keys中; 将生成的authorized_keys拷贝到各个机器中,即可不用通过认证进行ssh;

第四章 LINUX常用服务配置

NFS简介 NFS(Network File System)是由Sun开发的用于 网络上文件共享的协议. NFS使用起来很方便,所以得到了广泛的应用. 但由于它的认证机制是基于IP地址的,因而容易被 攻击. 注意NFS是基于rpc机制的,所以portmap服务一 定要打开.

NFS示例:共享/home/ vi /etc/exports /home *(rw) /etc/init.d/nfs restart exportfs –a exportfs能够看到home目录的输出 客户端需要mount服务端/home目录,当服务端 增加用户时,需要将/etc/passwd拷贝到所有客 户端

NFS的配置 三个重要文件 :rpc.mountd, rpc.nfsd, etc/exports rpc.mountd 从一个NFS客户受到一个mount请求,根据/etc/exports来 决定是否提供服务,如果被允许,rpc.mountd创建一个文件 句柄并在 /etc/mtab中加上一条纪录.该记录在umount时 被删除. /etc/exports NFS的配置文件

打开nfs服务 NFS的配置 启动服务 #chkconfig --level 35 nfs on #chkconfig --level 3 5 nfslock on #chkconfig --level 3 5 portmap on 启动服务 /etc/init.d/portmap start /etc/init.d/nfs start /etc/init.d/nfslock start

NFS的配置 设定 NFS服务端: 设定档:/etc/exports 设定档格式:档案系统  [主机][选项] /tmp  john(rw,no_root_squash) /tmp pc*.col.com.tw(rw) 172.29.0.0/255.255.0.0(ro) /pub (ro) /pub/private (noaccess)   选项说明: ro  read only  rw  read write  no_root_squash  信任客户端,对应 UID  all_squash:登陆NFS主机的用户都会被重新设定为nobody noaccess  客户端不能使用 

NFS的配置 anonuid:将登入NFS主机的用户都设定成指定的user id, 此ID必须存在于/etc/passwd中。 anongid:同 anonuid ,设定成指定的group ID 即可! sync:资料同步写入存储器中。 async:资料会先暂时存放在内存中,不会直接写入硬盘。 insecure : 允许从这台机器过来的非授权访问。

NFS的配置 exportfs [-aruv] -a :全部mount或者unmount /etc/exports中的内容 -r :重新mount /etc/exports中分享出来的目录 -u :umount 目录 -v :在 export 的时候,将详细的信息输出到屏幕上。

NFS的配置 设定 NFS客户端: # volume mount point type options news:/usr/spool/news /usr/spool/news nfs timeo=14,intr moonshot:/home /home nfs rsize=2048,wsize=2048 rsize=n and wsize=n : 读写数据块,缺省值是1024字节。 timeo=n : 用于设置NFS客户将等待一个请求完成的等待时间(以十分之一秒 计)。缺省值是0.7秒。 

NFS的配置 hard: 明确地标记出这个卷是硬加载的(hard-mounted)。缺省值是on,重复要求,直到server回应为止 。 soft : 当client的请求得不到回应,retry one time 後 传回 error message 。 intr: 允许通知中断一个NFS调用。对于服务器没有响应时的异常中止很有用。 Bg: 当第一次请求不成功,第二次的mount将放到后台执行

NFS的配置 nfsvers=n: 设定要使用的NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFS VER 3 V3相对V2的主要区别:  文件尺寸   V2最大只支持32BIT的文件大小(4G),而NFS V3新增加了支持64BIT文件大小的技术。  文件传输尺寸   V3没有限定传输尺寸,V2最多只能设定为8k,可以使用-rsize and -wsize 来进行设定。  完整的信息返回   V3增加和完善了许多错误和成功信息的返回,对于服务器的设置和管理能带来很大好处。  增加了对TCP传输协议的支持   V2只提供了对UDP协议的支持,在一些高要求的网络环境中有很大限制,V3增加了对TCP协议的支持 

NFS的配置 intr 允许通知中断一个NFS调用。当服务器没有应答需要放弃的时候有用处。 udp:使用udp作为nfs的传输协议(NFS V2只支持UDP) tcp:使用tcp作为nfs的传输协议 namlen=n:设定远程服务器所允许的最长文件名。这个值的默认是255 retry=n:设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试。默认的数值是10000 minutes noac:关闭cache机制。 同时使用多个参数的方法: mount -t nfs -o timeo=3,udp,hard 192.168.0.30:/tmp /nfs

NFS的配置 与NFS有关的一些命令介绍 nfsstat -s: 查看NFS的运行状态,对于调整NFS的运行有很大帮助 rpcinfo -p: 查看rpc执行信息,可以用于检测rpc运行情况的工具。

NFS的配置 设定档更改后,一定要记得重新启动 NFS 的服务,启动及停止的方 式如下: # /etc/rc.d/init.d/nfs [ start | stop | restart | reload ]  start  启动 NFS 服务   stop  停止 NFS 服务   restart  停止并重新启动 NFS 服务   reload  重新载入 NFS 设定值 

NFS调优   WSIZE,RSIZE参数来优化NFS的执行效能   WSIZE、RSIZE对于NFS的效能有很大的影响。   wsize和rsize设定了SERVER和CLIENT之间往来数据块的大小,这两个参数的合理设 定与很多方面有关,不仅是软件方面也有硬件方面的因素会影响这两个参数的设定 (例如LINUX KERNEL、网卡,交换机等等)。  下面这个命令可以测试NFS的执行效能,读和写的效能可以分别测试,分别找到合适 的参数。对于要测试分散的大量的数据的读写可以通过编写脚本来进行测试。在每次 测试的时候最好能重复的执行一次MOUNT和unmount。   time dd if=/dev/zero of=/mnt/home/testfile bs=16k count=16384  设定最佳的NFSD的COPY数目   linux中的NFSD的COPY数目是在/etc/rc.d/init.d/nfs这个启动文件中设置的,默认是 8个NFSD,对于这个参数的设置一般是要根据可能的CLIENT数目来进行设定的,和 WSIZE、RSIZE一样也是要通过测试来找到最合理的数值。 

NFS调优 UDP and TCP 可以手动进行设置,也可以自动进行选择。 mount -t nfs -o sync,tcp,noatime,rsize=1024,wsize=1024  host:/DIR /DIR   UDP有着传输速度快,非连接传输的便捷特性,但是UDP在传输上没有TCP来的稳定,当网络不稳定或者黑客入侵的时候很容易使NFS的 Performance 大幅降低甚至使网络瘫痪。   版本的选择   V3作为默认的选择(RED HAT 8默认使用V2,SOLARIS 8以上默认使用V3),可以通过vers= mount option来进行选择。   客户端挂载时通过mount option的nfsvers=n进行选择。

VSFTP的配置 vsftpd.conf 的内容比较简洁,每一行即为一项设定。若 是空白行或是开头为#的一行, 将会被忽略。内容的格式只有一种,如下所示 option=value 需要注意的是,等号两边不能加空白,否则是不正确的设 定。

VSFTP的配置 ascii_download_enable 是否可用ASCII 模式下载。 ascii_upload_enable 是否可用ASCII 模式上传。 chroot_list_enable 如果启动这项功能,则所有的本机使用者登入均可进到根 目录之外的数据夹,除了列在/etc/vsftpd.chroot_list 之 中的用户之外。 userlist_enable 若是启动此功能,则会读取/etc/vsftpd.user_list 当中的 使用者名称。此项功能可以在询问密码前就出现失败讯息, 而不需要检验密码的程序。默认值为关闭。

VSFTP的配置 userlist_deny 这个选项只有在userlist_enable 启动时才会被检验。如果将这个选 项设为YES,则在/etc/vsftpd.user_list 中的使用者将无法登入 若设 为NO , 则只有在/etc/vsftpd.user_list 中的使用者才能登入。而且 此项功能可以在询问密码前就出现错误讯息,而不需要检验密码的程 序。 user_config_dir 定义个别使用者设定文件所在的目录,例如定义 user_config_dir=/etc/vsftpd/userconf, 且主机上有使用者test1,test2,那我们可以在user_config_dir 的目 录新增文件名为test1 以及test2。若是test1 登入,则会读取 user_config_dir 下的test1 这个档案内的设定。默认值为无。

VSFTP的配置 accept_timeout 接受建立联机的逾时设定,单位为秒。默认值为60。 connect_timeout 响应PORT 方式的数据联机的逾时设定,单位为秒。默认 值为60。 data_connection_timeout 建立数据联机的逾时设定。默认值为300 秒。 idle_session_timeout 发呆的逾时设定,若是超出这时间没有数据的传送或是指 令的输入,则会强迫断线, 单位为秒。默认值为300。

VSFTP的配置 速率限制 anon_max_rate 匿名登入所能使用的最大传输速度,单位为每秒多少bytes,0 表示不限速度。 默认值为0。 local_max_rate 本机使用者所能使用的最大传输速度,预设值为0。 新增档案权限设定 anon_umask 匿名登入者新增档案时的umask 数值。默认值为077。 file_open_mode 上传档案的权限,与chmod 所使用的数值相同。默认值为0666。 local_umask 本机登入者新增档案时的umask 数值。默认值为077。

VSFTP的配置 connect_from_port_20 若设为YES,则强迫ftp-data 的数据传送使用port 20。默认值为YES。 ftp_data_port 设定ftp 数据联机所使用的port。默认值为20。 listen_port FTP server 所使用的port。默认值为21。 pasv_max_port 建立资料联机所可以使用port 范围的上界,0 表示任意。默认值为0。 pasv_min_port 建立资料联机所可以使用port 范围的下界,0 表示任意。默认值为0。

VSFTP的配置 anonymous 设定 anonymous_enable 管控使否允许匿名登入。 no_anon_password若是启动这项功能,则使用匿名登入时,不会询问密码。 anon_mkdir_write_enable如果设为YES,匿名登入者会被允许新增目录,默 认值为NO。 anon_other_write_enable 如果设为YES,匿名登入者会被允许更多于上传与建立目录之外的权限,譬如删 除或 是更名。默认值为NO。 anon_upload_enable 用法:YES/NO 如果设为YES,匿名登入者会被允许上传目录的权限,当然,匿名使用者必须要 有对 上层目录的写入权。默认值为NO。

VSFTP的配置 anonymous 设定 anon_world_readable_only 用法:YES/NO 如果设为YES,匿名登入者会被允许下载可阅读的档案。默认值为YES。 ftp_username 定义匿名登入的使用者名称。默认值为ftp。 deny_email_enable 若是启动这项功能,则必须提供一个档案/etc/vsftpd.banner_emails, 内容为email address。若是使用匿名登入,则会要求输入email address,若输入的email address 在 此档案内,则不允许联机。默认 值为NO。

NIS网络信息系统简介 NIS(Network Information System)提供了 通用数据库访问设施,可以实现向你的网络上的 所有主机分发信息,比如象passwd和groups文 件所包含的信息。这使得网络看起来象一个独立 系统,在所有的主机上有着相同的帐号。 你可以用同样的方式通过NIS向网络上的所有机 器同步/etc/hosts中的主机名信息。

NIS网络信息系统简介 NIS是基于RPC的,是由一个服务器、一个客户端 库以及几个管理工具组成。 起初,NIS被称作黄页(Yellow Pages),或YP, 现在仍然使用这个名称来非正式地指这项服务。 另一方面,Yellow Pages是英国电信的商标,英 国电信一直要求Sun更换这个名字。随着事态的 发展,某些名称已与人们分不开了,所以YP一直 以与NIS相关命令的前缀形式继续存在着,比如 象ypserv、ypbind等等。 

NIS网络信息系统简介 为了使一个文件能够通过NIS共享,必须做两项预备工作。第一,文件必须可以通过至少一个项进行列表化,这个项的值在整个文件中是唯一的。对于/etc/passwd文件来说,这个项可以是登录名,也可以是UID。第二,文件的原始格式必须是文本文件。 如果符合这两个条件,这些文件可以被转化为DBM文件,这是一种能够被快速搜索的简单的数据库格式。对于每个被搜索的键,应该创建不同的DBM文件。例如,对于/etc/passwd文件来说,需要相应的数据库能够按照登录名和UID搜索,因此需要创建两个DBM文件是passwd.byname和passwd.byuid

NIS网络信息系统简介 NIS域 NIS服务器和客户必须在同一个NIS域中以便彼此进行通信,注意NIS域和DNS域不同,尽管对他们来说可以使用相同的名字。 客户和服务器都捆绑到一个域中;因此,客户在一个给定的时刻只能属于一个NIS域,一旦绑定,客户进行广播以查找给定的NIS服务器。

NIS网络信息系统简介 不同的服务器 NIS服务器传统地称为ypserv。 对于一个中等大小的网络来说,单个服务器通常就足够了;大型的网络可能需要在不同的网段以及不同的机器上运行几个服务器,以减轻服务器机器和路由器的负荷。 通过将这些服务器之一作为主服务器(master server),其它的服务器作为次服务器(slave servers),使得这些服务器同步。 DBM将只在主服务器上建立。从主服务器上将它们分发到所有次服务器上。

NIS网络信息系统简介 软件安装 配置主NIS服务器 rpm –ivh yp-tools.2.7-3.i386.rpm rpm –ivh ypserv-2.5-1.i386.rpm rpm –ivh ypbind-2.22-2.i386.rpm 配置主NIS服务器 配置服务器软件之前,须确定是否要创建一些从服务器,如果要创建,需要知道他们的主机名后才能继续进行。除确定NIS服务器的名字外,还需要确定一个NIS域名。

配置NIS服务端 1.设置域名: 以dawning为例 2.初始化NIS数据库 添加NISDOMAIN=dawning到/etc/sysconfig/network文件中,使系统启 动时自动设置。 2.初始化NIS数据库 确保ypserv守护进程正在运行:/etc/init.d/ypserv start /usr/lib/yp/ypinit -m

1.编辑/etc/sysconfig/network文件 配置NIS客户端 1.编辑/etc/sysconfig/network文件 NISDOMAIN=dawning 2.编辑/etc/nsswitch文件 修改如下几行: passwd: nis files shadow: nis files group: nis files hosts: nis files dns

NIS配置 测试客户 配置从NIS服务器 ypcat passwd ypcat group /usr/lib/yp/ypinit –s master(主NIS服务器)

NIS配置 显示“Trying ypxfrd…..not running”------因为没有设置NIS主服务器运行YP映射传输守护进程rpc.ypxfrd。事实上,并不需要运行它,而是使用一种服务器的推送方法。 为了设置NIS主服务器使它能够执行实际的推送任务,修改/var/yp/Makefile: #NOPUSH=true NOPUSH=false #DOMAIN=‘basename\’pwd’ DOMAIN=‘bin/domainname’ cd /var/yp make all

NIS配置 如果得到类似的错误: Could not read ypservers map:3 Can’t bind to server which servers this domain 需要将主服务器也设置成客户。改动服务器的 /etc/yp.conf文件,并在 /etc/sysconfig/network文件中添加 NISDOMAIN项。

第五章 LINUX编译内核

Linux编译内核 1.内核的版本 uname –r: 2.4.7-10smp 2---主要版本 4---次要版本 2---主要版本 4---次要版本 7---子级版本 10---额外版本 2.获取内核 www.kernel.org 将TAR包解到/usr/src目录下,会产生/usr/src/linux-2.4.18-5目录

Linux编译内核 3.编译内核 以linux对NTFS文件系统支持为例。 A. 不同的配置界面: (1) make config----提出问题,用户回答Y或者NO (2) make menuconfig---图形化的配置界面,可以用键盘,但鼠标不能使用。 (3) make xconfig---真正的GUI图形界面。

Linux编译内核 B.内核的配置项 1.选中File system 2.NTFS file system support (read only) 3.save and exit C.运行make dep – set up all the dependencies correctly D.make clean—删除临时文件

Linux编译内核 E.创建内核映象 #make bzImage #cp /usr/src/linux-2.4.7-10/arch/i386/boot/bzImage /boot/vmlinuz2.4.7-10.img F.构建和安装模块 #make modules---遍历源代码树,把必需的.c文件编译为.o文件 #make modules_install--把.o文件都复制到/lib/modules/2.4.7-10smp/ Make install

Linux编译内核 G.创建RAM设备(初始化RAM磁盘映象) 主要用于系统引导时提前加载IDE,SCSI,RAID等块设备模块,使引导时就可以访问它们。 #mkinitrd -f initrd-2.4.7-10.img 2.4.7-10smp #cp initrd-2.4.7-10.img /boot/

Linux编译内核 H.配置GRUB Default=0 Timeout=10 Title Red Hat Linux(2.4.7-10smp) root (hd0,0) kernel /boot/vmlinuz2.4.7-10.img ro root=/dev/sda1 initrd /boot/initrd-2.4.7-10smp.imgs

更新硬件驱动 下载新驱动,根据所下载驱动的目录在相应目录解压在内核目录中; 在内核根目录依次执行: make mrproper; make oldconfig; make dep; make modules; make modules_install; make install 重启系统

谢谢! Q&A