JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 1: ユーザーコマンド     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

User Commands

acctcom(1)

adb(1)

addbib(1)

admin(1)

alias(1)

allocate(1)

amt(1)

appcert(1)

apptrace(1)

apropos(1)

ar(1)

arch(1)

as(1)

asa(1)

at(1)

atq(1)

atrm(1)

audioconvert(1)

audioctl(1)

audioplay(1)

audiorecord(1)

audiotest(1)

auths(1)

auto_ef(1)

awk(1)

banner(1)

basename(1)

basename(1B)

batch(1)

bc(1)

bdiff(1)

bfs(1)

bg(1)

biff(1B)

break(1)

builtin(1)

cal(1)

calendar(1)

case(1)

cat(1)

cd(1)

cdc(1)

cdrw(1)

chdir(1)

checkeq(1)

checknr(1)

chgrp(1)

chkey(1)

chmod(1)

chown(1)

chown(1B)

ckdate(1)

ckgid(1)

ckint(1)

ckitem(1)

ckkeywd(1)

ckpath(1)

ckrange(1)

ckstr(1)

cksum(1)

cktime(1)

ckuid(1)

ckyorn(1)

clear(1)

cmp(1)

col(1)

comb(1)

comm(1)

command(1)

compress(1)

continue(1)

cp(1)

cpio(1)

cpp(1)

cputrack(1)

crle(1)

crontab(1)

csh(1)

csplit(1)

ct(1C)

ctags(1)

ctrun(1)

ctstat(1)

ctwatch(1)

cu(1C)

cut(1)

date(1)

dc(1)

deallocate(1)

decrypt(1)

delta(1)

deroff(1)

df(1B)

dhcpinfo(1)

diff(1)

diff3(1)

diffmk(1)

digest(1)

digestp(1)

dircmp(1)

dirname(1)

dirs(1)

dis(1)

disown(1)

dispgid(1)

dispuid(1)

dos2unix(1)

dpost(1)

du(1)

du(1B)

dump(1)

dumpcs(1)

dumpkeys(1)

echo(1)

echo(1B)

ed(1)

edit(1)

egrep(1)

eject(1)

elfdump(1)

elfedit(1)

elffile(1)

elfsign(1)

elfwrap(1)

encrypt(1)

enhance(1)

env(1)

eqn(1)

errange(1)

errdate(1)

errgid(1)

errint(1)

erritem(1)

error(1)

errpath(1)

errstr(1)

errtime(1)

erruid(1)

erryorn(1)

eval(1)

ex(1)

exec(1)

exit(1)

expand(1)

export(1)

exportfs(1B)

expr(1)

expr(1B)

exstr(1)

factor(1)

false(1)

fastboot(1B)

fasthalt(1B)

fc(1)

fg(1)

fgrep(1)

file(1)

file(1B)

filebench(1)

filep(1)

filesync(1)

filofaxp(1)

find(1)

finger(1)

fmt(1)

fmtmsg(1)

fold(1)

for(1)

foreach(1)

franklinp(1)

from(1B)

ftp(1)

function(1)

gcore(1)

gencat(1)

geniconvtbl(1)

genmsg(1)

get(1)

getconf(1)

getfacl(1)

getlabel(1)

getopt(1)

getoptcvt(1)

getopts(1)

gettext(1)

gettxt(1)

getzonepath(1)

glob(1)

goto(1)

gprof(1)

grep(1)

groups(1)

groups(1B)

grpck(1B)

hash(1)

hashcheck(1)

hashmake(1)

hashstat(1)

head(1)

helpdate(1)

helpgid(1)

helpint(1)

helpitem(1)

helppath(1)

helprange(1)

helpstr(1)

helptime(1)

helpuid(1)

helpyorn(1)

hist(1)

history(1)

hostid(1)

hostname(1)

i386(1)

i486(1)

iconv(1)

if(1)

indxbib(1)

install(1B)

