千家信息网

su和sudo命令的使用及日志追踪

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,su是英文"s'witch user"的缩写,即切换用户之意。su和su 指令加上"-"参数的区别:su指令不加任何参数,默认切换到root,但没有转到root用户家目录,这时虽然切换为root用户了
千家信息网最后更新 2024年11月24日su和sudo命令的使用及日志追踪

su是英文"s'witch user"的缩写,即切换用户之意。
su和su 指令加上"-"参数的区别:
su指令不加任何参数,默认切换到root,但没有转到root用户家目录,这时虽然切换为root用户了,但并没有切换到root的登陆环境(shell,环境变量),不能获取环境变量。su加上参数"-"是切换到用户root的登陆环境,获取root的环境变量及执行权限(切换到用户的变量)

su是转换到终极权限root后对权限没有限制行(su默认切换到root用户),sudo能把某些终极权限有针对性的下放,并且用户不用知道root密码,执行历程是当前用户切换到root,然后以root身份执行命令,执行完后直接退回当前用户。通过sudo配置文件"/etc/sudoers"进行授权。
sudo能够限制用户只在某台主机上运行某些命令。
sudo提供了丰富的日志,详细记录了每个用户做了什么,能够转到中心主机或日志服务器
sudo使用时间戳来文件来执行类似的""检票"系统。当用户调用sudo并输入它的密码时,用户获得一张存活期为5分钟的票(此值可在编译时指定)
sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用主机。位置/etc/sudoers,它的属性必须为0411。
sudo命令用来以其他身份来执行的命令,预设的身份为root
sudo与su的不同之处在于sudo仅在需要时授予用户权限,减少了用户因为错误执行损坏系统的可能性,sudo也可以用来以其他用户身份执行命令。此外sudo可以记录用户执行的命令,以及失败的特权获取

sudo的配置文件:
sudo的配置文件是"/etc/sudoers",不强烈建议直接编辑这个文件,而是通过visudo来编辑,因为使用visudo编辑后保存会进行语法检测,有问题会提示,避免出错。

别名记录在配置文件当中有四种:
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias
2:sudo的使用方法

首先我们分析一些字段

这句话的意思是说:
用户lifeng在mail这台服务器上可以以用户root的身份运行/usr/sbin/useradd这个命令
添加这一行 lifeng ALL=/usr/sbin/useradd

4.语法:

sudo [ -Vhl LvkKsHPSb ] │ [ -p prompt ] [ -c class│- ] [ -a auth_type ] [-u username│#uid ] command
5.参数:

-V
显示版本编号
-h
会显示版本编号及指令的使用方式说明
-l
显示出自己(执行 sudo 的使用者)的权限
-v
因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
-k
将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b
将要执行的指令放在背景执行
-p
prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u
username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s
执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H
将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
command
要以系统管理者身份(或以 -u 更改为其他人)执行的指令

  1. sudo -i 切换用户身份到root

日志追踪:

2.1.创建sudo.log文件
touch /var/log/sudo.log
2./etc/rsyslog.conf配置文件最后面添加一行
local2.debug /var/log/sudo.log #空白处不能用空格键,必需用tab键
3./etc/ sudoers配置文件最后添加如下
Defaults logfile=/var/log/sudo.log
Defaults loglinelen=0
Defaults !syslog
4.重启syslog服务
[root@localhost .ssh]# service rsyslog restart
或者 /etc/init.d/rsyslog restart
5.确定进程
[root@localhost .ssh]# ps -aux |grep rsyslog
6.测试
测试账户使用sudo命令,在root用户查看是否有记录
[root@localhost .ssh]# tail -f /var/log/sudo.log

用户 文件 身份 切换 命令 参数 指令 权限 环境 配置 密码 使用者 系统 主机 变量 管理 日志 目录 服务 一行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全工程专业的课程 点击注册扒数据储存数据库 基于体系结构的软件开发模型图 软件开发的标题 阿里高级软件开发工程师薪资 什么是跨国型数据库 RFID是无线网络技术吗 宙斯盾网络安全隔离卡驱动 三亚市扶摇互联网科技 腾讯云服务器扫描端口 实现数据库安全的常用方法 校园网络安全监督检查记录 网络安全中的安全事件 数据库安全性控制基本方法 软件开发-模块初步设计 黄浦区信息软件开发采购 计算机网络技术学生实验报告 删除服务器角色 西城区通用软件开发推广 日志服务器分析 计算机网络技术就业之后能干什么 asp连接mysql数据库方法 重庆电脑软件开发收费报价表 医院医疗软件开发 如何安装数据库大文件 大话西游手游新开服务器一览表 琨远软件开发有限公司怎么样 怎么让别人服务器死机 网络安全 信息基础设施 饥荒你已连接到这个服务器
0