質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

1回答

2056閲覧

itamae で root 権限のファイルを編集したい

退会済みユーザー

退会済みユーザー

総合スコア0

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

2クリップ

投稿2019/07/22 02:24

編集2019/07/22 02:26
file '/root/.aws/config' do user 'root' action :edit block do |content| unless content =~ /[profile AmazonCloudWatchAgent]/ content << <<-EOS [profile AmazonCloudWatchAgent] region: ap-northeast-1 EOS end end end

itamae で以上のようなレシピを実行したのですが
SCP did not finish successfully (1): scp: /root/.aws/config: Permission denied (Net::SCP::Error)
というエラーになります

debug モードで実行すると

scp -f /root/.aws/config

というコマンドが sudo なしに ec2-user 権限で発行されていて
/root/ 以下の操作権限がないのでパーミッションエラーになってると思われます

ec2-user には sudo 権限はついています

itamae では root 権限のファイルを中身に応じて変更するというのはできないのでしょうか

remote_file であれば置換できたのですがすでに中身がある場合に内容が消えてしまいます
root 権限でしか操作できないディレクトリ以下のファイルに対してすでにある中身を維持して追記するにはどうすればいいのでしょうか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

text

1$ aws configure set default.region ap-northeast-1 --profile AmazonCloudWatchAgent

こちらを sudo リソースで実行するように定義すればいいのでは。

投稿2019/07/22 02:55

mather

総合スコア6753

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/07/22 03:31

今回の場合はそれでもいいのですが itamae でたとえば /etc 内の root 権限のファイルを編集できるかどうかを知りたいです さすがにサーバー構築ウールをうたってる以上できないはずはないと思うのですが それができないのであれば ansible なり別のツールを使うことも考えないといけないので
mather

2019/07/22 04:20

しばらくchefを使っていなかったので過去はどうだったか思い出せないのですが、 最新のドキュメントを確認する限り action :edit や block は存在してないんですよね…。 https://docs.chef.io/resource_file.html Itamae(Chef)やAnsibleでもそうなんですが、冪等性を担保するもっと簡単な方法があるならそちらを選択すべきかと思います。
mather

2019/07/22 04:22

ChefやAnsibleは「サーバー構築ツール」ではなくて「構成管理ツール」ですね。 手順書を実行させるツールではなくて、サーバーが「整った状態」にするためのツールです。
退会済みユーザー

退会済みユーザー

2019/07/22 04:48 編集

itamae と chef は別物みたいです https://github.com/itamae-kitchen/itamae/wiki/file-resource itamae には中身に応じて内容を変更するメソッドが file で パーミッションが開いていれば正常に動作します > 「構成管理ツール」ですね。 失礼しました itamaeもそのとおりです 既存環境が chef で管理されてるのですがソースが膨大でどこをさわればいいかわからず 学習コストが高いので itamae を使ってみることになりました
mather

2019/07/22 05:09

なるほど。別物なのですね。失礼しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問