文字列のchgrp

[chgrp] 実行して理解 chgrpコマンドでファイルのグループ名を変更

前書き

このリポジトリは、chgrpコマンドを実行してshell scriptのグループ名が変更されたときの挙動を検証します

インストールする必要のあるコマンド

  1. 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のインストール手順をご覧ください

https://ss523971.stars.ne.jp/todo/2025/10/02/windows-msys2%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e3%81%be%e3%81%a7%e3%81%ae%e6%89%8b%e9%a0%86

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と出るはずです

この記事で使用したコマンドで実行できるお薦め記事

この記事で使用しているキーボード

投稿者: user

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です