0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

フールプルーフ設計の検証(環境構築および試験項目)

0
Last updated at Posted at 2026-06-17

フールプルーフ設計・実装をもとにした、検証環境の構築手順および試験項目書(単体・結合)を作成しました。

検証をスムーズに進められるよう、記事に記載したスクリプトや設定をすべて組み込んだ実践的な内容にしています。


🛠️ 検証環境 構築手順書

1. グループとテストユーザの作成

ドラフトの「3.2.1 グループ設計の考え方」に基づき、技術レベル(サブグループ)および検証用ユーザを作成します。

# 技術レベルごとのサブグループを作成
groupadd lv1_read
groupadd lv2_nonfatal
groupadd lv3_admin

# 役割ごとの主グループを作成
groupadd enduser
groupadd operator
groupadd infra

# テスト用ユーザの作成とグループの割り当て
useradd -g enduser -G lv1_read user_lv1
useradd -g operator -G lv2_nonfatal user_lv2
useradd -g infra -G lv3_admin user_lv3

# パスワードの設定(任意)
passwd user_lv1
passwd user_lv2
passwd user_lv3

2. safeシェル(ラッパースクリプト)の作成と配置

ドラフトやこれまでのチャットで作成した各種フールプルーフスクリプトを /usr/local/bin/ に配置します。

# ディレクトリの作成(バックアップ用含む)
mkdir -p /usr/local/bin
mkdir -p /usr/local/BKUP
chmod 777 /usr/local/BKUP # 検証用のため一旦全許可

# 各スクリプトを作成し、これまでのコードを貼り付ける
vi /usr/local/bin/safe_rm.sh
vi /usr/local/bin/safe_rmdir.sh
vi /usr/local/bin/safe_mv.sh
vi /usr/local/bin/safe_crontab.sh
vi /usr/local/bin/safe_shutdown.sh
vi /usr/local/bin/safe_chmod.sh
vi /usr/local/bin/safe_chown.sh
vi /usr/local/bin/safe_chgrp.sh
vi /usr/local/bin/safe_kill.sh
vi /usr/local/bin/safe_killall.sh
vi /usr/local/bin/safe_fstab_edit.sh
vi /usr/local/bin/safe_yum.sh
vi /usr/local/bin/safe_visudo_edit.sh
vi /usr/local/bin/safe_date.sh

# 全てのスクリプトに実行権限を付与
chmod +x /usr/local/bin/safe_*.sh

3. /etc/profile.d/foolproof.sh の作成と保護

全ユーザーのログイン時に適用されるエイリアス、関数、リダイレクト防止設定を作成します。

vi /etc/profile.d/foolproof.sh

設定完了後、ドラフトの「3.3.2」の記載通り、不用意な上書きを防ぐために保護属性を付与します。

sudo chattr +i /etc/profile.d/foolproof.sh

4. sudoersの基本設定

ドラフト「3.3.1」に基づき、/etc/sudoers にレベルごとの Cmnd_Alias とグループ権限を追記します。(visudoコマンドを使用して追記してください)

# これまでのチャットで整理した READ_CMDS, NONFATAL_CMDS, FATAL_CMDS のAliasを記述
Cmnd_Alias READ_CMDS = /bin/ls, /bin/pwd, ... (省略)

# グループごとの権限付与
%lv1_read      ALL=(ALL) READ_CMDS
%lv2_nonfatal  ALL=(ALL) READ_CMDS, NONFATAL_CMDS
%lv3_admin     ALL=(ALL) ALL

📝 単体試験項目書

単体試験では、各ラッパースクリプトやprofile設定そのものが「設計通りに動くか(安全な操作は通し、危険な操作は弾くか)」を確認します。この時点では全て root または権限を持つユーザーで実行します。

1. safeシェル 実行試験