ipcrm(1)

ipcs(1)

isainfo(1)

isalist(1)

jobs(1)

join(1)

jsh(1)

kbd(1)

kdestroy(1)

keylogin(1)

keylogout(1)

kill(1)

kinit(1)

klist(1)

kmdb(1)

kmfcfg(1)

kpasswd(1)

krb5-config(1)

ksh(1)

ksh88(1)

ksh93(1)

ktutil(1)

kvno(1)

lari(1)

last(1)

lastcomm(1)

ld(1)

ldapadd(1)

ldapdelete(1)

ldaplist(1)

ldapmodify(1)

ldapmodrdn(1)

ldapsearch(1)

ldd(1)

ld.so.1(1)

let(1)

lex(1)

lgrpinfo(1)

limit(1)

line(1)

list_devices(1)

listusers(1)

llc2_autoconfig(1)

llc2_config(1)

llc2_stats(1)

ln(1)

ln(1B)

loadkeys(1)

locale(1)

localedef(1)

logger(1)

logger(1B)

login(1)

logname(1)

logout(1)

look(1)

lookbib(1)

lorder(1)

ls(1)

ls(1B)

m4(1)

mac(1)

mach(1)

machid(1)

madv.so.1(1)

mail(1)

Mail(1B)

mail(1B)

mailcompat(1)

mailp(1)

mailq(1)

mailstats(1)

mailx(1)

make(1S)

makekey(1)

man(1)

mconnect(1)

mcs(1)

mdb(1)

mesg(1)

mkdir(1)

mkmsgs(1)

mkstr(1B)

mktemp(1)

moe(1)

more(1)

mp(1)

mpss.so.1(1)

msgcc(1)

msgcpp(1)

msgcvt(1)

msgfmt(1)

msggen(1)

msgget(1)

mt(1)

mv(1)

nawk(1)

nc(1)

ncab2clf(1)

ncakmod(1)

neqn(1)

netcat(1)

newform(1)

newgrp(1)

newsp(1)

newtask(1)

nice(1)

nl(1)

nm(1)

nohup(1)

notify(1)

nroff(1)

od(1)

on(1)

onintr(1)

optisa(1)

pack(1)

packagemanager(1)

page(1)

pagesize(1)

pargs(1)

passwd(1)

paste(1)

patch(1)

pathchk(1)

pax(1)

pcat(1)

pcred(1)

perl(1)

pfbash(1)

pfcsh(1)

pfexec(1)

pfiles(1)

pfksh(1)

pflags(1)

pfsh(1)

pftcsh(1)

pfzsh(1)

pg(1)

pgrep(1)

pkcs11_inspect(1)

pkg(1)

pkgdepend(1)

pkgdiff(1)

pkgfmt(1)

pkginfo(1)

pkglint(1)

pkgmerge(1)

pkgmk(1)

pkgmogrify(1)

pkgparam(1)

pkgproto(1)

pkgrecv(1)

pkgrepo(1)

pkgsend(1)

pkgsign(1)

pkgtrans(1)

pkill(1)

pklogin_finder(1)

pktool(1)

plabel(1)

pldd(1)

plgrp(1)

plimit(1)

pmadvise(1)

pmap(1)

pm-updatemanager(1)

popd(1)

ppgsz(1)

ppriv(1)

pr(1)

praliases(1)

prctl(1)

preap(1)

print(1)

printenv(1B)

printf(1)

priocntl(1)

proc(1)

prof(1)

profiles(1)

projects(1)

prs(1)

prt(1)

prun(1)

ps(1)

ps(1B)

psig(1)

pstack(1)

pstop(1)

ptime(1)

ptree(1)

pushd(1)

pvs(1)

pwait(1)

pwd(1)

pwdx(1)

radadrgen(1)

ranlib(1)

rcapstat(1)

rcp(1)

read(1)

readonly(1)

red(1)

refer(1)

regcmp(1)

