差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| linux:lxc:非特権コンテナメモ [2014/01/20 10:39] – tenforward | linux:lxc:非特権コンテナメモ [2014/01/20 10:45] (現在) – tenforward | ||
|---|---|---|---|
| 行 53: | 行 53: | ||
| * ここは書き込み権がある < | * ここは書き込み権がある < | ||
| drwxr-xr-x 2 karma karma 0 Jan 20 10:37 / | drwxr-xr-x 2 karma karma 0 Jan 20 10:37 / | ||
| + | * ちなみに普通に echo $$ > tasks みたいに cgroup に登録する.以下のコード < | ||
| + | for c in / | ||
| + | do | ||
| + | sudo mkdir $c/karma | ||
| + | sudo chown -R karma: $c/karma | ||
| + | if [ `basename $c` = " | ||
| + | echo 0 > $c/ | ||
| + | echo 0 > $c/ | ||
| + | fi | ||
| + | echo $PID > $c/ | ||
| + | done</ | ||
| + | 11: | ||
| + | 10: | ||
| + | 9: | ||
| + | 8: | ||
| + | 7: | ||
| + | 6: | ||
| + | 5: | ||
| + | 4: | ||
| + | 3: | ||
| + | 2: | ||
| + | * / | ||
| + | const char *e, *n; | ||
| + | char *s; | ||
| + | |||
| + | assert(path); | ||
| + | assert(session); | ||
| + | |||
| + | e = path_startswith(path, | ||
| + | if (!e) | ||
| + | return -ENOENT; | ||
| + | |||
| + | /* Skip the user name */ | ||
| + | e = skip_label(e); | ||
| + | if (!e) | ||
| + | return -ENOENT; | ||
| + | |||
| + | n = strchrnul(e, | ||
| + | if (n - e < 8) | ||
| + | return -ENOENT; | ||
| + | if (memcmp(n - 8, " | ||
| + | return -ENOENT; | ||
| + | |||
| + | s = strndup(e, n - e - 8); | ||
| + | if (!s) | ||
| + | return -ENOMEM; | ||
| + | |||
| + | *session = s; | ||
| + | return 0; | ||
| + | }</ | ||