module function FileUtils.#chmod

chmod(mode, list, options = {}) -> Array[permalink][rdoc][edit]

ファイル list のパーミッションを mode に変更します。

[PARAM] mode:
パーミッションを8進数(absolute mode)か文字列(symbolic mode)で指定します。
[PARAM] list:
ファイルのリストを指定します。 対象のファイルが一つの場合は文字列でも指定可能です。二つ以上指定する場合は配列で指定します。
[PARAM] options:
:noop と :verbose が指定可能です。 FileUtils/オプションの説明
[RETURN]
list を配列として返します。

例:

# Absolute mode
require 'fileutils'
FileUtils.chmod(0644, %w(my.rb your.rb his.rb her.rb))
FileUtils.chmod(0755, 'somecommand')
FileUtils.chmod(0755, '/usr/bin/ruby', :verbose => true)
# Symbolic mode
require 'fileutils'
FileUtils.chmod("u=wr,go=rr", %w(my.rb your.rb his.rb her.rb))
FileUtils.chmod("u=wrx,go=rx", 'somecommand')
FileUtils.chmod("u=wrx,go=rx", '/usr/bin/ruby', :verbose => true)

symbolic mode では以下の指定を 操作対象 演算子 権限 の順番で指定します。

操作対象(複数指定可。省略した場合は a)。

  • "a": 全て(所有者、グループ、その他)のユーザを指定するマスク
  • "u": 所有者を指定するマスク
  • "g": グループ(ファイルと同じグループに属しているが所有者ではない)を指定するマスク
  • "o": その他(所有者でもなく、そのファイルと同じグループにも属していない)を指定するマスク

演算子。

  • "+": 以降で指定した権限を追加
  • "-" 以降で指定した権限を削除
  • "=" 以降で指定した権限を指定

権限(複数指定可)。

  • "w": 書き込み権限
  • "r": 読み込み権限
  • "x": 実行権限
  • "s": 実行時にユーザー、あるいはグループ ID を設定
  • "t": sticky ビット