種類
- モジュール関数 (26)
- 特異メソッド (4)
- インスタンスメソッド (3)
- モジュール (3)
- クラス (1)
ライブラリ
- ビルトイン (37)
クラス
- File (4)
-
File
:: Stat (3)
モジュール
- FileTest (2)
- Kernel (2)
- Process (4)
-
Process
:: Sys (7) -
Process
:: UID (11)
キーワード
- Process (1)
- Stat (1)
- Sys (1)
-
change
_ privilege (1) - chown (2)
- eid (1)
- eid= (1)
- euid (1)
- euid= (1)
-
from
_ name (1) - geteuid (1)
- getuid (1)
-
grant
_ privilege (1) - lchown (1)
- new (1)
- owned? (1)
-
re
_ exchange (1) -
re
_ exchangeable? (1) - rid (1)
- seteuid (1)
- setresuid (1)
- setreuid (1)
- setruid (1)
- setuid (1)
- setuid? (3)
-
sid
_ available? (1) - switch (2)
- test (2)
- uid (2)
- uid= (1)
検索結果
先頭5件
-
Process
:: UID (78109.0) -
カレントプロセスのユーザ ID を操作するためのモジュールです。
カレントプロセスのユーザ ID を操作するためのモジュールです。
移植性が考慮されており、プラットフォーム間の違いを吸収するように実装されています。
プラットフォームのシステムコールを直接使いたい場合には Process::Sys
が提供されています。Process::Sys と Process::UID を同時に使うことは推奨されません。
実ユーザ ID を変更するメソッドは提供されていません。
これは Process::UID.#eid= と Process::UID.#re_exchange を以下のように
組み合わせることによって実現できます。
... -
Process
. # euid=(uid) (42688.0) -
カレントプロセスの実効ユーザ ID を uid に設定します。
カレントプロセスの実効ユーザ ID を uid に設定します。
動作の詳細はプラットフォームに依存します。
実効ユーザ ID 以外のユーザ ID も変更されるかも知れません。
@param uid 実効ユーザ ID を整数で指定します。
@raise Errno::EXXX 権限がない場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see Process::UID.#eid= -
File
:: Stat # uid -> Integer (42322.0) -
オーナーのユーザIDを返します。
オーナーのユーザIDを返します。
//emlist[][ruby]{
fs = File::Stat.new($0)
#例
p fs.uid #=> 0
//} -
Process
. # uid=(id) (42322.0) -
プロセスの実ユーザ ID を id に設定します。
プロセスの実ユーザ ID を id に設定します。
動作の詳細はプラットフォームに依存します。
実ユーザ ID 以外のユーザ ID も変更されるかも知れません。
@param id 実ユーザ ID を整数で指定します。
@raise Errno::EXXX 権限がない場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see Process::UID -
Process
. # uid -> Integer (42304.0) -
プロセスの実ユーザ ID を返します。
プロセスの実ユーザ ID を返します。
@see getuid(2) -
File
. setuid?(path) -> bool (42301.0) -
FileTest.#setuid? と同じです。
FileTest.#setuid? と同じです。
@param path パスを表す文字列か IO オブジェクトを指定します。 -
File
:: Stat # setuid? -> bool (42301.0) -
setuidされている時に真を返します。
setuidされている時に真を返します。
//emlist[][ruby]{
Dir.glob("/bin/*") {|bd|
if File::Stat.new(bd).setuid?
puts bd
end
}
#例
#...
#=> /bin/ping
#=> /bin/su
#...
//} -
FileTest
. # setuid?(file) -> bool (42301.0) -
ファイルが setuid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルが setuid(2) されている時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("u+s", "testfile")
FileTe... -
Process
. # euid -> Integer (42301.0) -
カレントプロセスの実効ユーザ ID を整数で返します。
カレントプロセスの実効ユーザ ID を整数で返します。
@see geteuid(2) -
Process
:: Sys . # geteuid -> Integer (42301.0) -
システムコールの geteuid(2) を呼びます。返り値を整数で返します。
システムコールの geteuid(2) を呼びます。返り値を整数で返します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。 -
Process
:: Sys . # getuid -> Integer (42301.0) -
システムコールの getuid(2) を呼びます。返り値を整数で返します。
システムコールの getuid(2) を呼びます。返り値を整数で返します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。 -
Process
:: Sys . # seteuid(id) -> nil (42301.0) -
システムコールの seteuid(2) を呼びます。
システムコールの seteuid(2) を呼びます。
@param id システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setresuid(rid , eid , sid) -> nil (42301.0) -
システムコールの setresuid を呼びます。
システムコールの setresuid を呼びます。
@param rid システムコールの引数を整数で指定します。
@param eid システムコールの引数を整数で指定します。
@param sid システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setreuid(rid , eid) -> nil (42301.0) -
システムコールの setreuid(2) を呼びます。
システムコールの setreuid(2) を呼びます。
@param rid システムコールの引数を整数で指定します。
@param eid システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setruid(id) -> nil (42301.0) -
システムコールの setruid を呼びます。
システムコールの setruid を呼びます。
@param id システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setuid(id) -> nil (42301.0) -
システムコールの setuid(2) を呼びます。
システムコールの setuid(2) を呼びます。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: UID . # eid=(id) (33073.0) -
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
実ユーザ ID は変更されないことが保証されます。
保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
* false の環境では保存ユーザ ID は変化しません。
利用できるか... -
Process
:: UID . # grant _ privilege(id) -> Integer (33073.0) -
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
実ユーザ ID は変更されないことが保証されます。
保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
* false の環境では保存ユーザ ID は変化しません。
利用できるか... -
Process
:: UID . # switch -> Integer (33073.0) -
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
変更前の実効ユーザ ID を返します。
ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
値に戻します。ブロックの実行結果を返します。
なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
実ユーザ ID が変化します。
@raise Errno::EPERM 各ユーザ ID ... -
Process
:: UID . # switch { . . . . } -> object (33073.0) -
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
変更前の実効ユーザ ID を返します。
ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
値に戻します。ブロックの実行結果を返します。
なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
実ユーザ ID が変化します。
@raise Errno::EPERM 各ユーザ ID ... -
Process
:: UID . # change _ privilege(id) -> Integer (33055.0) -
実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。
実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。
成功したら id を返します。主に root 権限を完全に放棄するために使います。
利用できるかはプラットフォームに依存します。
@param id ユーザ ID を整数で指定します。
@raise ArgumentError 変更できないユーザ ID があった場合に発生します。例外の発生時にこのメソッドを呼び出す前の各ユーザ ID の値が保存されているかどうかは保証されません。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に... -
Process
:: UID . # re _ exchangeable? -> bool (33049.0) -
Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。
Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。 -
Process
:: UID . # from _ name(name) -> Integer (33037.0) -
引数で指定した名前の実ユーザ ID を返します。
引数で指定した名前の実ユーザ ID を返します。
Process::UID.from_name("root") # => 0
Process::UID.from_name("nosuchuser") # => can't find user for nosuchuser (ArgumentError)
@param name ユーザ名を指定します。
@raise ArgumentError 引数で指定したユーザが存在しない場合に発生します。 -
Process
:: UID . # eid -> Integer (33001.0) -
現在の実効ユーザ ID を返します。
現在の実効ユーザ ID を返します。 -
Process
:: UID . # re _ exchange -> Integer (33001.0) -
実ユーザ ID と実効ユーザ ID とを入れ換えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効ユーザ ID を返します。
実ユーザ ID と実効ユーザ ID とを入れ換えます。
保存ユーザ ID は新しい実効ユーザ ID と同じになります。
新しい実効ユーザ ID を返します。
利用できるかはプラットフォームに依存します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。 -
Process
:: UID . # rid -> Integer (33001.0) -
現在の実ユーザ ID を返します。
現在の実ユーザ ID を返します。 -
Process
:: UID . # sid _ available? -> bool (33001.0) -
保存ユーザ ID を持つ環境かどうかを真偽値で返します。 保存ユーザ ID を持つなら true を返します。
保存ユーザ ID を持つ環境かどうかを真偽値で返します。
保存ユーザ ID を持つなら true を返します。
ただし、このメソッドの値には保証がありません。
現在は次の条件のいずれかが満足される場合には
保存ユーザ ID を持つものと判定しています。
* setresuid() を持つ
* seteuid() を持つ
* _POSIX_SAVED_IDS が真として定義されている -
Kernel
. # test(cmd , file) -> bool | Time | Integer | nil (24145.0) -
単体のファイルでファイルテストを行います。
単体のファイルでファイルテストを行います。
@param cmd 以下に示す文字リテラル、文字列、あるいは同じ文字を表す数値
です。文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@return 下表に特に明記していないものは、真偽値を返します。
以下は cmd として指定できる文字リテラルとその意味です。
: ?r
ファイルを実効 uid で読むことができる
: ?w
ファイルに実効 uid で書くことができる
: ?x
ファイルを... -
File
. lchown(owner , group , *filename) -> Integer (24037.0) -
File#chown と同様ですが、 シンボリックリンクに関してリンクそのもののオーナー、 グループを変更します。
File#chown と同様ですが、
シンボリックリンクに関してリンクそのもののオーナー、
グループを変更します。
@param filename ファイル名を表す文字列を指定します。
@param owner chown(2) と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在のままにすることができます。
@param group chown(2) と同様に数値で指定します。nil または -1 を指定することで、グループを現在のままにすることができます。
@raise NotImplementedError lchown(2) を実装していないシステ... -
Process
:: Sys (24037.0) -
ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶためのモジュールです。
ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶためのモジュールです。
ポータブルにユーザ ID・グループ ID を操作するためのモジュール Process::UID, Process::GID
も提供されています。Process::Sys と Process::UID や Process::GID を同時に使うことは
非推奨です。 -
Kernel
. # test(cmd , file1 , file2) -> bool (24025.0) -
2ファイル間のファイルテストを行います。
2ファイル間のファイルテストを行います。
@param cmd 以下に示す文字リテラル、文字列、あるいは同じ文字を表す数値
です。文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file1 テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@param file2 テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@return 真偽値を返します。
以下は cmd として指定できる文字リテラルとその意味です。
: ?=
ファイル1とファイル2の最終更新時刻が等しい
: ?>
フ... -
File
# chown(owner , group) -> 0 (24019.0) -
ファイルのオーナーとグループを変更します。
ファイルのオーナーとグループを変更します。
適切な権限があればファイルのオーナーとグループを変更できます。
所有者の変更に成功した場合は 0 を返します。変更に失敗した場合は
例外 Errno::EXXX が発生します。
@param owner chown(2) と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在のままにすることができます。
@param group chown(2) と同様に数値で指定します。nil または -1 を指定することで、グループを現在のままにすることができます。
@raise IOError 自身が close されている... -
File
. chown(owner , group , *filename) -> Integer (24019.0) -
ファイルのオーナーとグループを変更します。スーパーユーザだけがファ イルのオーナーとグループを変更できます。変更を行ったファイルの数を 返します。
ファイルのオーナーとグループを変更します。スーパーユーザだけがファ
イルのオーナーとグループを変更できます。変更を行ったファイルの数を
返します。
@param filename ファイル名を表す文字列を指定します。
@param owner chown(2) と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在のままにすることができます。
@param group chown(2) と同様に数値で指定します。nil または -1 を指定することで、グループを現在のままにすることができます。
@raise Errno::EXXX 変更に失敗した場合に発生し... -
File
:: Stat (24019.0) -
ファイルの情報を格納したオブジェクトのクラス。
ファイルの情報を格納したオブジェクトのクラス。
FileTest に同名のモジュール関数がある場合はそれと同じ働きをします。ただ、
ファイル名を引数に取るかわりに Stat 自身について判定する点が違います。
//emlist[][ruby]{
p File::Stat.new($0).directory? #=> false
p FileTest.directory?($0) #=> false
//}
1.8 以降では、属性メソッドがシステムでサポートされていない場合 nil が返ります。
なお、1.7 以前では 0 が返っていました。
dev デバイス番号(フ... -
File
:: Stat . new(path) -> File :: Stat (24019.0) -
path に関する File::Stat オブジェクトを生成して返します。 File.stat と同じです。
path に関する File::Stat オブジェクトを生成して返します。
File.stat と同じです。
@param path ファイルのパスを指定します。
@raise Errno::ENOENT pathに該当するファイルが存在しない場合発生します。
//emlist[][ruby]{
p $:[0]
#=> 例
# "C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8"
p File::Stat.new($:[0])
#=> 例
#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1,... -
FileTest
. # owned?(file) -> bool (24019.0) -
ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "")
File.chown(Process.uid, -1, "testfile")
FileTest.owned?(... -
Process (24019.0)
-
UNIX のプロセスを管理するモジュールです。
UNIX のプロセスを管理するモジュールです。
Process がプロセスを表現するクラスではなく、プロセスに対する操作
をまとめたモジュールであることに注意してください。
ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶために Process::Sys が提供されています。
ポータブルにユーザ ID・グループ ID を操作するためのモジュール Process::UID, Process::GID
も提供されています。