介绍vim
su 命令的缺点:安全
使用 su 命令时, 不指定用户名默认切换至 root 用户, 须要输入 root 密码, 但实际生产中 root 密码是不能够被普遍告知的; 若须要执行 root 用户才能执行的命令时, 须要经过 sudo 命令 或者 wheel 组的设置来实现..bash
sudo :服务器
配置受权网络
添加单个用户 sudo 受权dom
// 使用 visudo 或者 vim /etc/sudoers 一样能够实现; // 格式: 用户 主机名=(命令程序列表) 命令,!命令(表示此命令不能使用) vim /etc/sudoers ... ... root ALL=(ALL) ALL ... ... # Allow users to run some commands tian localhost=(root) !/sbin/reboot,!/sbin/init,!/sbin/poweroff,!/sbin/shutdown ''' 第一个 ALL : 指网络中的主机, 能够指定 IP 地址; 第二个 ALL : 目标用户, 能够不写, 默认root ; 也就是以谁的身份去执行命令; 第三个 ALL : 命令,或者排除什么命令 '''
批量用户受权this
// ****************************** 方法一 : 使用组 ************************************ // 多个用户可使用组功能, 配置文件中 % 表明组, NOPASSWD 免输入密码; vim /etc/sudoers // 开启 wheel 组, Centos 7 默认是开启的; ... ... %wheel ALL=(ALL) NOPASSWD: ALL // NOPASSWD:ALL 免密钥存在必定的风险; // 可按下方配置进行设置, 禁掉不安全命令; %wheel ALL=(ALL) NOPASSWD: ALL,!/usr/bin/passwd,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root,!/bin/su ... ... // 示例一; 能够指定组里面的特定用户, 也能够直接使用 ALL %wheel tian=/sbin/*,/usr/sbin/*,!/sbin/reboot,!/sbin/init,!/sbin/poweroff,!/sbin/shutdown // ****************************** 方法二 : 别名 *************************************** // 设置 主机别名 , 用户别名 , 命令别名; 格式: 用户别名 主机别名=命令别名(全部别名均大写) vim /etc/sudoers ... ... ## Host Aliases // 主机别名 ## Groups of machines. You may prefer to use hostnames (perhaps using ## wildcards for entire domains) or IP addresses instead. # Host_Alias FILESERVERS = fs1, fs2 # Host_Alias MAILSERVERS = smtp, smtp2 ## User Aliases // 用户别名 ## These aren't often necessary, as you can use regular groups ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname ## rather than USERALIAS # User_Alias ADMINS = jsmith, mikem User_Alias ADMIN = tian,zxjr ## Command Aliases // 命令别名 ## These are groups of related commands... Cmnd_Alias ADMINCOM = !/usr/bin/passwd,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root,!/bin/su ADMIN ALL=(ALL) NOPASSWD: ALL,ADMINCOM
开启 sudo 操做记录功能spa
// 编辑sudo配置文件, 添加 Defaults logfile; vim /etc/sudoers 或者 visudo ... ... Defaults logfile=/var/log/sudo ... ... // 保存退出, useradd // 使用 tian 用户执行 /usr/sbin 下的root的命令;回显没有权限; -bash: /usr/sbin/useradd: Permission denied sudo useradd zxjr // 使用 sudo 执行;输入 用户 tian 的密码; [sudo] password for tian: useradd: user 'zxjr' already exists su - // 切换到 root 用户; Password: tail -f /var/log/sudo // 查看日志记录, 详细记录时间, 用户, tty端, 所在路径, 使用用户, 执行命令; Apr 8 22:02:09 : tian : TTY=pts/0 ; PWD=/home/tian ; USER=root ; COMMAND=/usr/sbin/useradd zxjr