私は職場でCentos 7を使用してデータセットを管理しています。このデータセットのデータファイルはすべてが "myuser:group" に属するファイル構造になっており、不幸なことが発生するのを防ぐために myuser (別名私) にのみ書き込みアクセスを許可します。
しかし、今日はプロジェクトのファイル全体を直接コピーし、「cp」の代わりに「mv」を使用しました。これは病気ではありませんが、何か悪いことが起こる可能性があることを思い出しました。
目標は、「グループ」のユーザーがこのディレクトリ構造の外側でファイルを「cp」することはできますが、書き込み権限を持たないようにすることです。ファイルはすでに他の場所にバックアップしておいたので、今後は愚かなことをしないようにすることが目標であり、愚かな状況があったときにファイルを回復することではない。
ルートをこのファイルの所有者にすることを検討しているので、ダメージを与える前に「sudo」を実行する必要があります。
誤ってこれらのファイルを編集/削除するのを防ぐにはどうすればよいですか?
答え1
まあ、あなたができることはいくつかあります。各方法には長所と短所があります。
rw
ユーザーがアクセス権を所有し(またはr
)、グループが所有する適切な所有権(現在のように)を設定できますr
。
ファイルを変更できないようにすることができます。ファイルのプロパティを変更すると、ファイルが削除または変更されるのを防ぐことができます(ただし、権限があれば読むことができますr
)chattr +i file
。後でファイルを変更する必要がある場合は、この+i
フラグを無効にするだけですchattr -i
。
どちらを選択しても、組織で実装することを決定したポリシー、ワークフロー、および手順に厳密に従う必要があります。彼らはあなたがそのような...間違いを犯すのを防ぎます。
答え2
私の解決策が役に立つかどうかはわかりませんが、愚かなことをしないようにします。開き、~/.bashrc
次を追加します。
alias mv="ensure && mv"
ensure() {
echo Are you sure about that? Type uppercase yes
read ans
if [[ $ans = YES ]] ; then
return 0
else
return 1
fi
}
YES
今、必要に応じて入力する必要がありますmv
。
答え3
エイリアスmv ---> "mv -i"はどうですか?これにより、ファイルを移動するとプロンプトが表示されます。
cshではこれを〜/ .cshrcに入れることができます:
alias mv "mv -i"