[#49519] OSX ruby-tkのextconf.rb — 天野 竜太郎 <pikara-giresse82@...>

=1B$BE7Ln$H$$$$$^$9!#=1B(B

13 messages 2013/08/01

[#49536] コマンドラインで ruby の変数に値を設定する方法 — 尾川敏也 <ogw@...>

尾川と申します。

31 messages 2013/08/09
[#49537] Re: コマンドラインで ruby の変数に値を設定する方法 — 古川大輔 <mogya99@...> 2013/08/09

=EF=BC=9E=E3=82=B9=E3=82=AF=E3=83=AA=E3=83=97=E3=83=88=E5=90=8D=E3=81=AB=E7=

[#49538] Re: コマンドラインで ruby の変数に値を設定する方法 — 尾川敏也 <ogw@...> 2013/08/11

尾川です。

[#49539] Re: コマンドラインで ruby の変数に値を設定する方法 — Nobuyoshi Nakada <nobu@...> 2013/08/11

(13/08/11 11:14), 尾川敏也 wrote:

[#49596] シェルスクリプトの Ruby での置き換え (was Re: コマンドラインで ruby の変数に値を設定する方法) — 尾川敏也 <ogw@...> 2013/09/21

尾川と申します。おはようございます。

[#49598] IO.popen に不具合? — 尾川敏也 <ogw@...> 2013/09/24

たびたびお騒がせします。尾川と申します。

[#49611] IO.popen の不審な挙動を再現するサンプルコード — 尾川敏也 <ogw@...> 2013/09/28

尾川です。

[ruby-list:49566] 「drwxr-xr-x」か「drwx------」かを判別する方法はありますでしょうか?

From: take_tk <ggb03124@...>
Date: 2013-08-26 07:30:01 UTC
List: ruby-list #49566
たけ(tk)と申します。

pdumpfs で作ったディレクトリが読込み不可になっているので、rubyのスクリプ
トで対処したいのですが・・・

[tk@EeePC-40 ~]$ sudo ls -la /storage2/pdumpfs_of/2013
合計 40
drwxr-xr-x 10 root root 4096  8月 26 13:21 .
drwxr-xr-x  4 root root 4096  8月 26 14:47 ..
drwxr-xr-x 33 root root 4096  7月 13 00:11 01
drwxr-xr-x 30 root root 4096  7月 13 01:42 02
drwxr-xr-x 32 root root 4096  7月 13 02:49 03
drwxr-xr-x 28 root root 4096  7月 13 03:45 04
drwxr-xr-x 33 root root 4096  7月 13 04:57 05
drwxr-xr-x 32 root root 4096  7月 13 06:07 06 ← 手動で読込み可能にした
drwx------ 33 root root 4096  8月 26 13:43 07 ← 作りたては読込み不可
drwx------ 27 root root 4096  8月 26 14:39 08 ← 作りたては読込み不可
[tk@EeePC-40 ~]$

「もし読込み不可なら、読み込み可能にする」というつもりで、次のようなスク
リプトを作ったのですが・・・

def check_and_set_readable(dir)
  unless FileTest.directory? dir
    p "#{dir} is NOT Directory. ???"
    return
  end
  if FileTest.executable?(dir) and FileTest.readable_real?(dir)
    ##p "#{dir} is OK."
  else
    p "#{dir} is NOT executable or readable."
    cmd = "chmod a+rx #{dir}"
    p cmd
    `#{cmd}`
  end
end
check_and_set_readable(ARGV[0]) unless ARGV.empty?

実行してみると、
通常ユーザでは変更不能。
rootユーザでは「もともと読込み可能」なので反応しない。
という結果になってしまいました。

(通常ユーザだと変更が拒否される)
[tk@EeePC-40 ~]$ ruby /samba_public/apollo/tkUtils/pdumpfs-readable.rb /storage2/pdumpfs_of/2013/08
"/storage2/pdumpfs_of/2013/08 is NOT executable or readable."
"chmod a+rx /storage2/pdumpfs_of/2013/08"
chmod: `/storage2/pdumpfs_of/2013/08' のパーミッションを変更しています: 許可されていない操作です

(rootだと、そもそも読み込み可能なので反応しない)
[tk@EeePC-40 ~]$ sudo ruby /samba_public/apollo/tkUtils/pdumpfs-readable.rb/storage2/pdumpfs_of/2013/08

(変更されていないことの確認)
[tk@EeePC-40 ~]$ ruby /samba_public/apollo/tkUtils/pdumpfs-readable.rb/storage2/pdumpfs_of/2013/08
"/storage2/pdumpfs_of/2013/08 is NOT executable or readable."
"chmod a+rx /storage2/pdumpfs_of/2013/08"
chmod: `/storage2/pdumpfs_of/2013/08' のパーミッションを変更しています: 許可されていない操作です
[tk@EeePC-40 ~]$

つきましては、質問なのですが、
rootユーザで実行して、通常ユーザで読み込み可能かをテストする方法はありま
すでしょうか?
つまり「drwxr-xr-x」か「drwx------」かを判別する方法はありますでしょうか?

drwxr-xr-x 32 root root 4096  7月 13 06:07 06
drwx------ 33 root root 4096  8月 26 13:43 07


Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武

In This Thread

Prev Next