Linux使用Sudo委派权限

2019-01-16 21:13:52于海丽

sudo权限委派介绍

su 切换身份:su –l username –c ‘command' sudo 来自sudo包 man 5 sudoers sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使  用 sudo,会提示联系管理员 sudo可以提供日志,记录每个用户使用sudo操作 sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机 sudo使用时间戳文件来完成类似“检票”的系统,默认存活期为5分钟的“入场券” 通过visudo命令编辑配置文件,具有语法检查功能 :               visudo –c 检查语法
              visudo -f /etc/sudoers.d/test

sudo

配置文件:/etc/sudoers, /etc/sudoers.d/ 时间戳文件:/var/db/sudo 日志文件:/var/log/secure 配置文件支持使用通配符glob:  ?:任意单一字符
*:匹配任意长度字符
[wxc ] 匹配其中一个字符
[!wxc] 除了这三个字符的其它字符
x : 转义
[[alpha]] :字母 示例: /bin/ls [[alpha]]* 配置文件规则有两类:  1、别名定义:不是必须的 
  2、授权规则:必须的

sudoers

授权规则格式:  用户 登入主机=(代表用户) 命令 示例: root ALL=(ALL) ALL 格式说明: user: 运行命令者的身份   host: 通过哪些主机 
  (runas):以哪个用户的身份  
  command: 运行哪些命令

别名

Users和runas: username 
     #uid 
    %group_name 
    %#gid 
    user_alias|runas_alias
host:  ip或hostname  network(/netmask)
    host_alias
command:  command name 
  directory 
  sudoedit 
  Cmnd_Alias

最近,我编写了一个简短的Bash程序,将MP3文件从一个网络主机上的USB拇指驱动器复制到另一个网络主机上。这些文件被复制到我为志愿者组织运行的服务器上的一个特定目录,从那里可以下载和播放这些文件。

我的程序还做了一些其他的事情,比如在文件被复制之前更改它们的名称,以便它们在网页上按日期自动排序。它还删除USB驱动器上的所有文件,验证传输是否正确完成。这个不错的小程序有几个选项,例如-h为了展示帮助,-t用于测试模式,以及其他几个。

尽管我的程序非常出色,但它必须作为root运行才能执行其主要功能。不幸的是,这个组织只有少数人对管理我们的音频和计算机系统有兴趣,这使我能够找到半技术人员,并训练他们登录到用于执行传输和运行这个小程序的计算机中。