特定ユーザ権限でテストを実行する

今日はserverspecのテストケースを記述する際の小ネタメモ。


serverspecのテストケースはroot権限で実行されます。(sudo して実行)
時には特定のユーザ権限でテストを実行したい場合があると思います。


そんなときには su -l -c


以下はamandaのバックアップ設定をチェックするテストケースです。

  • l オプションでユーザを指定して、 -c オプションで実行としています。
describe command('su -l amandabackup -c \'amcheck mybackup\'') do
  it { should return_exit_status 0 }
end


これでテストできるかと。


今日はこんなところで。