Man page - credentials(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr pl ja deManual
CREDENTIALS
名 前説 明
プ ロ セ ス ID (PID)
親 プ ロ セ ス ID (PPID)
プ ロ セ ス グ ル ー プ ID と セ ッ シ ョ ン ID
ユ ー ザ ー ID と グ ル ー プ ID
Modifying process user and group IDs
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て
名 前
credentials - 認 証 に 用 い ら れ る プ ロ セ ス の 識 別 子
説 明
プ ロ セ ス ID (PID)
各 プ ロ セ ス は 、 負 で な い 整 数 の 一 意 な 識 別 子 を 持 つ 。 こ の 識 別 子 は fork (2) を 使 っ て プ ロ セ ス が 生 成 さ れ る 際 に 割 り 当 て ら れ る 。 プ ロ セ ス は getpid (2) を 使 っ て 自 分 の PID を 取 得 で き る 。 PID は pid_t 型 で 表 現 さ れ る ( pid_t は <sys/types.h> で 定 義 さ れ て い る )。
PID は 各 種 の シ ス テ ム コ ー ル で そ の シ ス テ ム コ ー ル が 作 用 す る プ ロ セ ス を 特 定 す る た め に 使 用 さ れ る 。 以 下 に 例 を 挙 げ る : kill (2), ptrace (2), setpriority (2), setpgid (2), setsid (2), sigqueue (3), waitpid (2).
プ ロ セ ス の PID は execve (2) の 前 後 で 不 変 で あ る 。
親 プ ロ セ ス ID (PPID)
プ ロ セ ス の 親 プ ロ セ ス の ID は 、 fork (2) を 使 っ て そ の プ ロ セ ス を 生 成 し た プ ロ セ ス を 示 す 。 プ ロ セ ス は getppid (2) を 使 っ て 自 分 の PPID を 取 得 で き る 。 PPID は pid_t 型 で 表 現 さ れ る 。
プ ロ セ ス の PPID は execve (2) の 前 後 で 不 変 で あ る 。
プ ロ セ ス グ ル ー プ ID と セ ッ シ ョ ン ID
各 プ ロ セ ス は セ ッ シ ョ ン ID と プ ロ セ ス グ ル ー プ ID を 持 つ 。 こ れ ら の ID は ど ち ら も pid_t 型 で 表 現 さ れ る 。 プ ロ セ ス は 、 そ れ ぞ れ getsid (2), getpgrp (2) を 使 っ て 自 分 の セ ッ シ ョ ン ID、 プ ロ セ ス グ ル ー プ ID を 取 得 で き る 。
fork (2) で 生 成 さ れ た 子 プ ロ セ ス は 親 プ ロ セ ス の セ ッ シ ョ ン ID と プ ロ セ ス グ ル ー プ ID を 継 承 す る 。 プ ロ セ ス の セ ッ シ ョ ン ID と プ ロ セ ス グ ル ー プ ID は execve (2) の 前 後 で 不 変 で あ る 。
セ ッ シ ョ ン と プ ロ セ ス グ ル ー プ の 概 念 は 、 シ ェ ル の ジ ョ ブ 制 御 を 行 う た め に 考 案 さ れ た も の で あ る 。 プ ロ セ ス グ ル ー プ (時 に は 「 ジ ョ ブ 」 と 呼 ば れ る こ と も あ る ) は 、 同 じ プ ロ セ ス グ ル ー プ ID を 共 有 す る プ ロ セ ス の 集 ま り で あ る 。 シ ェ ル は 、 一 つ の コ マ ン ド も し く は パ イ プ ラ イ ン の 実 行 に 使 わ れ る プ ロ セ ス 群 に 対 し て 一 つ の プ ロ セ ス グ ル ー プ を 生 成 す る (例 え ば 、 コ マ ン ド "ls | wc" を 実 行 す る た め に 生 成 さ れ る 二 つ の プ ロ セ ス は 同 じ プ ロ セ ス グ ル ー プ に 置 か れ る )。 所 属 す る プ ロ セ ス グ ル ー プ は setpgid (2) を 使 っ て 設 定 で き る 。 自 身 の プ ロ セ ス ID が プ ロ セ ス グ ル ー プ ID と 同 じ プ ロ セ ス は 、 そ の グ ル ー プ の 「 プ ロ セ ス グ ル ー プ リ ー ダ ー 」 で あ る 。
セ ッ シ ョ ン は 、 同 じ セ ッ シ ョ ン ID を 共 有 す る プ ロ セ ス の 集 ま り で あ る 。 あ る 一 つ の プ ロ セ ス グ ル ー プ の 全 メ ン バ ー は 同 じ セ ッ シ ョ ン ID を 持 つ (つ ま り 、 一 つ の プ ロ セ ス グ ル ー プ の メ ン バ ー は 全 て 同 じ セ ッ シ ョ ン に 所 属 し 、 こ れ に よ り 、 セ ッ シ ョ ン と プ ロ セ ス グ ル ー プ で 二 階 層 の プ ロ セ ス 階 層 が 形 成 で き る )。 新 た な セ ッ シ ョ ン の 生 成 は プ ロ セ ス が setsid (2) を 呼 び 出 す こ と で 行 う 。 setsid (2) は 、 setsid (2) を 呼 び 出 し た プ ロ セ ス の PID と 同 じ 値 の セ ッ シ ョ ン ID を 持 つ 新 た な セ ッ シ ョ ン を 生 成 す る 。 セ ッ シ ョ ン の 生 成 者 は 「 セ ッ シ ョ ン リ ー ダ ー 」 と 呼 ば れ る 。
あ る セ ッ シ ョ ン の 全 プ ロ セ ス は 一 つ の 制 御 端 末 を 共 有 す る 。 セ ッ シ ョ ン リ ー ダ ー が 最 初 に 端 末 を オ ー プ ン し た 際 に 制 御 端 末 は 設 定 さ れ る ( open (2) の 呼 び 出 し で O_NOCTTY フ ラ グ が 指 定 さ れ た 場 合 を 除 く )。 一 つ の 端 末 は 、 最 大 で も 一 つ の セ ッ シ ョ ン の 制 御 端 末 に し か な れ な い 。
一 つ の セ ッ シ ョ ン の ジ ョ ブ の 中 で 、 フ ォ ア グ ラ ウ ン ド ジ ョ ブ に な れ る の は 最 大 で も 一 つ で 、 そ の セ ッ シ ョ ン の 他 の ジ ョ ブ は バ ッ ク グ ラ ウ ン ド ジ ョ ブ で あ る 。 フ ォ ア グ ラ ウ ン ド ジ ョ ブ だ け が 端 末 か ら の 読 み 込 み を 行 え る 。 バ ッ ク グ ラ ウ ン ド の プ ロ セ ス が 端 末 か ら 読 み 込 み を 行 お う と し た 場 合 、 フ ォ ア グ ラ ウ ン ド ジ ョ ブ を 停 止 さ せ る シ グ ナ ル で あ る SIGTTIN が 所 属 す る プ ロ セ ス グ ル ー プ に 対 し て 送 信 さ れ る 。 端 末 に TOSTOP フ ラ グ が セ ッ ト さ れ て い た 場 合 ( termios (3) 参 照 )、 フ ォ ア グ ラ ウ ン ド ジ ョ ブ だ け が 端 末 へ の 書 き 込 み を 行 え る 。 バ ッ ク グ ラ ウ ン ド の プ ロ セ ス が 端 末 へ の 書 き 込 み を 行 お う と し た 場 合 、 フ ォ ア グ ラ ウ ン ド ジ ョ ブ を 停 止 さ せ る シ グ ナ ル で あ る SIGTTOU が 生 成 さ れ る 。 シ グ ナ ル を 生 成 す る 端 末 キ ー (例 え ば 中 断 キ ー 、 通 常 は control-C) が 押 さ れ た 場 合 、 そ の シ グ ナ ル は フ ォ ア グ ラ ウ ン ド ジ ョ ブ の プ ロ セ ス に 送 信 さ れ る 。
様 々 な シ ス テ ム コ ー ル や ラ イ ブ ラ リ 関 数 で 、 プ ロ セ ス グ ル ー プ の 全 メ ン バ ー に 対 し て 操 作 を 行 う こ と が で き る 。 例 え ば 、 kill (2), killpg (3), getpriority (2), setpriority (2), ioprio_get (2), ioprio_set (2), waitid (2), waitpid (2) な ど 。 fcntl (2) の 操 作 F_GETOWN , F_GETOWN_EX , F_SETOWN , F_SETOWN_EX の 議 論 も 参 照 。
ユ ー ザ ー ID と グ ル ー プ ID
各 プ ロ セ ス は 、 数 種 類 の ユ ー ザ ー ID と グ ル ー プ ID を 持 つ 。 ユ ー ザ ー ID、 グ ル ー プ ID は 整 数 で 、 そ れ ぞ れ uid_t , gid_t 型 で 表 現 さ れ る (こ れ ら は <sys/types.h> で 定 義 さ れ て い る )。
Linux で は 、 各 プ ロ セ ス は 以 下 の よ う な 種 類 の ユ ー ザ ー ID と グ ル ー プ ID を 持 つ 。
|
* |
実 ユ ー ザ ー ID と 実 グ ル ー プ ID。 こ れ ら の ID に よ り プ ロ セ ス の 所 有 者 が 決 定 さ れ る 。 プ ロ セ ス が 自 分 の 実 ユ ー ザ ー ID、 実 グ ル ー プ ID を 取 得 す る に は 、 そ れ ぞ れ getuid (2), getgid (2) を 使 用 す る 。 |
||
|
* |
実 効 ユ ー ザ ー ID と 実 効 グ ル ー プ ID。 こ れ ら の ID は 、 メ ッ セ ー ジ キ ュ ー 、 共 有 メ モ リ ー 、 セ マ フ ォ な ど の 共 有 リ ソ ー ス に ア ク セ ス し よ う と し た 際 に そ の プ ロ セ ス が ア ク セ ス 許 可 を 持 っ て い る か を カ ー ネ ル が 判 定 す る の に 使 用 さ れ る 。 ほ と ん ど の UNIX シ ス テ ム で は 、 こ れ ら の ID は フ ァ イ ル へ の ア ク セ ス 時 の ア ク セ ス 許 可 の 判 定 に も 使 用 さ れ る 。 し か し な が ら 、 Linux で は フ ァ イ ル へ の ア ク セ ス 許 可 の 判 定 に は 後 述 の フ ァ イ ル シ ス テ ム ID が 使 用 さ れ る 。 プ ロ セ ス が 自 分 の 実 効 ユ ー ザ ー ID、 実 効 グ ル ー プ ID を 取 得 す る に は 、 そ れ ぞ れ geteuid (2), getegid (2) を 使 用 す る 。 |
||
|
* |
保 存 (saved) set-user-ID と 保 存 set-group-ID。 こ れ ら の ID は 、 set-user-ID や set-group-ID さ れ た プ ロ グ ラ ム に お い て 、 プ ロ グ ラ ム の 実 行 時 に 設 定 さ れ た 実 効 ID の コ ピ ー を 保 存 す る た め に 使 用 さ れ る ( execve (2) 参 照 )。 set-user-ID プ ロ グ ラ ム は 、 実 効 ユ ー ザ ー ID を 実 ユ ー ザ ー ID と 保 存 set-user-ID の 間 で 行 っ た り 来 た り 切 り 替 え る こ と で 、 特 権 を 得 た り 落 と し た り で き る 。 こ の 切 り 替 え は seteuid (2), setreuid (2), setresuid (2) を 呼 び 出 す こ と で 実 行 で き る 。 set-group-ID プ ロ グ ラ ム は 、 setegid (2), setregid (2), setresgid (2) を 使 っ て 同 様 の こ と が で き る 。 プ ロ セ ス が 自 分 の 保 存 set-user-ID、 保 存 set-group-ID を 取 得 す る に は 、 getresuid(2), getresgids (2) を そ れ ぞ れ 使 用 す る 。 |
||
|
* |
フ ァ イ ル シ ス テ ム ユ ー ザ ー ID と フ ァ イ ル シ ス テ ム グ ル ー プ ID (Linux 固 有 )。 こ れ ら の ID は 、 後 述 の 補 助 グ ル ー プ ID と 組 み 合 わ せ て 使 用 さ れ 、 フ ァ イ ル へ の ア ク セ ス 権 の 決 定 に 利 用 さ れ る 。 詳 細 は path_resolution (7) を 参 照 。 プ ロ セ ス の 実 効 ID (ユ ー ザ ー ID や グ ル ー プ ID) が 変 更 さ れ る た び に 、 カ ー ネ ル は 自 動 的 に 対 応 す る フ ァ イ ル シ ス テ ム ID を 同 じ 値 に 変 更 す る 。 そ の 結 果 、 フ ァ イ ル シ ス テ ム ID は 通 常 は 対 応 す る 実 効 ID と 同 じ 値 と な り 、 フ ァ イ ル の ア ク セ ス 権 の チ ェ ッ ク 方 法 は Linux と 他 の UNIX シ ス テ ム で 同 じ で あ る 。 フ ァ イ ル シ ス テ ム ID は 実 効 ID と は 異 な る 値 に す る こ と が で き 、 変 更 は setfsuid (2) と setfsgid (2) を 呼 び 出 し て 行 う 。 |
||
|
* |
補 助 グ ル ー プ ID。 こ の ID は 、 フ ァ イ ル や 他 の 共 有 リ ソ ー ス へ の ア ク セ ス 時 に ア ク セ ス 許 可 の チ ェ ッ ク に 使 用 さ れ る 、 追 加 の グ ル ー プ ID の 集 合 で あ る 。 カ ー ネ ル 2.6.4 よ り 前 の Linux で は 、 一 つ の プ ロ セ ス あ た り の 補 助 グ ル ー プ の メ ン バ ー 数 は 最 大 で 32 で あ る 。 カ ー ネ ル 2.6.4 以 降 で は 、 一 つ の プ ロ セ ス あ た り の 補 助 グ ル ー プ の メ ン バ ー 数 は 最 大 で 65536 で あ る 。 sysconf(_SC_NGROUPS_MAX) を 呼 び 出 す こ と で 、 あ る プ ロ セ ス が メ ン バ ー と な る こ と が で き る 可 能 性 の あ る 補 助 グ ル ー プ 数 を 知 る こ と が で き る 。 プ ロ セ ス は 、 自 分 の 補 助 グ ル ー プ ID の 集 合 を getgroups (2) で 取 得 で き る 。 |
fork (2) で 生 成 さ れ た 子 プ ロ セ ス は 親 プ ロ セ ス の ユ ー ザ ー ID と グ ル ー プ ID を 継 承 す る 。 execve (2) の 間 、 プ ロ セ ス の 実 ユ ー ザ ー /グ ル ー プ ID と 補 助 グ ル ー プ ID 集 合 は 不 変 で あ る 。 実 効 ID と 保 存 セ ッ ト ID は 変 更 さ れ る 可 能 性 が あ る ( execve (2) で 説 明 さ れ て い る )。
上 記 の 目 的 以 外 に も 、 プ ロ セ ス の ユ ー ザ ー ID は 他 の 様 々 な 場 面 で 利 用 さ れ る 。
|
* |
シ グ ナ ル を 送 る 許 可 の 判 定 時 ( kill (2) 参 照 ) |
||
|
* |
プ ロ セ ス の ス ケ ジ ュ ー リ ン グ 関 連 の パ ラ メ ー タ ー (nice 値 、 リ ア ル タ イ ム ス ケ ジ ュ ー リ ン グ ポ リ シ ー や 優 先 度 、 CPU affinity、 入 出 力 優 先 度 ) の 設 定 許 可 の 判 定 時 。 ス ケ ジ ュ ー リ ン グ 関 連 の パ ラ メ ー タ ー 設 定 に は setpriority (2), sched_setaffinity (2), sched_setscheduler (2), sched_setparam (2), sched_setattr (2), ioprio_set (2) が 使 用 さ れ る 。 |
||
|
* |
リ ソ ー ス 上 限 の チ ェ ッ ク 時 ( getrlimit (2) 参 照 ) |
||
|
* |
プ ロ セ ス が 生 成 で き る inotify イ ン ス タ ン ス 数 の 上 限 の チ ェ ッ ク 時 ( inotify (7) 参 照 ) |
Modifying process user and group IDs
Subject to rules
described in the relevant manual pages, a process can use
the following APIs to modify its user and group IDs:
setuid
(2) (
setgid
(2))
Modify the process’s real (and possibly effective and saved-set) user (group) IDs.
seteuid (2) ( setegid (2))
Modify the process’s effective user (group) ID.
setfsuid (2) ( setfsgid (2))
Modify the process’s filesystem user (group) ID.
setreuid (2) ( setregid (2))
Modify the process’s real and effective (and possibly saved-set) user (group) IDs.
setresuid (2) ( setresgid (2))
Modify the process’s real, effective, and saved-set user (group) IDs.
setgroups (2)
Modify the process’s supplementary group list.
Any changes to a process’s effective user (group) ID are automatically carried over to the process’s filesystem user (group) ID. Changes to a process’s effective user or group ID can also affect the process "dumpable" attribute, as described in prctl (2).
Changes to process user and group IDs can affect the capabilities of the process, as described in capabilities (7).
準 拠
プ ロ セ ス ID、 親 プ ロ セ ス ID、 プ ロ セ ス グ ル ー プ ID、 セ ッ シ ョ ン ID は POSIX.1 で 規 定 さ れ て い る 。 実 ID、 実 効 ID、 保 存 セ ッ ト ID の ユ ー ザ ー ID / グ ル ー プ ID お よ び 補 助 グ ル ー プ ID は POSIX.1 で 規 定 さ れ て い る 。 フ ァ イ ル シ ス テ ム ユ ー ザ ー ID / グ ル ー プ ID は Linux に よ る 拡 張 で あ る 。
注 意
Various fields in the /proc/[pid]/status file show the process credentials described above. See proc (5) for further information.
POSIX の ス レ ッ ド 仕 様 で は 、 こ れ ら の 識 別 子 が プ ロ セ ス 内 の 全 ス レ ッ ド で 共 有 さ れ る こ と を 求 め て い る 。 し か し な が ら 、 カ ー ネ ル の レ ベ ル で は 、 Linux は ス レ ッ ド 毎 に 別 々 の ユ ー ザ ー と グ ル ー プ に 関 す る 識 別 子 を 管 理 し て い る 。 NPTL ス レ ッ ド 実 装 が 、 (例 え ば setuid (2), setresuid (2) な ど の 呼 び 出 し に よ る ) ユ ー ザ ー や グ ル ー プ に 関 す る 識 別 子 に 対 す る 変 更 が プ ロ セ ス 内 の 全 て の POSIX ス レ ッ ド に 対 し て 反 映 さ れ る こ と を 保 証 す る た め の 処 理 を 行 っ て い る 。 詳 細 は nptl (7) を 参 照 。
関 連 項 目
bash (1), csh (1), groups (1), id (1), newgrp (1), ps (1), runuser (1), setpriv (1), sg (1), su (1), access (2), execve (2), faccessat (2), fork (2), getgroups (2), getpgrp (2), getpid (2), getppid (2), getsid (2), kill (2), setegid (2), seteuid (2), setfsgid (2), setfsuid (2), setgid (2), setgroups (2), setpgid (2), setresgid (2), setresuid (2), setsid (2), setuid (2), waitpid (2), euidaccess (3), initgroups (3), killpg (3), tcgetpgrp (3), tcgetsid (3), tcsetpgrp (3), group (5), passwd (5), shadow (5), capabilities (7), namespaces (7), path_resolution (7), pid_namespaces (7), pthreads (7), signal (7), system_data_types (7), unix (7), user_namespaces (7), sudo (8)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。