項番 対象スクリプト 試験内容・操作手順 期待される結果(正常・異常判定)
1-1 safe_rm.sh safe_rm.sh -rf / を実行する 「世界を消し去る禁断の呪文」としてブロックされること
1-2 safe_rm.sh 末尾スラッシュ付きでシンボリックリンク削除 (safe_rm.sh linkdir/) 「リンク先のディレクトリが削除される大事故を防ぐため」と警告されブロックされること
1-3 safe_rm.sh 通常のファイル削除 (safe_rm.sh test.txt) -i オプションが強制付与され、確認プロンプト(y/n)が表示されること
1-4 safe_mv.sh 存在しないディレクトリ名を指定 (safe_mv.sh file dummy/) 移動先が存在しない警告とプロンプトが表示されること
1-5 safe_chmod.sh safe_chmod.sh -R 777 ./dir を実行する 再帰的変更(-R)が禁止されている旨のメッセージが出てブロックされること
1-6 safe_kill.sh safe_kill.sh -9 1 を実行する 「世界の根幹となるプロセスを終了させると〜」というメッセージでブロックされること
1-7 safe_fstab_edit.sh safe_fstab_edit.shを実行し、エディタ内でわざと構文エラー(デタラメな文字)を追記して保存 mount --fake -a がエラーを検知し、自動で元の状態へロールバックされること
1-8 safe_visudo_edit.sh safe_visudo_edit.sh を実行する エディタが開く前に /usr/local/BKUP/ にタイムスタンプ付きのバックアップファイルが生成されること
1-9 safe_crontab.sh safe_crontab.sh -r を実行する 全削除オプション(-r)が禁止されている旨が表示されブロックされること

2. profile関連 読み込み試験

項番 対象機能 試験内容・操作手順 期待される結果
2-1 共通alias ログイン後、alias コマンドを実行する rm や chmod などが /usr/local/bin/safe_*.sh に向いていること
2-2 リダイレクト防止 既存ファイルに対し echo "test" > existing.txt を実行 set -o noclobber の効果で上書きエラーとしてブロックされること
2-3 リダイレクト追記 既存ファイルに対し echo "test" >> existing.txt を実行 追記(>>)は正常に完了すること
2-4 vi 関数フック vi /etc/fstab を実行する 「直接編集は危険です」と警告され、safe_fstab_edit.sh へ誘導されてエディタが開かないこと
2-5 vi 関数フック vi /etc/sudoers を実行する 「visudo を使用してください」と警告されブロックされること

🔗 結合試験項目書

結合試験では、実際に各レベルのユーザー(user_lv1, user_lv2, user_lv3)でログインし、「運用上のシナリオ(役割)」に沿ってコマンドが正しく制御されるかを検証します。

1. Lv1(参照系ユーザー: user_lv1)の検証

目的: ログの確認等のみ可能で、破壊的操作が一切できないことの確認

項番 試験内容・操作手順 期待される結果
3-1 cd, ls, cat /var/log/messages などを実行 正常に実行され、内容が参照できること
3-2 ファイル作成(touch newfile)を実行 (ディレクトリ権限に依存するが)実行自体は可能
3-3 ファイル削除(rm newfile)を実行 profileの制御により「Lv1権限では rm コマンドは実行できません」と表示されブロックされること
3-4 chmod 777 newfile を実行 「Lv1権限では chmod コマンドは実行できません」と表示されブロックされること
3-5 sudo shutdown -h now を実行 sudoersで許可されていないため、実行できないこと

2. Lv2(非致命系・オペレータ: user_lv2)の検証

目的: 日常的な操作(ファイルの移動や削除など)は可能だが、システム全体を壊すような操作はラッパーまたはsudoersによって弾かれること

項番 試験内容・操作手順 期待される結果
4-1 ファイル削除(rm newfile)を実行 safe_rm.sh が呼び出され、-i オプションのプロンプトが出る。y で削除できること
4-2 禁断の削除(rm -rf /tmp/testdir)を実行 safe_rm.sh によって「-rf の実行は禁止されています」とブロックされること
4-3 時刻変更(date -s "2030-01-01")を実行 safe_date.sh によって「手動でのシステム時刻変更は禁止」とブロックされること
4-4 パッケージ更新(yum update)を実行 safe_yum.sh によって検証環境でテストするよう促されブロックされること
4-5 sudo killall httpd を実行 sudoersの NONFATAL_CMDS にない(Lv1, Lv2は×)ため、実行できないこと

3. Lv3(管理者・インフラ: user_lv3)の検証

目的: 全てのコマンドが実行可能(sudo ALL)だが、「人間はミスをする」前提のフールプルーフ(護符・結界)は機能すること