rehash(1)

remote_shell(1)

remsh(1)

renice(1)

repeat(1)

reset(1B)

return(1)

rksh(1)

rksh88(1)

rlogin(1)

rm(1)

rmail(1)

rmdel(1)

rmdir(1)

rmformat(1)

rmmount(1)

rmumount(1)

roffbib(1)

roles(1)

rpcgen(1)

rpm2cpio(1)

rsh(1)

runat(1)

rup(1)

rup(1C)

ruptime(1)

rusage(1B)

rusers(1)

rwho(1)

sact(1)

sar(1)

sccs(1)

sccs-admin(1)

sccs-cdc(1)

sccs-comb(1)

sccs-delta(1)

sccsdiff(1)

sccs-get(1)

sccs-help(1)

sccshelp(1)

sccs-prs(1)

sccs-prt(1)

sccs-rmdel(1)

sccs-sact(1)

sccs-sccsdiff(1)

sccs-unget(1)

sccs-val(1)

scp(1)

script(1)

sdiff(1)

sed(1)

sed(1B)

select(1)

set(1)

setenv(1)

setfacl(1)

setlabel(1)

setpgrp(1)

settime(1)

sftp(1)

sh(1)

shcomp(1)

shell_builtins(1)

shift(1)

shutdown(1B)

size(1)

sleep(1)

soelim(1)

sort(1)

sortbib(1)

sotruss(1)

source(1)

sparc(1)

spell(1)

spellin(1)

split(1)

srchtxt(1)

ssh(1)

ssh-add(1)

ssh-agent(1)

ssh-http-proxy-connect(1)

ssh-keygen(1)

ssh-keyscan(1)

ssh-socks5-proxy-connect(1)

stop(1)

strchg(1)

strconf(1)

strings(1)

strip(1)

stty(1)

stty(1B)

sum(1)

sum(1B)

sun(1)

suspend(1)

svcprop(1)

svcs(1)

switch(1)

symorder(1)

sys-suspend(1)

sysV-make(1)

t300(1)

t300s(1)

t4014(1)

t450(1)

tabs(1)

tail(1)

talk(1)

tar(1)

tbl(1)

tcopy(1)

tee(1)

tek(1)

telnet(1)

test(1)

test(1B)

tftp(1)

time(1)

timemanp(1)

times(1)

timesysp(1)

timex(1)

tip(1)

touch(1)

touch(1B)

tplot(1)

tput(1)

tr(1)

tr(1B)

trap(1)

troff(1)

true(1)

truss(1)

tset(1B)

tsort(1)

tty(1)

type(1)

typeset(1)

ul(1)

ulimit(1)

umask(1)

unalias(1)

uname(1)

uncompress(1)

unexpand(1)

unget(1)

unhash(1)

unifdef(1)

uniq(1)

units(1)

unix2dos(1)

unlimit(1)

unpack(1)

unset(1)

unsetenv(1)

until(1)

updatehome(1)

uptime(1)

userattr(1)

users(1B)

uucp(1C)

uudecode(1C)

uuencode(1C)

uuglist(1C)

uulog(1C)

uuname(1C)

uupick(1C)

uustat(1C)

uuto(1C)

uux(1C)

vacation(1)

val(1)

valdate(1)

valgid(1)

valint(1)

valpath(1)

valrange(1)

valstr(1)

valtime(1)

valuid(1)

valyorn(1)

vc(1)

vedit(1)

ver(1)

vgrind(1)

vi(1)

view(1)

vipw(1B)

volcheck(1)

volrmmount(1)

w(1)

wait(1)

wc(1)

what(1)

whatis(1)

whence(1)

whereis(1B)

which(1)

while(1)

who(1)

whoami(1B)

whocalls(1)

whois(1)

write(1)

xargs(1)

xgettext(1)

xstr(1)

yacc(1)

yes(1)

ypcat(1)

ypmatch(1)

