前書き
このリポジトリは、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
macos
※MacPortsを使用しています
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
windows
※MSYS2 MINGW64を使用しています
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
実行手順
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
クリックして詳細を開く
事前確認
以下のコマンドをMSYS2 MINGW64に打ち込んでcommand not foundが出なければokです
git --version
※windowsはMSYS2 MINGW64で確認しています。もしインストールしていない方は以下のリンクからmsys2のインストール手順をご覧ください
preinstall
command not foundが出たコマンドを以下のコマンドでインストールしてください
pacman --sync 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 group start_chgrp_changeGroup.sh
ls -l
./start_chgrp_changeGroup.sh
詳細
hello chgrp command world
bash: ./start_chgrp_changeGroup.sh: Permission denied
後書き
最初のshell scriptファイルの権限がr–r-xr–なので、ユーザー所有権では実行できないですが、グループ所有権の名前が一致して実行権限もあるので実行できるはずです。次のshell scriptではグループ所有権の名前を変更しているので、グループ権限で実行できなく、その他も実行権限が無いのでPermission deniedと出るはずです