CIS120 Linux Fundamentals by Scott Shaper

chown, chgrp and passwd commands

Think of these commands like a user management system. chown lets you change who owns files, chgrp lets you change the group ownership, and passwd lets you manage user passwords. Together, they help you control who can access and modify your files and system.

Quick Reference

Command What It Does Common Use
chown Change file/directory owner Transferring file ownership
chgrp Change file/directory group Managing group access
passwd Change user password Updating login credentials

When to Use These Commands

The chown Command

Think of chown like a property deed - it lets you transfer ownership of files and directories to someone else. This is crucial for managing who can access and modify files in a multi-user environment.

Key points about chown:

Option What It Does When to Use
-R Change recursively When changing entire directories
-v Show verbose output When you want to see what changed
-c Show only changes When you want to see only what changed
-f Force changes When you want to suppress errors

Common Examples

# Change owner of a file
chown username file.txt

# Change owner of a directory
chown username directory/

# Change owner and group at once
chown username:groupname file.txt

# Change ownership recursively
chown -R username:groupname directory/

# Change only the owner, keep current group
chown username file.txt

# Change only the group (using chown syntax)
chown :groupname file.txt

# Change ownership of files matching a pattern
chown username *.txt

# Change ownership of files modified today
find . -mtime 0 -exec chown username {} \;

The chgrp Command

Think of chgrp like a group membership card - it lets you change which group owns a file or directory. This is essential for managing shared access to files among team members.

Key points about chgrp:

Option What It Does When to Use
-R Change recursively When changing entire directories
-v Show verbose output When you want to see what changed
-c Show only changes When you want to see only what changed
-f Force changes When you want to suppress errors

Common Examples

# Change group of a file
chgrp groupname file.txt

# Change group of a directory
chgrp groupname directory/

# Change group recursively
chgrp -R groupname directory/

# Change group of multiple files
chgrp groupname file1.txt file2.txt

# Change group of all files in directory
chgrp groupname *

# Change group of files matching a pattern
chgrp groupname *.txt

# Change group of files owned by specific user
find . -user username -exec chgrp groupname {} \;

# Change group and set permissions
chgrp groupname file.txt && chmod g+rw file.txt

The passwd Command

Think of passwd like a key change system - it lets you update your login credentials to keep your account secure. This command is essential for maintaining account security.

Key points about passwd:

Option What It Does When to Use
-l Lock account When disabling a user account
-u Unlock account When re-enabling a user account
-e Expire password When forcing password change
-x days Set maximum password age When setting password expiration
-n days Set minimum password age When preventing frequent changes
-w days Set warning period When notifying of upcoming expiration

Common Examples

# Change your own password
passwd
# You'll be prompted for:
# 1. Current password
# 2. New password
# 3. New password confirmation

# Change another user's password (root only)
sudo passwd username

# Lock a user account (prevent login)
sudo passwd -l username

# Unlock a user account
sudo passwd -u username

# Force password change on next login
sudo passwd -e username

# Remove password expiration
sudo passwd -x -1 username

# Set minimum days between password changes
sudo passwd -n 7 username

# Set password expiration warning
sudo passwd -w 7 username

Tips for Success

Common Mistakes to Avoid

Best Practices

Advanced Techniques

Combining Commands

# Change ownership of specific file types
find . -name "*.txt" -exec chown username:groupname {} \;

# Change group of files modified today
find . -mtime 0 -exec chgrp groupname {} \;

# Change ownership and permissions at once
chown username:groupname file.txt && chmod 644 file.txt

# Set up group access
chgrp groupname directory/
chmod g+rwx directory/

Security Considerations

Think of these commands like security tools - they need to be used carefully: