2010年4月アーカイブ

rsync and sudo over SSH « crashingdaily

sudo + rsync | きぬろぐ

rsyncでリモートサーバのバックアップを取る場合に、バックアップするユーザに権限がないファイルやディレクトリのバックアップが取れない。
取れるようにするためには、rsyncをsudoで実行すればよい。

まずバックアップされるサーバ側で、バックアップユーザがsudoできるようにする。

# visudo
で、/etc/suduersに以下を加える。
backup ALL= NOPASSWD:/usr/bin/rsync

バックアップされるサーバ側で、.ssh/authorized_keysのcommandオプションでsshで実行できるコマンドを制限している場合は、
sudo\ rsync\ --server
も許可するようにする。

そして、rsync実行時のオプションに
--rsync-path="sudo rsync"
を追加する。


さて、これで設定はOKなはずなので、この状態でバックアップサーバからバックアップを実行すると、、、

sudo: sorry, you must have a tty to run sudo

というエラーになる。

これは、バックアップされるサーバ側の/etc/sudoers ファイルで、'requiretty' フラグがデフォルトで設定されているから。このフラグが設定されている場合、ログインしているユーザ以外はsudoできない。つまり、sshやrsh経由のリモートでのsudoコマンドの実行が許可されない。

Red Hat Knowledgebase: ssh 経由で sudo コマンドを実行すると、tty エラーとなります。

これを回避するには、sudoersでrequirettyフラグを設定しないようにする。

# visudo
で、/etc/sudoers の以下の行をコメントアウト。
#Defaults    requiretty

これで、OK。

カテゴリー:

Visual Studio 2005で、アプリケーション起動時にUACの昇格ダイアログを表示させる方法。
(Visual Studio 2008ならもっと簡単。)

Step 6: Create and Embed an Application Manifest (UAC)

Professional Visual Studio » Enabling Your Application for UAC

yourapp.exe.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft- 
     com:asm.v2">
      <ms_asmv2:security>
         <ms_asmv2:requestedPrivileges>
            <ms_asmv2:requestedExecutionLevel level="requireAdministrator">
            </ms_asmv2:requestedExecutionLevel>
         </ms_asmv2:requestedPrivileges>
      </ms_asmv2:security>
   </ms_asmv2:trustInfo>
</assembly>
post build task in your Visual Studio project's Project Properties:
"$(FrameworkSDKDir).\Bin\mt.exe" -nologo -manifest "$(ProjectDir)$(TargetFileName).manifest" -outputresource:$(TargetPath);#1"
or
mt.exe -manifest "$(ProjectDir)$(TargetName).exe.manifest" -updateresource:"$(TargetDir)$(TargetName).exe;#1"

カテゴリー:

カテゴリー:

カテゴリー:

カテゴリー:

カテゴリー:

fieldWithErrors のタグを変更する - takihiroの日記

エラーのフィールドを囲むのがdivになってしまうのを、spanに変更する。
ActionView::Base.field_error_proc = Proc.new {|html_tag, instance|
  %(<span class="fieldWithErrors">#{html_tag}</span>)}

カテゴリー:

Railsのタイムスタンプcreated_at、updated_atを無効にする。|WEBデザイン Tips

モデル全てでタイムスタンプを記録しない場合
ActiveRecord::Base.record_timestamps = false
特定のモデルでタイムスタンプを記録しない場合
Entry.record_timestamps = false

created_at、updated_atの実装コードを追ってalias_method_chainを理解する - ザリガニが見ていた...。

カテゴリー:

1

このアーカイブについて

このページには、2010年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年3月です。

次のアーカイブは2010年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。