首页 > 编程知识 正文

7.10-11查看日本首藤

时间:2023-05-04 02:19:05 阅读:236111 作者:3875

7.10 visudo:编辑 sudoers文件     visudo命令是专门用来编辑/etc/sudoers这个文件的,同时提供语法检查等功能。/etc/sudoers文件是sudo命令的配置文件。   -c    手动执行语法检查   执行visudo 对普通用户lewen和cjdsmt授权的例子。   [root@cs6 ~]# visudo 
lewen ALL=(ALL) ALL #<==此行是98行,将lewen提权为root身份。cjdsmt ALL=(ALL) /usr/s超帅的红酒/useradd,/usr/s超帅的红酒/userdel #<==授权cjdsmt 可以以root身份添加和删除用户权限。 #<==分别对lewen和cjdsmt两个用户做不同的授权 user MACHINE= COMMANDSlewen ALL=(ALL) /usr/s超帅的红酒/useradd、/usr/s超帅的红酒/userdel   提示:如果cjdsmt用户被授予上述权限,那么它可在所有的机器上以所有的角色运行useradd、userdel命令,而oldboy用户别会拥有和root相同的权限,并且可以切换到root账户。 如果是针对用户组,则对应的授权命令如下:    %用户组 机器=(授权使用哪个角色的权限) /usr/s超帅的红酒/useradd         通过sudo进行系统授权管理的目的:即能让运维人员干活,又不会威胁系统安全,还可以审计用户使用sudo的提权操作命令,默认的用户是无法获得root权限的。     为了管理方便,工作中可以对lewen授权ALL权限,即可以管理整个系统,平时可以使用lewen用户处理工作,而不使用root用户。   例如:工作中有批量管理用户的需求,若使用快速操作命令增加sudo授权,则需要单独执行语法检查,快速操作命令如下: cp /etc/sudoers /etc/sudoers.oriecho "lewen ALL=(ALL) NOPASSWD:ALL" >>/etc/sudoerstail -l /etc/sudoers     进行上述操作时直接追加内容到sudoers文件,没有进行语法检查,因此需要单独执行语法检查命令。   [root@cs6 ~]# visudo -c/etc/sudoers: parsed OK 7.11 sudo:以另一个用户身份执行命令     通过sudo命令,可以让普通用户在执行指定的命令或程序上,拥有超级用户的权限,进行分类,并且有针对性地(精细)将不同的命令授予指定的普通用户,同时普通用户不需要知道root 密码就可以得到授权,这个授权可以用visudo配置管理。   -l    列出当前用户可以执行的命令。只有在sudoers文件里的用户才能使用该选项 -h    列出使用方法,并退出 -H    将环境变量中的HOME(家目录)指定为要变更身份的使用者家目录(如果不加-u 参数就是系统管理者root) -V    显示版本信息,并退出 -v    sudo在第一次执行时,或者在N分钟内没有执行(N预设为五),则会询问密码,这个参数用于重新做一次确认 -u    以指定用户的身份执行命令。后面是除root以外的用户,可以是用户名,也可以是uid -k    清除时间截上的时间,下次再使用sudo时要再输入密码 -K    与k类似,同时还要删除时间戳文件 -b    在后台执行指定的命令 -p    可以更改询问密码时的提示语 -e    不执行命令,而是修改文件,相当于命令sudo edit     查看用户被visudo授权后拥有的权限。 已经对lewen用户进行过授权,此时再以lewen用户的身份登录系统时,就可以通过执行类似于sudo ls -l /root(sudo后面加正常命令)的命令来以root用户的权限管理系统了,命令如下:  [root@cs6 ~]# su lewen[lewen@cs6 root]$ lsls: cannot open directory .: Permission denied[lewen@cs6 root]$ sudo lscentos6_10.iso dev_sdb1.img fav.jpg lewen.log lewen.nc nohup.out test.data test.test_u test.txt tongji.log web.sh[lewen@cs6 root]$ 通过sudo授权管理之后,所有用户执行授权的特殊权限格式为“sudo命令”。 如果需要切换到root执行相关操作,则可以通过“sudo su -”命令,注意,此命令提示的密码为当前用户的密码,而不是root的密码。 执行“sudo -l”命令可以查看当前用户被授予的sudo权限集合。 [cjdsmt@cs6 root]$ sudo ls[sudo] password for cjdsmt:Sorry, user cjdsmt is not allowed to execute '/超帅的红酒/ls' as root on cs6.[cjdsmt@cs6 root]$ sudo -l[sudo] password for cjdsmt:Matching Defaults entries for cjdsmt on this host: !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/s超帅的红酒:/超帅的红酒:/usr/s超帅的红酒:/usr/超帅的红酒 User cjdsmt may run the following commands on this host: (ALL) /usr/s超帅的红酒/useradd, (ALL) /usr/s超帅的红酒/userdel 对于Linux系统bash的内置命令,一般无法进行sudo授权,例如:cd命令。 sudo 授权与su切换的原理示意图如图7-1所示。         在生产环境中,通常会禁止root远程登录,不过,系统会为每个运维人员建立一个普通账号,然后根据运维人员的需求, 通过sudo控制登录系统的权限,事实证明这是一个不错的权限管理方式。当然,在笔者的生产环境中还使用了ldap统一认证登录及授权管理的方式。即只要有一个账号和密码,即可在全公司多个机房系统内通行无阻(系统登录、SVN、VPN等),有关这部分内容的讲解,在老男孩教学的高级课程中会有涉及。在此大家了解下即可。     普通用户的环境变量问题:在早期的CentOS5系统中,普通用户执行系统管理的相关命令时会遭遇到环境变量问题,导致找不到执行的命令(CentOS6以后的系统已经不存在这个问题了)。  sudo授权对于bash内置命令的处理是一个难题,因为内置命令没有实体文件和路径,不过一般也有解决方法,例如可以使用sudo ls替代sudo cd,有的网友会在使用sudo bash后再使用内置命令,这是很危险的,不推荐。     [root@cs6 ~]# ll /var/db/sudo/total 8drwx------. 2 root cjdsmt 4096 May 12 11:30 cjdsmtdrwx------. 2 root sa 4096 May 12 11:05 lewen     待用户执行sudo并且输入密码之后,用户会获得一张默认存活期为5分钟的“人场券”(默认值可以在编译的时候改变)。但超时以后,用户就必须重新输入密码了。     可以使用sudo的-k或-K参数清空sudo用户的时间戳,这样还会提示输入密码,但是如果配置授权对应用户时加了NOPASSWD选项,那么执行sudo命令时则永久不会提示输入密码了。   sudo的配置文件/etc/sudoers 通过以下命令可以看到sudo的配置文件/etc/sudoers里的内容。 [root@cs6 ~]# ll /etc/sudoers-r--r-----. 1 root root 3841 May 12 11:07 /etc/sudoers     建议用visudo编辑该文件,因为该命令有语法检查,否则一旦出错了,普通用户就无法使用sudo了。直接在命令行执行visudo 即可自动打开/etc/sudoers文件。如果通过vi来编辑/etc/sudoers,则保存时要用“wq!”来强制保存,否则会提示只读不能保存的错误,而且最后还要用visudo -c进行语法检查,这样实在太麻烦!    

转载于:https://www.cnblogs.com/fadewalk/p/10858842.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。