前書き
このリポジトリは、chgrpコマンドを実行してshell scriptのグループ名が変更されたときの挙動を検証します
インストールする必要のあるコマンド
- git
クイックスタート
上記のコマンドをインストール済みの方は、以下のコマンドを実行してリポジトリからダウンロード後、ディレクトリを移動し、chgrpコマンドを実行してshell scriptの挙動を確認してください
ubuntu
git clone https://github.com/trygfmi/chgrp_changeGroup
cd chgrp_changeGroup
ls -l
chmod 454 start_chgrp_changeGroup.sh
ls -l
sudo chown root start_chgrp_changeGroup.sh
./start_chgrp_changeGroup.sh
sudo chgrp root start_chgrp_changeGroup.sh
ls -l
./start_chgrp_changeGroup.sh
出力結果
hello chgrp command world
bash: ./start_chgrp_changeGroup.sh: Permission denied
macos
MacPorts
source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/chgrp_changeGroup
cd chgrp_changeGroup
ls -l
chmod 454 start_chgrp_changeGroup.sh
ls -l
sudo chown root start_chgrp_changeGroup.sh
./start_chgrp_changeGroup.sh
sudo chgrp group start_chgrp_changeGroup.sh
ls -l
./start_chgrp_changeGroup.sh
出力結果
hello chgrp command world
bash: ./start_chgrp_changeGroup.sh: Permission denied
windows
WSL2
git clone https://github.com/trygfmi/chgrp_changeGroup
cd chgrp_changeGroup
ls -l
chmod 454 start_chgrp_changeGroup.sh
ls -l
sudo chown root start_chgrp_changeGroup.sh
./start_chgrp_changeGroup.sh
sudo chgrp root start_chgrp_changeGroup.sh
ls -l
./start_chgrp_changeGroup.sh
出力結果
hello chgrp command world
bash: ./start_chgrp_changeGroup.sh: Permission denied
MSYS2 MINGW64
不可
出力結果
不可
実行手順
ubuntu
クリックして詳細を開く
事前確認
以下のコマンドを端末に打ち込んでcommand not foundが出なければokです
git --version
preinstall
端末でcommand not foundが出たコマンドを以下のコマンドでインストールしてください
sudo apt install git
コマンド
以下のコマンドを実行することで詳細のような文字列が出力されるはずです
git clone https://github.com/trygfmi/chgrp_changeGroup
cd chgrp_changeGroup
ls -l
chmod 454 start_chgrp_changeGroup.sh
ls -l
sudo chown root start_chgrp_changeGroup.sh
./start_chgrp_changeGroup.sh
sudo chgrp root start_chgrp_changeGroup.sh
ls -l
./start_chgrp_changeGroup.sh
詳細
hello chgrp command world
bash: ./start_chgrp_changeGroup.sh: Permission denied
macos
クリックして詳細を開く
事前確認
以下のコマンドをターミナルに打ち込んでcommand not foundが出なければokです
source ~/bashrc_folder/macports_alias
git --version
※macosはMacPortsパッケージマネージャを使用してコマンドを管理します。もしインストールしていない方は以下のリンクからMacPortsのインストール手順をご覧ください
またコマンドに別名を設定して既存の環境と競合しないでコマンドを呼び出せるようにします。
初めてこのブログを利用する方は、以下の2つの記事を参考に環境構築してください
preinstall
ターミナルでcommand not foundが出たコマンドを以下のコマンドでインストールしてエイリアスを設定してください
sudo port install git
echo 'alias git="/opt/local/bin/git"' >> ~/bashrc_folder/macports_alias
コマンド
以下のコマンドを実行することで詳細のような文字列が出力されるはずです
source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/chgrp_changeGroup
cd chgrp_changeGroup
ls -l
chmod 454 start_chgrp_changeGroup.sh
ls -l
sudo chown root start_chgrp_changeGroup.sh
./start_chgrp_changeGroup.sh
sudo chgrp group start_chgrp_changeGroup.sh
ls -l
./start_chgrp_changeGroup.sh
詳細
hello chgrp command world
bash: ./start_chgrp_changeGroup.sh: Permission denied
windows
クリックして詳細を開く
事前確認
以下のコマンドをプロンプトに打ち込んでcommand not foundが出なければokです
WSL2
git --version
MSYS2 MINGW64
不可
※windowsはWSL2とMSYS2 MINGW64で確認しています。可能な限りWSL2をインストールしていただいて、もし設定できなかった場合はMSYS2をインストールすることで実行できますが、所々WSL2でしか実行できないコマンドが出てくるかもしれません。WSL2とMSYS2のインストール方法は下記の記事を参考にしてください
preinstall
プロンプトでcommand not foundが出たコマンドを以下のコマンドでインストールしてください
WSL2
sudo apt install git
MSYS2 MINGW64
不可
コマンド
以下のコマンドを実行することで詳細のような文字列が出力されるはずです
WSL2
git clone https://github.com/trygfmi/chgrp_changeGroup
cd chgrp_changeGroup
ls -l
chmod 454 start_chgrp_changeGroup.sh
ls -l
sudo chown root start_chgrp_changeGroup.sh
./start_chgrp_changeGroup.sh
sudo chgrp root start_chgrp_changeGroup.sh
ls -l
./start_chgrp_changeGroup.sh
詳細
hello chgrp command world
bash: ./start_chgrp_changeGroup.sh: Permission denied
MSYS2 MINGW64
不可
詳細
不可
後書き
最初のshell scriptファイルの権限がr–r-xr–なので、ユーザー所有権では実行できないですが、グループ所有権の名前が一致して実行権限もあるので実行できるはずです。次のshell scriptではグループ所有権の名前を変更しているので、グループ権限で実行できなく、その他も実行権限が無いのでPermission deniedと出るはずです