小编Dan*_*vic的帖子

Docker userns-remap无法写入已挂载目录

我正在尝试Docker 的userns-remap功能,以root用户身份在容器内创建一个文件,并test以主机上的用户身份拥有此文件的所有者。

我已将以下内容添加到 /etc/docker/daemon.json

{
  "userns-remap": "test:test"
}
Run Code Online (Sandbox Code Playgroud)

重新映射似乎是根据守护程序日志进行的

User namespaces: ID ranges will be mapped to subuid/subgid ranges of: test:test
Run Code Online (Sandbox Code Playgroud)

和条目test:100000:65536,并test:100000:65536已被添加到/etc/subuid/etc/subgid/分别文件。

但是当我启动一个容器并尝试在工作目录中创建文件时,它失败了

test@box:~$ docker run -v /home/test/tmp:/somedir -w /somedir -it ubuntu:16.04 /bin/bash
root@11ff6c42ffe1:/somedir# touch file.txt
touch: cannot touch 'file.txt': Permission denied

root@11ff6c42ffe1:/somedir# ls -l
total 0
-rw-rw-r-- 1 nobody nogroup 0 Mar 23 21:39 already_existing_file.txt

root@11ff6c42ffe1:/somedir# id root
uid=0(root) gid=0(root) groups=0(root)

root@11ff6c42ffe1:/somedir# touch /file.txt
Run Code Online (Sandbox Code Playgroud)

可以按预期在未从主机挂载的其他目录中创建文件。 …

namespaces docker

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

自己的加密脚本

<?php
   error_reporting(E_ALL ^ E_NOTICE);
   $string = "123456";
   $replace_from = array(
   "1",
   "2",
   "3",
   "4",
   "5",
   "6");
   $replace_to = array(
   "Al01",
   "Br20",
   "Ch03",
   "De40",
   "Ec05",
   "Fo60");
   $hashed = str_replace($string, $replace_from, $replace_to);
   echo "String: ". $string ."<br>";
   echo "Encrypted: ". $hashed ."<br>";
   echo "<br>";
   print_r($hashed);
?>
Run Code Online (Sandbox Code Playgroud)

我明白了

Encrypted: Array
Run Code Online (Sandbox Code Playgroud)

但我期待

Encrypted: Al01Br20Ch03De40Ec05Fo60
Run Code Online (Sandbox Code Playgroud)

我如何获得哈希值作为回报?

php arrays encryption passwords hash

0
推荐指数
1
解决办法
2156
查看次数

标签 统计

arrays ×1

docker ×1

encryption ×1

hash ×1

namespaces ×1

passwords ×1

php ×1