Project · Linux and Red Hat (RHCSA to RHCE)
Project: a shared team folder for a CA firm
The brief
A CA firm in Pune with five people wants one Linux file server. You set up the staff accounts, make an intern's account expire at the end of the financial year, build a shared clients folder where everyone can edit each other's files and the partner can only read, add a scans folder where nobody can delete another person's scans, and let the office manager shut the server down safely before a power cut.
Why it matters
Small offices across India (CA firms, clinics, schools, builders) run a single file server, often looked after by a local IT person. Getting groups, shared-folder permissions and sudo right is most of that job, and it is the heart of the RHCSA user and permission objectives.
Skills you practise
- groupadd, useradd, usermod -aG
- chage -E (account expiry)
- chmod 2770 and the SGID bit
- access and default ACLs
- the sticky bit
- sudoers drop-in files
You need
- A RHEL 9 virtual machine (free Red Hat Developer subscription) or Rocky Linux 9 / AlmaLinux 9
- A user that can run sudo (a member of the wheel group)
What you will have at the end
A working file server for a five-person office: staff accounts, an expiring intern account, /srv/clients (SGID plus default ACLs) and /srv/scans (sticky), and a narrow sudo rule, with commands.sh explaining each command.
How it is marked (rubric, 100 points)
| Accounts set up correctlyThe three staff are in accounts, meena and anil are not, and neha expires on 31 March 2027. | 20 |
|---|---|
| Shared folders work as asked/srv/clients is 2770 with access and default ACLs for meena, a test file shows rw-rw----+ and group accounts, and /srv/scans is 1770. | 40 |
| Least privilegeanil can only power off and reboot; no one has more rights than the job needs. | 20 |
| Documentedcommands.sh lists every command with a one-line comment saying why, so another admin could rebuild the server. | 20 |
0/7 steps done
Step 1 of 7
Create the staff accounts
The group accounts exists with priya, sunil and neha as members.
The firm has three people who work on client files: priya and sunil (staff) and neha (an articled intern). Put them in one group, accounts, so you can give the group access instead of each person. The partner, meena, and the office manager, anil, also need accounts, but they are not in the group. getent group accounts shows the members in the last field.
$ getent group accountsYour notes: commands.sh
Write down each command you ran. It goes into your project summary.