




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、su命令临时切换用户身份SU:(Switchuser切换用户),可让一个普通用户切换为超级用户或其他用户,并可临时拥有所切换用户的权限,切换时需输入欲切换用户的密码;也可以让超级用户切换为普通用户,临时以低权限身份处理事务,切换时无需输入欲切换用户的密码。zaiLinux系统中,有时候普通用户有些事情是不能做的,除非是root用户才能做到。这时就需要用su命令临时切换到root身份来做事了。1、su的语法su[OPTION选项参数][用户],-l,-login切换用户时,使环境变量(home,shell,user,logname,path等)和欲切换的用户相同、不使用则取得用户的临时权限,不加载环境变量。用su命令切换用户后,可以用exit命令或快捷键[Ctrl+D]可返回原登录用户;c,-command=COMMAND使用-c传递单个命令到shell中,执行命令后,就恢复原来的用户身份,退出所切换到的用户环境;session-command=COMMAND使用-c传递单个命令到shell中,并且不创建新的会话;f,-fast通过-f参数到shell(针对csh或tcsh);m,-preserve-environment不重置环境变量;s,-shell=SHELL指定执行命令的shell;help显示帮助信息;version显示版本信息;2、su的范例:1su-2su-root3su-root-c"Is-l/root"4su-oracle-c"ulimit-aHS"5su-s/bin/sh-c”/usr/local/nginx/sbin/nginx”3、su的优缺点su的确为管理带来方便,通过切换到root下,能完成所有系统管理工具,只要把root的密码交给任何一个普通用户,他都能切换到root来完成所有的系统管理工作。但通过su切换到root后,也有不安全因素;比如系统有10个用户,而且都参与管理。如果这10个用户都涉及到超级权限的运用,做为管理员如果想让其它用户通过su来切换到超级权限的root,必须把root权限密码都告诉这10个用户。如果这10个用户都有root权限,通过root权限可、以做任何事,这在一定程度上就对系统的安全造成了威协,想想Windows吧,简直就是恶梦。''没有不安全的系统,只有不安全的人〃,我们绝对不能保证这10个用户都能按正常操作流程来管理系统,其中任何一人对系统操作的重大失误,都可能导致系统崩溃或数据损失,所以su工具在多人参与的系统管理中,并不是最好的选择,su只适用于一两个人参与管理的系统,毕竟su并不能让普通用户受限的使用;超级用户root密码应该掌握在少数用户手中,这绝对是真理!所以集权而治的存在还是有一定道理的。二、sudo命令1、sudo的适用条件由于su对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。如果用su来切换到超级用户来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。特别是对于服务器的管理有多人参与管理时,最好是针对每个管理员的技术特长和管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成与其相关的工作,这时我们就有必要用到sudo。通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo相对于权限无限制性的su来说,还是比较安全的,所以sudo也能被称为受限制的su。另外sudo是需要授权许可的,所以也被称为授权许可的su。sudo执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。默认只有root用户能使用sudo命令,普通用户想要使用sudo,是需要root预先设定的,默认root能够sudo是因为这个文件中有一行〃rootALL=(ALL)ALL”。2、sudo配置文件我们可以用他的专用编辑工具visodu,此工具的好处是在添加规则不太准确时,保存退出时会提示给我们错误信息;配置好后,可以用切换到您授权的用户下,通过sudo-l来查看哪些命令是可以执行或禁止的。/etc/sudoers文件中每行算一个规则,前面带有#号可以当作是说明的内容,并不执行;如果规则很长,一行列不下时,可以用\号来续行,这样看来一个规则也可以拥有多个行。/etc/sudoers的规则可分为两类:一类是别名定义,另一类是授权规则;别名定义并不是必须的,但授权规则是必须的。sudo授权规则(sudoers配置):1授权用户主机二命令动作
123456789101112131415161718192021222324这三个要素缺一不可,但在动作之前也可以指定切换到特定用户下,在这里指定切换的用户要用()号括起来,如果不需要密码直接运行命令的,应该加NOPASSWD:参数,但这些可以省略。举例说明:##TheCOMMANDSsectionmayhaveotheroptionsaddedtoit.####Allowroottorunanycommandsanywhereroot ALL=(ALL) ALL##Allowsmembersofthe'sys'grouptorunnetworking,software,##servicemanagementappsandmore.%sysALL=NETWORKING,SOFTWARE,SERVICES,STORAGE,DELEGATING,PROCESSES,LOCATE,DRIVERS#Allowspeopleingroupwheeltorunallcommands%wheel ALL=(ALL)ALL#Samethingwithoutapassword%wheel ALL=(ALL)NOPASSWD:ALL#Allowsmembersoftheusersgrouptomountandunmountthe#cdromasroot%usersALL=/sbin/mount/mnt/cdrom,/sbin/umount/mnt/cdrom#Allowsmembersoftheusersgrouptoshutdownthissystem%userslocalhost=/sbin/shutdown-hnow#Readdrop-infilesfrom/etc/sudoers.d(the#heredoesnotmeanacomment)#includedir/etc/sudoers.d执行visudo之后,可以看见缺省只有一条配置:
rootALL=(ALL)ALL那么你就在下边再加一条配置:adminALL=(ALL)ALL这样,普通用户admin就能够执行root权限的所有命令。让普通用户support只能在某几台服务器上,执行root能执行的某些命令,首先需要配置一些Alias,这样在下面配置权限时,会方便一些,不用写大段大段的配置。Alias主要分成4种:Host_AliasCmnd_AliasUser_AliasRunas_Alias配置Host_Alias:就是主机的列表Host_AliasHOST_FLAG=hostname1,hostname2,hostname3配置Cmnd_Alias:就是允许执行的命令的列表,命令前加上!表示不能执行此命令。命令一定要使用绝对路径,避免其他目录的同名命令被执行,造成安全隐患,因此使用的时候也是使用绝对路径!Cmnd_AliasCOMMAND_FLAG=command1,command2,command3,!command4配置User_Alias:就是具有sudo权限的用户的列表User_AliasUSER_FLAG=user1,user2,user3配置Runas_Alias:就是用户以什么身份执行(例如曾用,或者oracle)的列表Runas_AliasRUNAS_FLAG=operator1,operator2,operator3配置权限的格式如下:USER_FLAGHOST_FLAG=(RUNAS_FLAG)COMMAND_FLAG如果不需要密码验证的话,则按照这样的格式来配置USER_FLAGHOST_FLAG=(RUNAS_FLAG)NOPASSWD:COMMAND_FLAG123456789HostAliases###Groupsofmachines.Youmayprefertousehostnames(perhapsusing#wildcardsforentiredomains)orIPaddressesinstead.Host_Alias EPG=, #UserAliases#Thesearen,toftennecessary,asyoucanuseregulargroups
1011121011121314151617181920212223242526272829#ratherthanUSERALIASUser_AliasADMINS=jsmith,mikem#CommandAliases#Thesearegroupsofrelatedcommands...Cmnd_Alias SQUID=/opt/vtbin/squid_refresh,!/sbin/service,/bin/rmCmnd_Alias ADMPW=/usr/bin/passwd[A-Za-z]*,!/usr/bin/passwd,!/usr/bin/passwdroot#Allowroottorunanycommandsanywhereroot ALL=(ALL) ALLadminEPG=(ALL)NOPASSWD:SQUIDadminEPG=(ALL)NOPASSWD:ADMPW#Allowspeopleingroupwheeltorunallcommands%wheel ALL=(ALL) ALL#Samethingwithoutapassword%wheel ALL=(ALL) NOPASSWD:ALL#Allowsmembersoftheusersgrouptomountandunmountthe##cdromasroot%usersALL=/sbin/mount/mnt/cdrom,/sbin/umount/mnt/cdrom#Allowsmembersoftheusersgrouptoshutdownthissystem%userslocalhost=/sbin/shutdown-hnow当然新用户的配置也可以放到,/etc/sudoers.d/下的文件里,也会生效,修改也方便。3、sudo语法sudo[-VhlLvkKsHPSb]|[-pprompt][-cclass|-][-aauth_type][-uusername|#uid]command12345-V 显示版本编号-h 会显示版本编号及指令的使用方式说明-l 显示出自己(执行sudo的使用者)的权限-V 因为sudo在第一次执行时或是在N分钟内没有执行(N预设为五)会问密码,这个参数是重新做一次确
67891011认,如果超过N分钟,也会问密码k 将会强迫使用者在下一次执行sudo时问密码(不论有没有超过N分钟)b 将要执行的指令放在背景执行p prompt可以更改问密码的提示语,其中%u会代换为使用者的帐号名称,%h会显示主机名称u username/#uid不加此参数,代表要以root的身份执行指令,而加了此参数,可以以username的身份执行指々(#uid为该username的使用者号码)s 执行环境变数中的SHELL所指定的shell,或是/etc/passwd里所指定的shellH 将环境变数中的HOME(家目录)指定为要变更身份的使用者家目录(如不加-u参数就是系统管理者root)command 要以系统管理者身份(或以-u更改为其他人)执行的指令三、runuser命令runuser命令使用一个替代的用户或者组ID运行一个Shell。这个命令仅在root用户时有用。仅以会话PAM钩子运行,并且没有密码提示。如果用一个非root用户,并且该用户没有权限设置userID,这个命令将会因为程序没有setuid而失败。因runuser不会运行认证和账户PAM钩子,它比su更底层。1、runuser语法语法与su命令基本一样:,-l,-login让shell成为登录shell,用runuser-lPAM文件替代默认的;g-group=group指定主要的组;G-supp-group=group指定追加组c,-command=COMMAND使用-c传递单个命令到shell中,执行命令后,就退出到root;session-command=COMMAND通过一个单一的命令用-c参数到shell,不创建一个新的会话;f,-fast通过-f参数到shell(针对csh或tcsh);-m,-preserve-environment不重置环境变量;-psameas-m-s,-shell=SHELL指定执行命令的shell;2、runuser样例1runuser-luserNameHere-c'/path/to/commandarglarg2'2runuser-loracle-c'ulimit-SHa'3runuser-s/bin/sh-c〃/usr/local/nginx/sbin/nginx”有时,root用户由于权限(安全)问题不能浏览NFS挂载的共享:1ls-l/nfs/wwwroot/http或1 cd/nfs
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/LTXH 002-2023“天赋河套”区域公用品牌黄柿子汁
- T/TMAC 094-2024公路工程玄武岩纤维复合筋设计与施工规范
- 江苏省蔬菜买卖合同4篇
- 上海二建试题及答案
- 2025年舞蹈教练聘用合同2篇
- 个体经营短期借款协议书8篇
- 晚会演出合同协议书范本3篇
- 文娱与体育课件
- 2025辽宁师范大学辅导员考试试题及答案
- 2025益阳教育学院辅导员考试试题及答案
- 三方合伙开店协议合同
- 2025年新疆中考第一次模拟化学试题(含答案)
- 2025年危险品水路运输从业资格考试复习题库-上(单选题)
- 2025年-河北建筑安全员B证考试题库附答案
- 《2024年版煤矿安全生产化标准化管理体系基本要求及评分方法》
- 2025-2030中国床垫行业市场深度调研及投资前与投资策略景研究报告
- 码头安全隐患
- 《FTA分析案例》课件 - 深入解析自由贸易协定对经济发展的影响
- 深圳医药产业政策研究-深度研究
- 酒店公寓转让合同范本
- 接送孩子申请书
评论
0/150
提交评论