ChangeLog 最新ページ

Ruby - /home/pochi/ChangeLog

最終更新時間: 2021-03-02 14:20

2013-09-01 Sun

Ruby で ls したいときにはどうすりゃ良いんだ? [Ruby]

FileUtils でサクっとできると思ったんだけど、

module FileUtils
http://doc.ruby-lang.org/ja/1.9.3/class/FileUtils.html

これを見ると、ls に対応するメソッドはないように見える。
他のファイル操作用のライブラリを見てもなさげ。
find で取得した結果をパースするのもいまいちな気が。

ファイル操作用ライブラリ
http://doc.ruby-lang.org/ja/1.9.3/library/index.html#File

とりあえず、以下みたいに、OSのコマンドを叩いたんだけど、
なんか負けた気分。

list = `cd #{path} ; /bin/ls -1`.split("\n")


追記)
Facebook で教えてもらった。
組込みライブラリのDirクラスを使うのが正解らしい。

http://doc.ruby-lang.org/ja/1.9.3/class/Dir.html

具体的には以下のような感じ。

Dir.chdir(path)
puts Dir.glob("*")


もしくはこんな感じ。

puts Dir.entries(path)

2013-08-30 Fri

suidperl みたいに使える suidruby は存在しない [Ruby][Perl]

システム管理用のプログラムを Ruby で書いてみようと思った。
root権限が必要なことを一般ユーザ権限でやりたいので、
suidperl っぽいのはないかな、と探してみたら、
Matzが、2003年にメーリングリストでこんなことを言ってたよ。

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/72754

A wrapper is a friend of you.

My grandpa once told me that never try suidruby, before he died 30
years ago. At that time, I didn't understand what he meant.

matz.


wrapperを書け、ってことか。

たしかに、suidperlみたいなのは危険っちゃ危険よね。
このへんにも書いてあるけど。

setuid なスクリプト
http://ya.maya.st/d/200908a.html#s20090810_1


うーん、どうすっかな。
Perlで書いて、suidperl 使うか、wrapperを書くか。
wrapper も数行書けば良いだけなんだけど、やっぱりちょっと面倒だなあ。

wrapperの例↓
http://stackoverflow.com/questions/556194/calling-a-script-from-a-setuid-root-c-program-script-does-not-run-as-root