用户权限管理说明
2021-11-10 本文已影响0人
小屁孩云熙
1. 普通用户如何像root用户一样管理操作系统
- 直接切换到 root 用户下管理系统
- 直接修改要操作的数据文件的权限
- root 用户赋予了普通用户权利(sudo 授权)
2. sudo 授权
2.1 visudo(vim /etc/sudoers)
推荐使用 visudo,具有语法检查功能。
[root@sec ~]# visudo
……
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
yunxuan ALL=(ALL) /usr/sbin/useradd , /usr/bin/rm
用户 (主机信息) (有哪些权限)
……
2.2 语法检查
visudo -c
[root@sec scripts]# visudo -c
/etc/sudoers: parsed OK
2.3 验证
[yunxuan@sec ~]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for yunxuan:
Matching Defaults entries for yunxuan on sec:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE 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=/sbin\:/bin\:/usr/sbin\:/usr/bin
User yunxuan may run the following commands on sec:
(ALL) /usr/sbin/useradd, /usr/bin/rm
[yunxuan@sec ~]$ sudo useradd yunxi
[yunxuan@sec ~]$ id yunxi
uid=1002(yunxi) gid=1002(yunxi) groups=1002(yunxi)
[yunxuan@sec ~]$ sudo rm -f /etc/hosts
[yunxuan@sec ~]$ ll /etc/hosts
ls: cannot access /etc/hosts: No such file or directory
3. 扩展
3.1 su 与 su - 的区别
- su,部分环境变量有变化
- su - , 全部环境变量切换
3.2 sudo 配置
3.2.1 如何配置sudo权限信息
visudo(推荐使用:语法检查功能) == vi /etc/sudoers
[root@sec01 ~]# visudo -c -- 配置好的文件语法检查
/etc/sudoers: parsed OK
- 扩展配置方法
3.2.1.1 授权单个命令或多个命令
# 方式一
/usr/sbin/useradd, /usr/bin/rm, ……
# 方式二
/usr/sbin/*, /usr/bin/*
# 方式三(所有命令)
ALL
3.2.1.2 授权单个命令目录或多个命令目录(需要排除部分特权命令)
/usr/sbin/*, !/usr/sbin/visudo, /usr/bin/*
3.2.1.3 不需要输入用户密码,即可执行sudo命令
NOPASSWD: /usr/sbin/*, !/usr/sbin/visudo, /usr/bin/*
3.2.2 如何查看确认配置
切换到授权的用户下
sudo -l
需要输入授权的用户密码
3.2.3 如何使用sudo功能
sudo 命令