Код: Выделить всё
mount(
None::,
"/",
None::,
MsFlags::empty()
.union(MsFlags::MS_REC)
.union(MsFlags::MS_PRIVATE),
None::,
)?;
// Ensure that 'new_root' is a mount point.
mount(
Some(rootfs.as_str()),
rootfs.as_str(),
None::,
MsFlags::MS_BIND,
None::,
)?;
pivot_root(rootfs.as_str(), rootfs.as_str())?;
tracing::debug!("Detach the rootfs from parent system.");
mount(
None::,
"/",
None::,
MsFlags::MS_SLAVE | MsFlags::MS_REC,
None::,
)?;
umount2("/", MntFlags::MNT_DETACH)?;
tracing::debug!("Try to mout /proc by ", getuid());
mount(
Some("proc"),
"/proc",
Some("proc"),
MsFlags::empty()
.union(MsFlags::MS_NOEXEC)
.union(MsFlags::MS_NODEV)
.union(MsFlags::MS_NOSUID),
None::,
)?;
tracing::debug!("Try to mout /dev by ", getuid());
mount(
Some("tmpfs"),
"/dev",
Some("tmpfs"),
MsFlags::empty()
.union(MsFlags::MS_STRICTATIME)
.union(MsFlags::MS_NOSUID),
Some("mode=0755"),
)?;
Код: Выделить всё
2024-10-16T07:35:58.034543Z DEBUG chariot::cmd::runc: Try to mout /proc by
2024-10-16T07:35:58.034595Z ERROR chariot::cmd::runc: Failed to run container: EPERM: Operation not permitted
Подробнее здесь: https://stackoverflow.com/questions/790 ... pivot-root