ファイル権限を保持するchmodコマンド

ファイル権限を保持するchmodコマンド

これは、単一のコマンドを実行しchmodてユーザー権限を読み取る必要があるAnsible自動化の一部です。したがって、

chmod -R $fileperm <filename>

ただし、ユーザーが何も提供していないため、空になることがありますfileperm$filepermこの場合、ファイル権限は同じままである必要がありますが、上記のコマンドは失敗します。

chmod両方のコマンドが異なる条件を持つことは望ましくありませんwhen

可能であれば、同じコマンドでユーザーが権限を提供するかどうかを受け入れる方法を提案しますか?現在Ansibleのcommandモジュールを使用してchmod

ベストアンサー1

chmodパスしcommandたり電話したりしないでくださいshell。モジュールを使用してfile権限を設定します。参考文書。これはすごいです。このモジュールはファイル/ディレクトリの現在の状態を確認し、必要な場合にのみ変更します。

この場合、これを追加します。

- set_fact:
    files:
      - name: file1
        mode: 0755
      - name: file2
      - name: file3
        mode: 0644

- file:
    path: "{{ item.name }}"
    mode: "{{ item.mode | default(omit) }}"
  loop: "{{ files }}"

「時々ユーザーが提供しないかもしれません」という言葉が何を意味するのかわかりません。 Ansibleは相互作用性がほとんどありません。だからどういう意味なのかよく分からない。また、bash変数について話しています$fileperm。たとえば、Ansibleには「bash vars」はありません。彼らは本当であり、Jinjaを使ってそれを評価します。

おすすめ記事