linux中sudo的用法,Linux系统sudo命令的用法及日志管理

来源:191路由网 2019-05-18 18:04:25

原标题:"Linux系统sudo命令的用法及日志管理"的相关电脑教程资料分享。- 191路由网编辑整理。

1:Sudo的作用

sudo是linux下常用的允许普通用户使用超级用户或者其它用户权限的工具。
sudo 对于控制和审计root用户的访问权限是极其有益的。它使得系统管理员可以将root用户的系统管理任务分配给其他人,而无需给予他们root口令。管理员也可以根据每个用户实际所需的root访问权限来定制系统访问权限,从而达到权限最小化的目标
首先我们查看一下这个软件有没有安装,
[root@hgj ~]# rpm -q sudo
sudo-1.6.9p17-3.el5
它的主要配置文件是sudoers,linux下通常在/etc目录下
[root@hgj ~]# ls /etc/sudoers
/etc/sudoers
这是一个普通文件,但也是比较特殊的,他的权限是441
[root@hgj ~]# ls /etc/sudoers -l
-r--r----- 1 root root 3185 2009-01-07 /etc/sudoers
我们编辑这个文件的时候不用vi直接编辑而是用visudo况且还不能用多个终端同时编辑这个文件,否则会提示:
[root@hgj ~]# visudo
visudo: /etc/sudoers busy, try again later
也只有管理员才有权限编辑这个文件,
在这个文件当中,大部分都是一些例子,大部分都是一些别名记录的例子,
别名记录在配置文件当中有四种:
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

2:sudo的使用方法

首先我们分析一些字段


 

这句话的意思是说:
用户lifeng在mail这台服务器上可以以用户root的身份运行/usr/sbin/useradd这个命令
添加这一行      lifeng ALL=/usr/sbin/useradd
我们可以测试一下
[root@hgj ~]# su - lifeng     ------------------------------切换到lifeng这个用户,注意加—
[lifeng@hgj ~]$ useradd abc         --------------------------添加abc这个用户
-bash: useradd: command not found     ------------------提示命令没有发现,是环境的原因
[lifeng@hgj ~]$ /usr/sbin/useradd abc --------------------这里我们加上绝对路径
-bash: /usr/sbin/useradd: 权限不够      --------------------提示权限不够
[lifeng@hgj ~]$ sudo /usr/sbin/useradd abc --------------用sudo的方式运行
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.
www.it165.net 
口令:           -----------------------------------------提示输入密码,是用户lifeng的密码
[lifeng@hgj ~]$
[lifeng@hgj ~]$ tail -1 /etc/passwd       -------------------查看用户是不是已经建立好了
abc:x:504:504::/home/abc:/bin/bash       -------------------显示用户已经建立成功
[lifeng@hgj ~]$
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

3:sudo的例子

下面通过几个小例子来完成一些说明:
a:让用户运行命令的时候不输入密码
       lifeng ALL= NOPASSWD:/usr/sbin/useradd
