使用tar --checkpoint提权操作 详解--checkpoint-action的参数及作用

如果管理员给予了某个普通用户tar命令的超级管理员操作:

那么我们可以使用tar命令进行提权,命令如下

sudo -u root tar cf /dev/null exploit --checkpoint=1 --checkpoint-action=exec="/bin/bash"

-c:创建新的档案文件,相当于打包(-x,相反的操作,拆包)

-f:使用档名,f之后直接加档名,中间不能加其他参数

--checkpoint=n:每写入n个记录之后设置一个检查点,在检查点可以执行任意的操作,操作由--checkpoint-action指定

exec:执行外部命令

下图体现checkpoint作用

 

下面是--checkpoint-action的各种参数和用法:

echo

 

也可以这样写

%s:检查点的类型,可以取两个值,写入或者读取

%u:检查点编号

%{r,w,d}T

打印到目前为止传输的字节数和传输速度。可选参数提供相应的在读取、写入和删除字节数之前使用的前缀。如果不存在,则默认为“R”。`W',`D'。它们中的任何一个或全部都可以省略,因此,例如,%{}T:表示打印不带任何前缀的相应统计信息。任何多余的参数,如果存在,都会被默默地忽略。

%{fmt}t:使用fmt作为strftime格式输出当前本地时间,{fmt}部分是可选的。如果不存在,则默认格式为“%c”,即当前区域设置的首选日期和时间表示。

%n*:用空格将输出填充到第n列。如果省略{n}部分,则使用当前屏幕宽度。

%c:这是“%{%Y-%m-%d%H:%m:%S}t:%ds,%{read,writed}t%*\r”的快捷方式,主要用于“ttyout”操作(见下文)。

打印当前本地时间、tar启动后过期的秒数、检查点序号、传输的字节数和平均计算的I/O速度。

--checkpoint-action=ttyout='%{%Y-%m-%d %H:%M:%S}t (%d sec): #%u, %T%*\r'

“ttyout=string”操作将字符串输出到控制台“/dev/tty”,因此即使将标准输出重定向到其他位置,也可以使用它。字符串的修改与“echo”操作相同。与后者不同的是,“ttyout”不在字符串前面加tar可执行文件名,也不在其后输出新行。例如,以下操作将在同一屏幕行打印检查点消息,覆盖以前的任何消息

 

--checkpoint-action="ttyout=Hit %s checkpoint #%u%*\r"

另一个可用的检查点操作是“dot”(或“.”)。它指示tar在标准列表流上打印一个点,例如:

tar -c --checkpoint=1000 --checkpoint-action=dot /var

还有一个操作“sleep”,将tar暂停指定的秒数。以下示例将在每个检查点停止30秒:

tar -c --checkpoint=1000 --checkpoint-action=sleep=30

wait=signo操作停止进一步的执行,直到signo信号被传递。signo的有效值为:SIGHUP、SIGQUIT、SIGINT、SIGUSR1和SIGUSR2。“SIG”前缀是可选的。例如:

tar -c -f arc --checkpoint=1000 --checkpoint-action wait=USR1 .

在这个例子中,tar将在每1000个检查点停止存档。等待“SIGUSR1”信号发出,然后继续处理。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值