yppasswd(1)

ypwhich(1)

zcat(1)

zlogin(1)

zonename(1)

zonestat(1)

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

ppriv

- プロセス特権セットおよび属性の検査または変更

形式

/usr/bin/ppriv -e [-D | -N] [-M] [-s spec] [-X | -r rule] command [arg]...
/usr/bin/ppriv [-vn] [-S] [-D | -N] [-s spec] [-X | -r rule]
     [pid | core]...
/usr/bin/ppriv -l [-vn] [privilege-specification | extended-policy]...

機能説明

ppriv コマンドの最初の呼び出しでは、コマンド行の引数に従って変更された特権セットとフラグが指定された command が実行されます。

2 番目の呼び出しでは、実行中のプロセスとコアファイルの特権の状態を検査または変更します。

3 番目の呼び出しでは、定義されている特権および指定された特権または特権セットの指定に関する情報を一覧表示します。

オプション

サポートしているオプションは、次のとおりです。

-D

指定されたプロセスまたはコマンドの特権のデバッグを有効にします。

-e

残りの引数をコマンド行として解釈し、指定された特権の属性およびセットでコマンド行を実行します。

-l

現在定義されている特権をすべて標準出力に書き込みます。

-M

システムが Trusted Extensions で構成されている場合、このオプションを使用すると、NET_MAC_AWARE および NET_MAC_AWARE_INHERIT プロセス属性が有効になります。

これらの属性と net_mac_aware 特権を持つプロセスは、より低いレベルのリモートピアと通信できます。

-n

ポート番号とユーザーを数字として表示します。通常、ppriv は、ポート番号とユーザーをシンボルとして表示します。このオプションは、拡張ポリシーを表示する場合にのみ適用できます。

-N

指定されたプロセスまたはコマンドの特権のデバッグを無効にします。

-s spec

スペース文字を含まない [AEILP][+-=]privsetspec という形式の指定である spec に従ってプロセスの特権セットを変更します。

AEILP

変更する特権セットを示す 1 文字以上の英字を示します。これらは大文字と小文字の区別がなく、たとえば、a または A のいずれもすべての特権セットを示します。

特権セットの単一文字省略名の定義については、privileges(5) を参照してください。

+-=

リストされた特権を privsetspec で指定されたセットに、それぞれ追加 (+)、削除 (-)、または割り当て (=) する修飾子を示します。

privsetspec

priv_str_to_set(3C) で説明されている、コンマで区切られた特権セットの指定 (priv1,priv2 など) を示します。

個々のセットにそれぞれ 1 つの割り当てを行うか、任意の数の追加および削除を行うかのいずれかであれば、同じセットを複数の -s オプションで変更することは可能です。つまり、単一のセットに対する割り当てと、追加または削除は相互に排他的です。

-r rule

拡張ポリシーをインストールします。privileges(5) を参照してください。

複数のルールを指定できます。新しいルールは、既存のポリシーに追加されます。既存のポリシーを置き換えるには、まず -X を使用してそのポリシーを削除し、次に -r を使用して新しいポリシーを追加します。

-S

短い。可能なかぎり短い出力文字列でセットを報告します。デフォルトは移植性のある出力形式です。priv_str_to_set(3C) を参照してください。

-X

拡張ポリシーを無効にします。

-v

冗長。特権名を使用して特権セットを報告します。

使用法

ppriv ユーティリティーは、プロセスとコアファイルを検査し、それらの特権セットを出力または変更します。

ppriv は、特権のデバッグを有効または無効にして、あるいは呼び出すプロセスよりも少ない特権でコマンドを実行できます。

サブプロセスを実行する場合、変更できるセットは LI のみです。pprivP=E=I で起動された場合、特権を削除できるのは LI からのみです。

