版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux超级用户权限控制在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者。普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户。在系统中,每个文件、目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法操作的,但对root除外。root用户的特权性还表如今root能够超越任何用户和用户组来对文件或目录进行读取、修改或删除〔在系统正常的许可范围内〕;对可执行程序的执行、终止;对硬件设备的添加、创立和移除等;可以以对文件和目录进行属主和权限进行修改,以合适系统管理的需要〔由于root是系统中权限最高的特权用户〕;一、对超级用户和普通用户的理解;1、什么是超级用户;在所有Linux系统中,系统都是通过UID来区分用户权限级别的,而UID为0的用户被系统约定为是具有超级权限。超级用户具有在系统约定的最高权限满园内操作,所以讲超级用户能够完成系统管理的所有工具;我们能够通过/etc/passwd来查得UID为0的用户是root,而且只要root4、su的优缺点;SU确实为管理带来方便,通过切换到root下,能完成所有系统管理工具,只要把root的密码交给任何一个普通用户,他都能切换到root来完成所有的系统管理工作;但通过SU切换到root后,也有不平安因素;比方系统有10个用户,而且都介入管理。假如这10个用户都涉及到超级权限的运用,做为管理员假如想让其它用户通过su来切换到超级权限的root,必须把root权限密码都告诉这10个用户;假如这10个用户都有root权限,通过root权限能够做任何事,这在一定程度上就对系统的平安造成了威协;想想Windows吧,几乎就是恶梦;〃没有不平安的系统,只要不平安的人〃,我们绝对不能保证这10个用户都能按正常操作流程来管理系统,其中任何一人对系统操作的重大失误,都可能导致系统崩溃或数据损失;所以su工具在多人介入的系统管理中,并不是最好的选择,su只适用于一两个人介入管理的系统,毕竟su并不能让普通用户受限的使用;超级用户root密码应该把握在少数用户手中,这绝对是真理!所以集权而治的存在还是有一定道理的;四、sudo受权许可使用的su,也是受限制的sul.sudo的适用条件;由于SU对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。假如用su来切换到超级用户来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。十分是对于服务器的管理有多人介入管理时,最好是针对每个管理员的技术特长和管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成与其相关的工作,这时我们就有必要用到sudo。通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo相对于权限无限制性的su来讲,还是比较平安的,所以sudo也能被称为受限制的su;另外sudo是需要受权许可的,所以也被称为受权许可的SU;sudo执行命令的流程是当前用户切换到root〔或其它指定切换到的用户),然后以root〔或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行受权;2、从编写sudo配置文件/etc/sudoers开场;sudo的配置文件是/etc/sudoers,我们能够用他的专用编辑工具visodu,此工具的好处是在添加规那么不太准确时,保存退出时会提示给我们错误信息;配置好后,能够用切换到您受权的用户下,通过sudo-l来查看哪些命令是能够执行或禁止的;/etc/sudoers文件中每行算一个规那么,前面带有#号能够当作是讲明的内容,并不执行;假如规那么很长,一行列不下时,能够用'号来续行,这样看来一个规那么可以以拥有多个行;/etc/sudoers的规那么可分为两类;一类是别名定义,另一类是受权规那么;别名定义并不是必须的,但受权规那么是必须的;3、/etc/sudoers配置文件中别名规那么别名规那么定义格式如下:Alias_TypeNAME=iteml,item2,...或Alias_TypeNAME=iteml,item2,item3:NAME=item4,item5别名类型(Alias_Type):别名类型包括如下四种HostAlias定义主机别名;UsejAlias用户别名,别名成员能够是用户,用户组〔前面要加%号)Runas_Alias用来定义runas别名,这个别名指定的是“目的用户〃,即sud。允许切换至的用户;Cmnd_Alias定义命令别名;NAME就是别名了,NMAE的命名是包含大写字母、下划线以及数字,但必须以一个大写字母开始,比方SYNADM、SYN_ADM或SYNAD0是合法的,sYNAMDA或1SYNAD是不合法的;item按中文翻译是工程,在这里我们能够译成成员,假如一个别名下有多个成员,成员与成员之间,通过半角,号分隔;成员在必须是有效并事实存在的。什么是有效的呢?比方主机名,能够通过w查看用户的主机名〔或ip地址),假如您只是本地机操作,只通过hostname命令就能查看;用户名当然是在系统中存在的,在/etc/paswd中必须存在;对于定义命令别名,成员也必须在系统中事实存在的文件名〔需要绝对途径);item成员受别名类型Host_Alias>User_Alias>Runas_Alias>Cmnd_Alias制约,定义什么类型的别名,就要有什么类型的成员相配。我们用Host_Alias定义主机别名时,成员必须是与主机相关相关联,比方是主机名〔包括远程登录的主机名)、ip地址〔单个或整段)、掩码等;当用户登录时,能够通过w命令来查看登录用户主机信息;用User_Alias和Runas_Alias定义时,必需要用系统用户做为成员;用Cmnd_Alias定义执行命令的别名时,必须是系统存在的文件,文件名能够用通配符表示,配置Cmnd_Alias时命令需要绝对途径;其中Runas_Alias和User_Alias有点类似,但与User_Alias绝对不是同一个概念,Runas_Alias定义的是某个系统用户能够sudo切换身份到Runas_Alias下的成员;我们在受权规那么中以实例进行讲解;别名规那么是每行算一个规那么,假如一个别名规那么一行容不下时,能够通过'来续行;同一类型别名的定义,一次可以以定义几个别名,他们中间用:号分隔,Host_AliasHT01=localhost,st05,st04,10,0,0,4,255.255.255.0,192.168.1.0/24注:定义主机别名HT01,通过二号列出成员HostAliasHT02=st09,stl0ft:主机别名HT02,有两个成员;Host_AliasHT01=localhost,5105,8104,10,0,0,4,255.255.255.0,192.168.1.0/24:HT02=st09,stl0注:上面的两条对主机的定义,能够通过一条来实现,别名之间用:号分割;注:我们通过HosjAlias定义主机别名时,工程能够是主机名、能够是单个ip〔整段ip地址可以以〕,可以以是网络掩码;假如是主机名,必须是多台机器的网络中,而且这些机器得能通过主机名互相通信访问才有效。那什么才算是通过主机名互相通信或访问呢?比方ping主机名,或通过远程访问主机名来访问。在我们局域网中,假如让计算机通过主机名访问通信,必须设置/etc/hosts,/etc/resolv.conf,还要有DNS做解析,否那么互相之间无法通过主机名访问;在设置主机别名时,假如工程是中某个工程是主机名的话,能够通过hostname命令来查看本地主机的主机名,通过w命令查来看登录主机是;,通过;来确认其它客户机的主机名或ip地址;对于主机别名的定义,看上去有点复杂,其实是很简单。假如您不明白Host_Alias是怎么回事,可以以不用设置主机别名,在定义受权规那么时通过ALL来匹配所有可能出现的主机情况。假如您把主机方面的知识弄的更明白,确实需要多多学习。User_AliasSYSAD=beinan,linuxsir,bnnnb,lanhaitun注:定义用户别名,下有四个成员;要在系统中确实在存在的;UserAliasNETAD=beinan,bnnb注:定义用户别名NETAD,我想让这个别名下的用户来管理网络,所以取了NETAD的别名;User_AliasWEBMASTER=linuxsir注:定义用户别名WEBMASTER,我想用这个别名下的用户来管理网站;User_AliasSYSAD=beinanJinuxsir,bnnnb,lanhaitun:NETAD=beinan,bnnb:WEBMASTER=linuxsir注:上面三行的别名定义,能够通过这一行来实现,请看前面的讲明,是不是符合?Cmnd_AliasUSERMAG=/usr/sbin/adduser,/usr/sbin/userdel,/usr/bin/passwd[A-Za-z]*,/bin/chown,/bin/chmod注意:命令别名下的成员必须是文件或目录的绝对途径;Cmnd_AliasDISKMAG=/sbin/fdisk,/sbin/partedCmnd_AliasNETMAG=/sbin/ifconfig,/etc/init.d/networkCmnd_AliasKILL=/usr/bin/killCmnd_AliasPWMAG=/usr/sbin/reboot,/usr/sbin/haltCmnd_AliasSHELLS=/usr/bin/sh,/usr/bin/csh,/usr/bin/ksh,\/usr/local/bin/tcsh,/usr/bin/rsh,\/usr/local/bin/zsh注:这行定义命令别名有点长,能够通过'号断行;Cmnd_AliasSU=/usr/bin/su,/bin,/sbin,/usr/sbin,/usr/bin在上面的例子中,有KILL和PWMAG的命令别名定义,我们能够合并为一行来写,也就是等价行;Cmnd_AliasKILL=/usr/bin/kill:PWMAG=/usr/sbin/reboot,/usr/sbin/halt)4:这一行就代表了KILL和PWMAG命令别名,把KILL和PWMAG的别名定义合并在一行写也是能够的;Runas_AliasOP=root,operatorRunas_AliasDBADM=mysql:OP=root,operator注:这行是上面两行的等价行;至于怎么理解Runas_Alias,我们必须得通过受权规那么的实例来理解;4、/etc/sudoers中的受权规那么:受权规那么是分配权限的执行规那么,我们前面所讲到的定义别名主要是为了更方便的受权引用别名;假如系统中只要几个用户,其实下放权限比较有限的话,能够不用定义别名,而是针对系统用户直接直接受权,所以在受权规那么中别名并不是必须的;受权规那么并不是无章可寻,我们只讲基础一点的,比较简单的写法,假如您想具体了解受权规那么写法的,请参看mansudoers受权用户主机二命令动作这三个要素缺一不可,但在动作之前可以以指定切换到特定用户下,在这里指定切换的用户要用()号括起来,假如不需要密码直接运行命令的,应该加NOPASSWD:参数,但这些能够省略;举例讲明;实例一:beinanALL=/bin/chown,/bin/chmod假如我们在/etc/sudoers中添加这一行,表示beinan能够在任何可能出现的主机名的系统中,能够切换到root用户下执行/bin/chown和/bin/chmod命令,通过sudo-l来查看beinan在这台主机上允许和禁止运行的命令;值得注意的是,在这里省略了指定切换到哪个用户下执行/bin/shown和/bin/chmod命令;在省略的情况下默以为是切换到root用户下执行;同时也省略了是不是需要beinan用户输入验证密码,假如省略了,默以为是需要验证密码。为了更具体的讲明这些,我们能够构造一个更复杂一点的公式;受权用户主机,(切换到哪些用户或用户组)n能否需要密码验证]命令L[(切换到哪些用户或用户组)][能否需要密码验证][命令2],[(切换到哪些用户或用户组)][能否需要密码验证][命令3]……注解:但凡口中的内容,是能够省略;命令与命令之间用,号分隔;通过本文的例子,能够对照着看哪些是省略了,哪些地方需要有空格;在[(切换到哪些用户或用户组)],假如省略,那么默以为root用户;假如是ALL,那么代表能切换到所有用户;注意要切换到的目的用户必须用()号括起来,比方(ALL)、(beinan)实例二:beinanALL=(root)/bin/chown,/bin/chmod对应的UID为0,从这一点来看,root用户在系统中是无可替代的至高地位和无限制权限。root用户在系统中就是超级用户;2、理解UID和用户的对应关系当系统默认安装时,系统用户和UID是一对一的对关系,也就是讲一个UID对应一个用户。我们知道用户身份是通过UID来确认的,我们在(用户(user)和用户组〔group)配置文件详解)中的UID的讲解中有谈到"UID是确认用户权限的标识,用户登录系统所处的角色是通过UID来实现的,而非用户名;把几个用户共用一个UID是危险的,比方我们把普通用户的UID改为0,和root共用一个UID,这事实上就造成了系统管理权限的混乱。假如我们想用root权限,能够通过su或sudo来实现;切不可随意让一个用户和root共享同一个UID;〃在系统中,能不能让UID和用户是一对多的关系?是能够的,比方我们能够把一个UID为0这个值分配给几个用户共同使用,这就是UID和用户的一对多的关系。但这样做确实有点危险;一样UID的用户具有一样的身份和权限。比方我们在系统中把beinan这个普通用户的UID改为。后,事实上这个普通用户就具有了超级权限,他的能力和权限和root用户一样;用户beinan假如我们把第一个实例中的那行去掉,换成这行;表示的是beinan能够在任何可能出现的主机名的主机中,能够切换到root下执行/bin/chown,能够切换到任何用户招执行/bin/chmod命令,通过sudo-l来查看beinan在这台主机上允许和禁止运行的命令;实例三:beinanALL=(root)NOPASSWD:/bin/chown,/bin/chmod所有的操作都将被标识为root的操作,由于beinan的UID为0,而UID为0的用户是root,是不是有点扰口?可以以理解为UID为0的用户就是root,root用户的UID就是0;UID和用户的一对一的对应关系,只是要求管理员进行系统管理时,所要坚守的准那么,由于系统平安还是第一位的。所以我们还是把超级权限保存给root这唯一的用户是最好的选择;假如我们不把UID的0值的共享给其它用户使用,只要root用户是唯一拥有UID=0的话,root用户就是唯一的超级权限用户;3、普通用户和伪装用户与超级用户相对的就是普通用户和虚拟〔也被称为伪装用户〕,普通和伪装用户都是受限用户;但为了完成特定的任务,普通用户和伪装用户也是必须的;Linux是一个多用户、多任务的操作系统,多用户主要体如今用户的角色的多样性,不同的用户所分配的权限也不同;这也是Linux系统比Windows系统更为平安的本质所在,即便是如今最新版本的Windows2003,也无法抹去其单用户系统的烙印;二超级用户〔权限)在系统管理中的作用超级权限用户〔UID为。的用户)到底在系统管理中起什么作用呢?主要表如今下面两点;1、对任何文件、目录或进程进行操作;但值得注意的是这种操作是在系统最高许可范围内的操作;有些操作就是具有超级权限的root也无法完成;比方/proc目录,/proc是用来反响系统运行的实时状态信息的,因而即使是root也无能为力;它的权限如下[root@localhost~]#pwd/root[root@localhost~]#cd/[root@localhost/]#ls-ld/proc/dr-xr-xr-xl34rootroot02005-10-27/proc/就是这个目录,只能是读和执行权限,但绝对没有写权限的;就是我们把/proc目录的写权限翻开给root,root用户也是不能进行写操作;[root@localhost~]#chmod755/proc[root@localhost/]#ls-ld/proc/drwxr-xr-xl34rootroot02005-10-27/proc/[root@localhost/]#cd/proc/[root@localhostproc]#mkdirtestdirmkdir:无法创立目录弋estdi已没有那个文件或目录2、对于涉及系统全局的系统管理;硬件管理、文件系统理解、用户管理以及涉及到的系统全局配置等等……假如您执行某个命令或工具时,提示您无权限,大多是需要超级权限来完成;比方用adduser来添加用户,这个只能用通过超级权限的用户来完成;3、超级权限的不可替代性;由于超级权限在系统管理中的不可缺少的重要作用,为了完成系统管理任务,我们必须用到超级权限;在一般情况下,为了系统平安,对于一般常规级别的应用,不需要root用户来操作完成,root用户只是被用来管理和维护系统之用;比方系统日志的查看、清理,用户的添加和删除……在不涉及系统管理的工作的环境下,普通用户足能够完成,比方编写一个文件,听听音乐;用gimp处理一个图片等……基于普通应用程序的调用,大多普通用户就能够完成;当我们以普通权限的用户登录系统时,有些系统配置及系统管理必须通过超级权限用户完成,比方对系统日志的管理,添加和删除用户。而怎样才能不直接以root登录,却能从普通用户切换到root用户下才能进行操作系统管理需要的工作,这就涉及到超级权限管理的问题;获取超级权限的经过,就是切换普通用户身份到超级用户身份的经过;这个经过主要是通过su和sudo来解决;三、使用su命令临时切换用户身份;1、SU的适用条件和威力SU命令就是切换用户的工具,怎么理解呢?比方我们以普通用户beinan登录的,但要添加用户任务,执行useradd,beinan用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种方法并不是最好的;二是我们没有必要退出beinan用户,能够用su来切换到root下进行添加用户的工作,等任务完成后再退出root。我们能够看到当然通过su切换是一种比较好的方法;通过su能够在用户之间切换,假如超级权限用户root向普通或虚拟用户切换不需要密码,什么是权利?这就是!而普通用户切换到其它任何用户都需要密码验证;2、su的用法:su[OPTION选项参数][用户]-,-l,-login登录并改变到所切换的用户环境;-c,-commmand=COMMAND执行一个命令,然后退出所切换到的用户环境;至于更具体的,请参看mansu;3、su的范例:su在不加任何参数,默以为切换到root用户,但没有转到root用户家目录下,也就是讲这时固然是切换为root用户了,但并没有改变root登录环境;用户默认的登录环境,能够在/etc/p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025数码摄像机租赁合同
- 2025年度全新官方版二零二五年度离婚协议书与婚姻关系终止后子女抚养费用协议3篇
- 2025年度农村房屋产权转让与物业管理合同2篇
- 二零二五年度农村古建筑买卖合同书2篇
- 二零二五年度全新私人合同:私人按摩师及按摩服务协议3篇
- 2025年度年度养猪场租赁与养殖废弃物处理设施租赁合同3篇
- 二零二五年度农村房屋买卖合同协议书(含农业观光旅游)
- 二零二五年度农村土地流转收益保障合同3篇
- 二零二五年度家禽养殖技术与设备采购合同3篇
- 2025年度公司内部车辆使用费用结算协议3篇
- 仓库管理培训课件
- 2024年居间服务合同:律师事务所合作与业务推广
- 大型活动音响设备保养方案
- 安全生产专(兼)职管理人员职责
- 公检法联席会议制度
- 成都大学《Python数据分析》2022-2023学年期末试卷
- 保险理赔岗位招聘面试题与参考回答(某大型央企)2024年
- 上海市市辖区(2024年-2025年小学五年级语文)部编版期末考试(上学期)试卷及答案
- 期末试卷(试题)-2024-2025学年五年级上册数学人教版
- 护理安全警示教育-新-
- 社会工作行政复习要点
评论
0/150
提交评论