b:指定多个用户,或者组
lifeng,wangming ALL=/usr/sbin/useradd
c:指定多个主机
lifeng mail,apache=/usr/sbin/useradd
d:指定多个被代替的用户
lifeng ALL=(root,database) /usr/sbin/useradd
e:指定多个命令
lifeng ALL= /usr/sbin/useradd,/usr/sbin/usemod
指定某个目录下的所有命令
lifeng ALL= /usr/sbin/*
f:指定排除的命令
lifeng ALL= (root)  /usr/sbin/* !/usr/sbin/usermod,!/sbin/useradd
       不允许的命令前面都要加上叹号
定义别名是sudo当中比较常用的一种,
说明:在配置文件sudoers中有四种别名记录。
1) 配置Host_Alias:就是主机的列表
Host_Alias    HOST_FLAG = hostname1, hostname2, hostname3
2) 配置Cmnd_Alias:就是允许执行的命令的列表
Cmnd_Alias    COMMAND_FLAG = command1, command2, command3
3) 配置User_Alias:就是具有sudo权限的用户的列表
User_Alias USER_FLAG = user1, user2, user3
4) 配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle等)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
注意:在定义别名的时候我们一般用大写比较好,
下面给出一个综合性的例子:
定义别名:
Host_Alias SERVER=mail,apache,ftp
Cmnd_Alias COMMAND=/usr/sbin/*,/sbin/*,!/usr/sbin/passwd,!/usr/sbin/userdel
User_Alias USER=lifeng,zhang3,li4
Runas_Alias RUNAS=root,database
 
USER SERVER=(RUNAS) COMMAND
这句话的意思就是说用户lifeng ,zhang3和li4可以在mail,apache,ftp这三台服务器上以root和database这两个用户的身份运行/usr/sbin/下的和/sbin/下的除了passwd和userdel这两个命令以外的所有命令。
注意:命令一定要使用绝对路径,以避免其他目录的同名命令被执行,从而造成安全隐患
 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 
4:sudo的日志管理

sudo能够记录各用户都运行了哪些命令。但是,这些需要对sudo 和syslogd 进行适当的配置。为此,我们首先要在/var/log目录中创建一个日志文件,还必须对syslog.conf进行相应的配置,让它记录sudo 命令。配置sudo 日志功能的具体步骤如下所示:
三个操作
A:在/etc/syslog.conf这个文件最后添加一行
       local2.debug /var/log/sudo.log 
B:在sudoers这个文件最后添加一行
       Defaults        logfile=/var/log/sudo.log
C:重新启动内核日志记录器:
       [root@hgj ~]# /etc/init.d/syslog restart
重新启动服务之后系统就会在/var/log目录中建立一个以sudo.log的文件名
测试我们再用过sudo之后我们查看日志就能看到某用户在做了哪些操作了
[root@hgj ~]# cat /var/log/sudo.log
 7月 5 01:35:43 : lifeng : TTY=pts/0 ; PWD=/home/lifeng ; USER=root ;
    COMMAND=/usr/sbin/useradd xiaomao
 7月 5 01:36:50 : lifeng : command not allowed ; TTY=pts/0 ; PWD=/home/lifeng
    ; USER=root ; COMMAND=/usr/sbin/userdel zhang3
 
有两条记录:
第一条是说lifeng这个用户以root的身份创建了一个用户xiaomao
第二条是说lifeng这个用户不允许用删除用户命令删除zhang3
 
 
本文出自 “红公鸡” 博客


点击展开全文

相关阅读

不用软件制作启动u盘安装win10-(如何制作启动u盘安装win10)

无软件生产启动u盘安装win10(如何制作启动u盘安装?win10)估计大家手里都会有一两个U盘。U现在盘子的容量越来越大,以前的4G和8GU盘越来越不够了。现在基本上有32个G或64G满足日常需求甚至更大。那么闲置的U盘可以重复使用吗?当然可以,比如黑群辉的启动盘,比如黑苹果的启动盘,今天我们来谈谈怎么做windows系统启动U盘,如何使用启动U盘新安装?windows10系统。一、准备工作先说...

2022-10-06

在路由器上接u盘装系统-(在路由器上插u盘)

将u盘装系统连接到路由器上(在路由器上插入u盘)大家好,我是许迎果。.今天我们来演示一下蜗牛星际U盘安装高恪软路由的全过程。.对于不了解蜗牛星际的小伙伴,建议先看第171期视频,有详细介绍.U安装高恪软路由和安装openwrt或者爱情有很多相似之处,但也有明显的差异.以下是对整个过程的具体演示.首先是准备工作.1.一台软路由设备,以蜗牛星际双网卡版为例,其他类似设...

2022-10-06

u盘引导下载-(u盘引导文件下载)

u盘引导下载(u下载盘引导文件)上一篇文章介绍了如何制作官方win10安装U盘(引起了很多朋友的关注。有一点安装经验的朋友应该或多或少听说过或见过使用某某PE大白菜、老毛桃等优盘装机。这些PE虽然它也可以为我们重新安装系统带来便利,但它还将携带...

2022-10-06

如何设定路由器密码-(如何设定路由器密码无线)

路由器密码如何设置?(路由器密码如何设置?无线)在装修或更换路由器时,我们总是要面对一个问题:密码太简单,很容易被黑客攻击「社工」甚至暴力破解,然后放慢互联网速度;设置太复杂,可能会让朋友在家里输入太头疼。毕竟,普通的网站密码有各种成熟的生成、存储和填...

2022-10-06

接路由器怎么弄-(摄像头连接路由器怎么弄)

如何接路由器?(摄像头连如何接路由器?)随着网络的发展,路由器已经成为我们网络生活中不可缺少的设备,那么如何设置新的路由器呢?接下来,小编会带你去探索。路由器分为硬路由和软路由,硬路由是外面买的普通路由器;软路由是x86是硬件基础的路由器,这里暂时不赘述比较复杂。硬路由分为有线路由和无线路由。...

2022-10-06

191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程

版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除