ppriv は、プロセスから特権を削除する場合、または別のプロセスに特権を委譲する場合にも使用できます。プロセスを制御するには、ppriv ユーティリティーの実効セットは、制御されるプロセスの EI、および P の上位集合である必要があります。ユーティリティーの制限セットは、ターゲットの制限セットの上位集合である必要があります。ターゲットプロセスのユーザー ID が一致しない場合は、ユーティリティーの実効セットで {PRIV_PROC_OWNER} 特権を表明する必要があります。制御されるプロセスが値 0 のユーザー ID を持つ場合、さらに制限が存在する可能性があります。privileges(5) を参照してください。

使用例

例 1 現在のシェルに対するプロセスの特権の取得

次の例では、現在のシェルに対するプロセスの特権を取得します。

example$ ppriv $$
387:   -sh
flags = <none>
         E: basic
         I: basic
         P: basic
         L: all

例 2 シェルの継承可能な実効セットからの特権の削除

次の例では、シェルの継承可能な実効セットから特権を削除します。

example$ ppriv -s EI-proc_session $$ 

サブプロセスはまだ親シェルを検査できますが、親に影響を及ぼすことはできません。親は ppriv の子プロセスよりも多い特権を Permitted セットに持っているためです。

example$ truss -p $$
truss: permission denied: 387

example$ ppriv $$
387:   -sh
flags = <none>
         E: basic,!proc_session
         I: basic,!proc_session
         P: basic
         L: all

例 3 特権のデバッグを使用したプロセスの実行

次の例では、特権のデバッグを有効にしてプロセスを実行します。

example$ ppriv -e -D cat /etc/shadow
cat[418]: missing privilege “file_dac_read” (euid = 21782),
                    needed at ufs_access+0x3c
cat: cannot open /etc/shadow

特権のデバッグのエラーメッセージは、現在のプロセスの制御端末に送信されます。needed at アドレス指定は、カーネル実装のアーティファクトであり、ソフトウェアの更新後にいつでも変更できます。

システムコール番号は、/etc/name_to_sysnum を使用するとシステムコールにマップできます。

例 4 現在のゾーンで使用可能な特権の一覧表示

次の例では、現在のゾーンで使用可能な特権を一覧表示します (zones(5) を参照)。大域ゾーンで実行すると、定義されているすべての特権が一覧表示されます。

example$ ppriv -l zone
 ... listing of all privileges elided ...

例 5 特権に対応したプロセスの検査

次の例では、特権に対応したプロセスを検査します。

example$ ppriv -S ‘pgrep rpcbind‘


928:    /usr/sbin/rpcbind
flags = PRIV_AWARE
        E: net_privaddr,proc_fork,sys_nfs
        I: none
        P: net_privaddr,proc_fork,sys_nfs
        L: none

フラグの説明については、setpflags(2) を参照してください。

例 6 拡張ポリシーの下でのプロセスの実行

次の例では、拡張ポリシーの下でプロセスを実行します。

example$ ppriv -r '{file_write}:/home/casper/.mozilla/*' \
           -r '{file_write}:/tmp/*,{proc_exec}:/usr/*' -e firefox

privileges(5) を参照してください。

例 7 起動されているプロセスの検査

次の例では、例 6 で起動されたプロセスを検査します。

example$ ppriv 101272
101272: /usr/lib/firefox/firefox-bin
flags = PRIV_XPOLICY
Extended policies:
{file_write}:/home/casper/.mozilla/*
{file_write}:/tmp/*
{proc_exec}:/usr/*
E: basic,!file_write,!proc_exec
I: basic,!file_write,!proc_exec
P: basic,!file_write,!proc_exec
L: all

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

0 以外

エラーが発生しました。

ファイル

/proc/*

プロセスファイル

/etc/name_to_sysnum

システムコール名と番号のマッピング

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
下記を参照。

呼び出しは「確実」です。出力は「不確実」です。

関連項目

gcore(1), truss(1), setpflags(2), priv_str_to_set(3C), proc(4), attributes(5), privileges(5), zones(5)