小编wok*_*oky的帖子

为什么 chroot(2) 对非特权用户不可用?

为什么chroot(2)非特权用户无法使用?

我不明白互联网上的现有答案。例如这个https://lists.freebsd.org/pipermail/freebsd-security/2003-April/000123.html

sudo真正的工作,如果/etc/sudoers/etc被所有者不是root?非特权用户不能只在 chroot 中创建 root 拥有的 setuid 二进制文件,是吗?

一个非特权用户究竟如何破坏 chroot 环境?

我只能想到这样的事情

ln /mnt/backup/XYZ/etc/sudoers $CHROOT/etc/sudoers
ln /usr/bin/sudo $CHROOT/usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)

whereXYZ表示一些备份实例,管理员真的搞砸了并允许我的用户做一些危险的事情。但这有点特别。chroot(2)如果非特权用户可以使用它,是否还有更直接的利用方法?

security chroot

8
推荐指数
2
解决办法
1009
查看次数

新 Linux 用户命名空间中的第一个进程需要调用 setuid()?

我正在学习 Linux 用户命名空间,并且我观察到一种对我来说并不完全清楚的奇怪行为。

我在初始用户命名空间中创建了一系列 UID,我可以通过newuidmap命令将子用户命名空间中的 UID 映射到这些 UID 。这些是我的设置:

$ grep '^woky:' /etc/subuid
woky:200000:10000
$ id -u
1000
Run Code Online (Sandbox Code Playgroud)

然后我尝试创建一个新的用户命名空间并将其 UID 范围映射[0-10000)[200000-210000)父用户命名空间中:

因此,即使newuidmap成功完成,新用户命名空间内部和外部的 UID 也没有更改。

然后我找到了下面这篇文章 http://www.itinken.com/blog/2016/Sep/exploring-unprivileged-containers/让我大开眼界。我已经尝试过前面的场景,但使用以下 …

linux users namespace uid

6
推荐指数
1
解决办法
1281
查看次数

Zsh,不使用 eval 的间接数组变量赋值

我有一个变量VARNAME,其中包含另一个变量的名称。我想在不使用 的情况下分配给另一个变量eval。我怎样才能做到这一点?

我不想使用的原因eval如下。首先假设一个用于前置变量的函数foo

% prepend_foo() { foo=("$@" $foo) }
% foo=(1 2)
% print -l $foo
1
2
% prepend_foo x 'a b c' y
% print -l $foo
x
a b c
y
1
2
%
Run Code Online (Sandbox Code Playgroud)

现在考虑一个附加到任何变量的通用函数:

% prepend() { var=$1; shift; eval "$var=($@ ${(P)var})" }
% foo=(1 2)
% print -l $foo
1
2
% prepend foo x 'a b c' y
% print -l $foo
x
a
b
c …
Run Code Online (Sandbox Code Playgroud)

zsh array function variable

3
推荐指数
1
解决办法
1019
查看次数

标签 统计

array ×1

chroot ×1

function ×1

linux ×1

namespace ×1

security ×1

uid ×1

users ×1

variable ×1

zsh ×1