項番 試験内容・操作手順 期待される結果
5-1 sudo systemctl restart nginx などの管理操作 正常に実行できること
5-2 禁断の削除(rm -rf /)を実行 safe_rm.sh によってブロックされ、「世界を消し去る禁断の呪文」を未然に防げること
5-3 ディレクトリ権限再帰変更(chmod -R 777 /var/www) 管理者であっても safe_chmod.sh により不用意な -R はブロックされること
5-4 サーバー停止(shutdown -h now)を実行 safe_shutdown.sh によって「再起動(reboot)を使用してください」とブロックされること
5-5 vi /etc/fstab による直接編集 管理者であっても関数フックによりブロックされ、safe_fstab_edit.sh へ誘導されること

この構築手順と試験項目書に沿って検証を行うことで、Qiita記事(フールプルーフ設計・実装)に記載された「フールプルーフ設計の有用性」を実際のOS上で証明することができます!

なお、実際に検証した結果は、以下となります。

~ $ 
~ $ id
uid=1000(cloudshell-user) gid=995(cloudshell-user) groups=995(cloudshell-user),997(docker)
~ $ sudo su -
[root@ip-10-131-39-117 ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# groupadd lv1_read
[root@ip-10-131-39-117 ~]# groupadd lv2_nonfatal
[root@ip-10-131-39-117 ~]# groupadd lv3_admin
[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# groupadd enduser
[root@ip-10-131-39-117 ~]# groupadd operator
[root@ip-10-131-39-117 ~]# groupadd infra
[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# tail /etc/group
rpc:x:32:
rpcuser:x:29:
redis6:x:996:
cloudshell-user:x:995:
lv1_read:x:1000:
lv2_nonfatal:x:1001:
lv3_admin:x:1002:
enduser:x:1003:
operator:x:1004:
infra:x:1005:
[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# useradd -g enduser -G lv1_read user_lv1
[root@ip-10-131-39-117 ~]# useradd -g operator -G lv2_nonfatal user_lv2
[root@ip-10-131-39-117 ~]# useradd -g infra -G lv3_admin user_lv3
[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# [root@ip-10-131-39-117 ~]# mkdir -p /usr/local/bin
[root@ip-10-131-39-117 ~]# mkdir -p /usr/local/BKUP[root@ip-10-131-39-117 ~]# chmod 777 /usr/local/BKUP
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_rm.sh
[root@ip-10-131-39-117 ~]# cat  /usr/local/bin/safe_rm.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_rm.sh                                                                 [root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_rmdir.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_mv.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_crontab.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_shutdown.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_chmod.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_chown.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_chgrp.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_kill.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_fstab_edit.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_yum.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_visudo_edit.sh
[root@ip-10-131-39-117 ~]# vi /usr/local/bin/safe_date.sh
[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# chmod +x /usr/local/bin/safe_*.sh
[root@ip-10-131-39-117 ~]# ls -l /usr/local/bin/safe_*.sh
-rwxr-xr-x. 1 root root 1361 Jun 17 06:18 /usr/local/bin/safe_chgrp.sh
-rwxr-xr-x. 1 root root  192 Jun 17 06:16 /usr/local/bin/safe_chmod.sh
-rwxr-xr-x. 1 root root  192 Jun 17 06:17 /usr/local/bin/safe_chown.sh
-rwxr-xr-x. 1 root root  124 Jun 17 06:15 /usr/local/bin/safe_crontab.sh
-rwxr-xr-x. 1 root root 1814 Jun 17 06:23 /usr/local/bin/safe_date.sh
-rwxr-xr-x. 1 root root 1029 Jun 17 06:21 /usr/local/bin/safe_fstab_edit.sh
-rwxr-xr-x. 1 root root 1009 Jun 17 06:20 /usr/local/bin/safe_killall.sh
-rwxr-xr-x. 1 root root  449 Jun 17 06:19 /usr/local/bin/safe_kill.sh
-rwxr-xr-x. 1 root root  882 Jun 17 06:14 /usr/local/bin/safe_mv.sh
-rwxr-xr-x. 1 root root 1934 Jun 17 06:13 /usr/local/bin/safe_rmdir.sh
-rwxr-xr-x. 1 root root 2893 Jun 17 06:12 /usr/local/bin/safe_rm.sh
-rwxr-xr-x. 1 root root  117 Jun 17 06:16 /usr/local/bin/safe_shutdown.sh
-rwxr-xr-x. 1 root root  315 Jun 17 06:22 /usr/local/bin/safe_visudo_edit.sh
-rwxr-xr-x. 1 root root  944 Jun 17 06:21 /usr/local/bin/safe_yum.sh
[root@ip-10-131-39-117 ~]# vi /etc/profile.d/foolproof.sh
[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# visudo
visudo: /etc/sudoers.tmp unchanged
[root@ip-10-133-94-59 ~]# #safeシェル 実行試験
[root@ip-10-133-94-59 ~]# safe_rm.sh -rf /
【フールプルーフ警告】
安全のため、'rm -rf' (再帰的かつ強制削除) の実行は禁止されています。
ディレクトリを削除する場合は 'rm -r' を使用し、確認プロンプトに従ってください。
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# mkdir /tmp/test_dir
[root@ip-10-133-94-59 ~]# ln -s /tmp/test_dir ./testdir
[root@ip-10-133-94-59 ~]# ls -l
total 0
lrwxrwxrwx. 1 root root 13 Jun 18 01:14 testdir -> /tmp/test_dir
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# safe_rm.sh ./testdir
rm: remove symbolic link './testdir'? n
[root@ip-10-133-94-59 ~]# 
logout
~ $ sudo su -
Last login: Thu Jun 18 00:53:13 UTC 2026 on pts/2
[root@ip-10-133-94-59 ~]# safe_rm.sh ./testdir
rm: remove symbolic link './testdir'? y
[root@ip-10-133-94-59 ~]# ls -l
total 0
[root@ip-10-133-94-59 ~]# ls -l /tmp
total 36
srwxr-xr-x. 1 cloudshell-user cloudshell-user    0 Jun 18 00:52 bridge
drwxr-xr-x. 2 cloudshell-user cloudshell-user 4096 Jun 18 00:52 extensions-bridge-logs
drwxr-xr-x. 2 cloudshell-user cloudshell-user 4096 Mar 31 10:14 hsperfdata_cloudshell-user
drwxr-xr-x. 2 root            root            4096 Mar 31 10:12 hsperfdata_root
drwxr-xr-x. 2 root            root            4096 Jun 18 01:14 test_dir
drwx------. 2 root            root            4096 Jun 15 08:04 tmux-0
drwx------. 1 cloudshell-user cloudshell-user 4096 Jun 18 00:52 tmux-1000
drwxr-xr-x. 2 root            root            4096 Mar 31 10:12 tsx-0
srwxr-xr-x. 1 cloudshell-user cloudshell-user    0 Jun 18 00:52 webapp
[root@ip-10-133-94-59 ~]# ln -s /tmp/test_dir ./testdir
[root@ip-10-133-94-59 ~]# safe_rm.sh ./testdir/
【フールプルーフ警告】
シンボリックリンクに対する末尾 '/' 付きの削除要求を検知しました。
リンク先のディレクトリが削除される大事故を防ぐため実行をブロックします。
シンボリックリンクのみを削除する場合は 'unlink ./testdir' を使用してください。
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# echo TEST > /tmp/test_dir/test_file.log
[root@ip-10-133-94-59 ~]# safe_rm.sh /tmp/test_dir/test_file.log
rm: remove regular file '/tmp/test_dir/test_file.log'? y
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# echo TEST > /tmp/test_dir/test_file.log                                                                                                            
[root@ip-10-133-94-59 ~]# safe_mv.sh /tmp/test_dir/test_file.log /tmp/AAA/
Target '/tmp/AAA/' does not exist.
Do you want to move '/tmp/test_dir/test_file.log' to '/tmp/AAA/'? [y/N]: n
Operation cancelled.
[root@ip-10-133-94-59 ~]# safe_chmod.sh -R 777 /tmp
ERROR: Recursive chmod (-R) is disabled for safety.
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# safe_kill.sh -9 1
【フールプルーフ警告】
安全のため、PID 1 (init/systemd) への kill コマンドは禁止されています。
世界の根幹となるプロセスを終了させると、システムがクラッシュします。
対象のPIDが正しいか、もう一度確認してください。
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# safe_fstab_edit.sh
[3] バックアップ作成: /usr/local/BKUP/fstab.bak.20260618012121
[4] 編集開始 (/usr/bin/nano)

[5] 差分確認
--- /usr/local/BKUP/fstab.bak.20260618012121    2026-06-18 01:21:21.983035989 +0000
+++ /etc/fstab  2026-06-18 01:21:49.003034561 +0000
@@ -1,2 +1,2 @@
-#
+o#
 LABEL=/     /           auto    defaults,noatime  1   1

[1] syntax check(mount --fake -a)を実行します
mount: /etc/fstab: parse error at line 1 -- ignored

[2] 変更を反映するために 'mount -av' を実行しますか? [y/N]: y
mount -av 実行
mount: /etc/fstab: parse error at line 1 -- ignored
/                        : ignored
[root@ip-10-133-94-59 ~]# safe_fstab_edit.sh
[3] バックアップ作成: /usr/local/BKUP/fstab.bak.20260618012205
[4] 編集開始 (/usr/bin/nano)

[5] 差分確認
--- /usr/local/BKUP/fstab.bak.20260618012205    2026-06-18 01:22:05.763033500 +0000
+++ /etc/fstab  2026-06-18 01:22:12.093033207 +0000
@@ -1,2 +1,2 @@
-o#
+#
 LABEL=/     /           auto    defaults,noatime  1   1

[1] syntax check(mount --fake -a)を実行します

[2] 変更を反映するために 'mount -av' を実行しますか? [y/N]: y
mount -av 実行
/                        : ignored
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# ls -l /usr/local/BKUP
total 8
-rw-r--r--. 1 root root 58 Jun 18 01:21 fstab.bak.20260618012121
-rw-r--r--. 1 root root 59 Jun 18 01:22 fstab.bak.20260618012205
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# safe_visudo_edit.sh
visudo: /etc/sudoers.tmp unchanged
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# ls -l /usr/local/BKUP
total 16
-rw-r--r--. 1 root root   58 Jun 18 01:21 fstab.bak.20260618012121
-rw-r--r--. 1 root root   59 Jun 18 01:22 fstab.bak.20260618012205
-r--r-----. 1 root root 6390 Jun 18 01:23 sudoers.bak.20260618012315
[root@ip-10-133-94-59 ~]# 
[root@ip-10-133-94-59 ~]# safe_crontab.sh -r
Deleting crontab is not allowed.
[root@ip-10-133-94-59 ~]# 
[[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# su - user_lv1
Last login: Wed Jun 17 07:10:25 UTC 2026 on pts/2
~ $ id
uid=1001(user_lv1) gid=1003(enduser) groups=1003(enduser),1000(lv1_read)
~ $ cd /tmp
tmp $ ls -l
total 36
srwxr-xr-x. 1 cloudshell-user cloudshell-user    0 Jun 17 05:50 bridge
-rwxrwxrwx. 1 root            root              20 Jun 17 07:09 existing.txt
drwxr-xr-x. 2 cloudshell-user cloudshell-user 4096 Jun 17 05:50 extensions-bridge-logs
drwxr-xr-x. 2 cloudshell-user cloudshell-user 4096 Mar 31 10:14 hsperfdata_cloudshell-user
drwxr-xr-x. 2 root            root            4096 Mar 31 10:12 hsperfdata_root
drwx------. 2 root            root            4096 Jun 12 15:48 tmux-0
drwx------. 1 cloudshell-user cloudshell-user 4096 Jun 17 05:53 tmux-1000
drwxr-xr-x. 2 root            root            4096 Mar 31 10:12 tsx-0
-rw-r--r--. 1 user_lv1        enduser            0 Jun 17 07:12 user_lv1.test
srwxr-xr-x. 1 cloudshell-user cloudshell-user    0 Jun 17 05:50 webapp
tmp $ cat /var/log/hawkey.log 
2026-03-31T10:07:03+0000 INFO === Started libdnf-0.69.0 ===
2026-03-31T10:07:19+0000 INFO === Started libdnf-0.69.0 ===
2026-03-31T10:07:21+0000 INFO === Started libdnf-0.69.0 ===
tmp $ touch ./user_lv1.test
tmp $ 
tmp $ rm ./user_lv1.test
Lv1権限では rm コマンドは実行できません ./user_lv1.test
tmp $ 
tmp $ 
tmp $ chmod 777 ./user_lv1.test
Lv1権限では chmod コマンドは実行できません 777 ./user_lv1.test
tmp $ sudo shutdown -h now
Sorry, user user_lv1 is not allowed to execute '/usr/sbin/shutdown -h now' as root on ip-10-131-39-117.ap-northeast-1.compute.internal.
tmp $ 
[root@ip-10-131-39-117 ~]# su - user_lv2
Last login: Wed Jun 17 07:08:14 UTC 2026 on pts/2
~ $ id
uid=1002(user_lv2) gid=1004(operator) groups=1004(operator),1001(lv2_nonfatal)
~ $ 
~ $ echo TEST > /tmp/user_lv2.test
~ $ rm /tmp/user_lv2.test
rm: remove regular file '/tmp/user_lv2.test'? y
~ $ 
~ $ ls -l /tmp
total 40
srwxr-xr-x. 1 cloudshell-user cloudshell-user    0 Jun 17 05:50 bridge
-rwxrwxrwx. 1 root            root              20 Jun 17 07:09 existing.txt
drwxr-xr-x. 2 cloudshell-user cloudshell-user 4096 Jun 17 05:50 extensions-bridge-logs
drwxr-xr-x. 2 cloudshell-user cloudshell-user 4096 Mar 31 10:14 hsperfdata_cloudshell-user
drwxr-xr-x. 2 root            root            4096 Mar 31 10:12 hsperfdata_root
drwxr-xr-x. 2 user_lv3        infra           4096 Jun 17 06:42 test_dir
drwx------. 2 root            root            4096 Jun 12 15:48 tmux-0
drwx------. 1 cloudshell-user cloudshell-user 4096 Jun 17 05:53 tmux-1000
drwxr-xr-x. 2 root            root            4096 Mar 31 10:12 tsx-0
-rw-r--r--. 1 user_lv1        enduser            0 Jun 17 07:12 user_lv1.test
srwxr-xr-x. 1 cloudshell-user cloudshell-user    0 Jun 17 05:50 webapp
~ $ 
~ $ rm -rf /tmp/test_dir/
【フールプルーフ警告】
安全のため、'rm -rf' (再帰的かつ強制削除) の実行は禁止されています。
ディレクトリを削除する場合は 'rm -r' を使用し、確認プロンプトに従ってください。
~ $ 
~ $ date -s "2030-01-01"
【フールプルーフ警告】
安全のため、dateコマンドによる手動でのシステム時刻変更は禁止されています。
本番環境の時刻はNTP(chronyd等)で同期されており、手動変更はシステムに致命的な影響を及ぼします。
~ $ 
~ $ yum update
【フールプルーフ警告】
本番環境での 'yum update' の直接実行はブロックされました。
不用意な更新は依存関係の崩壊を招く恐れがあります。
必ず検証環境でテストを行い、計画的なメンテナンス手順に従ってください
~ $ sudo killall httpd
Sorry, user user_lv2 is not allowed to execute '/usr/bin/killall httpd' as root on ip-10-131-39-117.ap-northeast-1.compute.internal.
~ $ 
[root@ip-10-131-39-117 ~]# 
[root@ip-10-131-39-117 ~]# su - user_lv3
~ $ id
uid=1003(user_lv3) gid=1005(infra) groups=1005(infra),1002(lv3_admin)
~ $ sudo systemctl list-unit-files --type=service
UNIT FILE                              STATE    PRESET  
arp-ethers.service                     disabled disabled
auth-rpcgss-module.service             static   -       
autovt@.service                        alias    -       
~ $ 
~ $ 
~ $ rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe
~ $ chmod -R 777 /var/ftp
chmod: changing permissions of '/var/ftp': Operation not permitted
~ $ 
~ $ 
~ $ shutdown -h now                                                                                                     【フールプルーフ警告】
システムの完全停止(-h)は許可されていません。
リモートから起動できなくなる恐れがあります。
再起動を行う場合は 'shutdown -r now' または 'reboot' コマンドを使用してください。
~ $ 
~ $ 
~ $ vi /etc/fstab
【フールプルーフ警告】/etc/fstab の直接編集は危険です。
代わりに 'safe_fstab_edit' コマンドを使用してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?