copied to clipboard!
string chown

[chown] Run and understand. Change user and group of a file with the chown command

created-2025/11/13 updated-2026/03/15

Introduction

This repository can check if you can run the chown command to change the user and group of a shell script and run it

Commands that need to be installed

  1. git

Quickstart

If you have already installed the above command, run the following command to download it from the repository, then change the directory and run the chown command to check if the shell script can be executed.

ubuntu

git clone https://github.com/trygfmi/chown_changeGroupOwner
cd chown_changeGroupOwner
ls -l
chmod 454 start_chown_changeGroupOwner.sh
sudo chown root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
ls -l
sudo chmod 454 start_chown_changeGroupOwner.sh
sudo chown :root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
sudo chown $(who | awk '{print $1}'): start_chown_changeGroupOwner.sh
chmod 644 start_chown_changeGroupOwner.sh
ls -l
Output results
hello chown command world

bash: ./start_chown_changeGroupOwner.sh: Permission denied

macos

MacPorts

source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/chown_changeGroupOwner
cd chown_changeGroupOwner
ls -l
chmod 454 start_chown_changeGroupOwner.sh
sudo chown root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
ls -l
sudo chmod 454 start_chown_changeGroupOwner.sh
sudo chown :group start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
sudo chown $(who | awk '{print $1}') start_chown_changeGroupOwner.sh
sudo chown :staff start_chown_changeGroupOwner.sh
chmod 644 start_chown_changeGroupOwner.sh
ls -l
Output results
hello chown command world

bash: ./start_chown_changeGroupOwner.sh: Permission denied

windows

WSL2

git clone https://github.com/trygfmi/chown_changeGroupOwner
cd chown_changeGroupOwner
ls -l
chmod 454 start_chown_changeGroupOwner.sh
sudo chown root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
ls -l
sudo chmod 454 start_chown_changeGroupOwner.sh
sudo chown :root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
sudo chown $(who | awk '{print $1}'): start_chown_changeGroupOwner.sh
chmod 644 start_chown_changeGroupOwner.sh
ls -l
Output results
hello chown command world

bash: ./start_chown_changeGroupOwner.sh: Permission denied

MSYS2 MINGW64

Not possible
Output results
Not Possible

Procedure

ubuntu

Click to open details

Advance confirmation

Enter the following command into the terminal and if command not found does not appear, it is OK.

git --version

preinstall

If the command not found appears in the terminal, please install it using the following command.

sudo apt install git

command

Executing the following command should output a string similar to the following:

git clone https://github.com/trygfmi/chown_changeGroupOwner
cd chown_changeGroupOwner
ls -l
chmod 454 start_chown_changeGroupOwner.sh
sudo chown root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
ls -l
sudo chmod 454 start_chown_changeGroupOwner.sh
sudo chown :root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
sudo chown $(who | awk '{print $1}'): start_chown_changeGroupOwner.sh
chmod 644 start_chown_changeGroupOwner.sh
ls -l
detail
hello chown command world

bash: ./start_chown_changeGroupOwner.sh: Permission denied

macos

Click to open details

Advance confirmation

Enter the following command into the terminal and if command not found does not appear, it is OK.

source ~/bashrc_folder/macports_alias
git --version

※MacOS uses the MacPorts package manager to manage commands. If you haven’t installed it yet, please see the MacPorts installation instructions at the link below.

It also allows you to set aliases for commands so that you can call them without conflicting with existing environments.

If you are using this blog for the first time, please refer to the following two articles to set up your environment.

preinstall

If the command not found appears in the terminal, install it using the following command and set an alias.

sudo port install git
echo 'alias git="/opt/local/bin/git"' >> ~/bashrc_folder/macports_alias

COMMAND

Executing the following command should output a string similar to the following:

source ~/bashrc_folder/macports_alias
git clone https://github.com/trygfmi/chown_changeGroupOwner
cd chown_changeGroupOwner
ls -l
chmod 454 start_chown_changeGroupOwner.sh
sudo chown root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
ls -l
sudo chmod 454 start_chown_changeGroupOwner.sh
sudo chown :group start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
sudo chown $(who | awk '{print $1}') start_chown_changeGroupOwner.sh
sudo chown :staff start_chown_changeGroupOwner.sh
chmod 644 start_chown_changeGroupOwner.sh
ls -l
detail
hello chown command world

bash: ./start_chown_changeGroupOwner.sh: Permission denied

windows

Click to open details

Advance confirmation

Enter the following command into the prompt and if command not found does not appear, it’s OK.

WSL2
git --version
MSYS2 MINGW64
Not possible

※Windows has been confirmed to work with WSL2 and MSYS2 MINGW64. Please install WSL2 if possible, and if you are unable to set it up, you can run it by installing MSYS2, but there may be some commands that can only be run in WSL2. Please refer to the following article for instructions on how to install WSL2 and MSYS2.

preinstall

If the command not found appears in the prompt, please install it using the following command.

WSL2
sudo apt install git
MSYS2 MINGW64
Not possible

command

Executing the following command should output a string similar to the following:

WSL2
git clone https://github.com/trygfmi/chown_changeGroupOwner
cd chown_changeGroupOwner
ls -l
chmod 454 start_chown_changeGroupOwner.sh
sudo chown root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
ls -l
sudo chmod 454 start_chown_changeGroupOwner.sh
sudo chown :root start_chown_changeGroupOwner.sh #Please enter your computer login password
ls -l
./start_chown_changeGroupOwner.sh
sudo chown $(who | awk '{print $1}'): start_chown_changeGroupOwner.sh
chmod 644 start_chown_changeGroupOwner.sh
ls -l
detail
hello chown command world

bash: ./start_chown_changeGroupOwner.sh: Permission denied
MSYS2 MINGW64
Not possible
detail
Not possible

Afterword

The first execution works because it only changes the user owner to root, but the second execution fails because it changes the user and group owner to root, and the others only have read permissions.
Executing sudo chown root: ~ changes the user and group all at once, while sudo chown :root changes only the group.
sudo chown $(who | awk ‘{print $1}’): start_chown_changeGroupOwner.sh obtains the account name from the $(who | awk ‘{print $1}’): part and changes the user and group of the files all at once.

Leave a Reply

Your email address will not be published. Required fields are marked *

©︎ 2025-2026 todo