The 12 Agile Principles

From AI Tools as is:

The 12 Agile Principles explain how Agile teams should work in practice. Your slides group them as Principles 1–6 and 7–12: early delivery, welcoming change, frequent delivery, daily business/developer cooperation, motivated teams, face-to-face communication, working software as progress, sustainable pace, technical excellence, simplicity, self-organizing teams, and regular reflection/adaptation.

#Agile PrincipleSimple meaning for students
1Customer satisfaction through early and continuous deliveryDeliver useful product pieces early and often so customers see value quickly.
2Welcome changing requirements, even late in developmentAgile accepts that needs may change; the team adjusts instead of resisting change.
3Deliver working software frequentlyRelease usable increments often, usually in weeks rather than months.
4Business people and developers work together dailyProduct/business stakeholders should stay closely involved with the development team.
5Build projects around motivated individualsGive capable people support, trust, and ownership of the work.
6Face-to-face conversation is the most effective communicationDirect conversation is usually faster and clearer than long documents or email chains.
7Working software is the primary measure of progressReal completed product matters more than reports, plans, or documents alone.
8Sustainable development paceTeams should work at a pace they can maintain over time without burnout.
9Continuous attention to technical excellence and good designGood design, clean code, testing, and quality practices make the team more Agile.
10Simplicity — maximize the work not doneDo only the work needed to deliver value; avoid unnecessary features or complexity.
11Self-organizing teams create the best resultsTeams closest to the work should decide how to do the work.
12Regular reflection and adaptationTeams should regularly review how they work and improve their process.

A simple teaching line:

Agile is not just “work faster.” Agile means delivering value early, accepting change, collaborating closely, building quality, and improving continuously.

Kanban Cadences

Kanban cadences are the regular meetings or feedback loops used in Kanban to manage flow, improve delivery, and remove blockers. Kanban does not require fixed sprints like Scrum. Instead, work flows continuously, and cadences help the team inspect and improve that flow.

Your slides describe Kanban using visual workflow, pull system, continuous flow, WIP limits, and continuous improvement.

Kanban cadencePurposeWhat the action looks like
Daily Kanban MeetingCheck flow, blockers, and WIP limits.Team looks at the board, usually from right to left: Done → Review → In Progress → To Do. They ask: What is blocked? What can move forward? Are WIP limits exceeded?
Replenishment MeetingDecide what work should enter the system next.Team/Product Owner reviews the backlog and selects ready, high-priority items to move into “Ready” or “To Do.”
Delivery Planning MeetingDecide when completed work will be released or delivered.Team checks finished items and plans release timing, packaging, handoff, or customer delivery.
Service Delivery ReviewReview how well the team is delivering value.Team checks lead time, cycle time, throughput, quality, and customer satisfaction.
Operations ReviewReview performance across teams/services.Managers or multiple teams look at system-level issues, bottlenecks, capacity, and coordination problems.
Risk ReviewIdentify and manage delivery risks.Team reviews blocked items, aging work, dependencies, recurring defects, or items stuck too long.
Strategy ReviewAlign Kanban work with business goals.Leadership or product stakeholders check whether the work being delivered still supports organizational priorities.
Retrospective / Improvement MeetingImprove the process.Team discusses what to improve: WIP limits, policies, bottlenecks, handoffs, quality checks, or workflow design.

A simple explanation:

In Scrum, the team uses sprint events. In Kanban, the team uses cadences. These cadences are regular checkpoints that help the team manage continuous flow.

For students, you can say:

Kanban cadences are not about starting and ending a sprint. They are about keeping work moving smoothly through the board.

Example:

A team has many items stuck in Review. During the Daily Kanban Meeting, they notice the Review column is full. During the Service Delivery Review, they see cycle time is increasing. During the Retrospective, they decide to reduce new work and assign more people to help with reviews. That is how Kanban cadences support continuous improvement.

Scrum events, XP events, Kanaban Events, Agile Events

From AI Tools/ChatGPT as is:

Key idea

Scrum has formal events.
XP has practices/activities more than formal events.
Kanban has cadences/meetings, not required sprints.
Agile itself is an umbrella approach, so it does not prescribe one fixed set of events.

Your Scrum slides identify the five Scrum events as Sprint, Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective.

MethodologyEvent / ActivityWhat it meansWhat the action looks like
ScrumSprintFixed time-box where the team creates a usable product increment. Usually 1–4 weeks.Team works on selected sprint backlog items and aims to meet the sprint goal.
ScrumSprint PlanningMeeting at the start of the sprint to decide what will be done and how.Product Owner explains top backlog items; team selects work; team creates sprint goal and sprint backlog.
ScrumDaily Scrum / Daily StandupShort daily meeting to inspect progress and coordinate work.Team discusses progress toward sprint goal, blockers, and next steps.
ScrumSprint ReviewEnd-of-sprint meeting to inspect the product increment with stakeholders.Team demonstrates completed work and gets feedback.
ScrumSprint RetrospectiveEnd-of-sprint reflection meeting to improve team process.Team discusses what went well, what did not, and what to improve next sprint.

XP events / practices

XP, or Extreme Programming, is Agile but more engineering-focused. It does not usually list “events” the same way Scrum does. It uses short iterations and technical practices.

XP practice / activityWhat it meansWhat the action looks like
Iteration PlanningTeam plans work for a short iteration, often 1–2 weeks.Customer/Product Owner selects stories; team estimates and commits to work.
Small ReleasesDeliver working software frequently.Release a small, useful feature quickly instead of waiting for a large release.
Pair ProgrammingTwo developers work together on the same code.One writes code, the other reviews/thinks; they switch roles.
Test-Driven Development / TDDTests are written before code.Write test → write code → pass test → refactor.
Continuous IntegrationCode is integrated and tested frequently.Developers commit code often; automated tests run regularly.
RefactoringImprove internal code design without changing visible behavior.Clean duplicate code, simplify functions, improve maintainability.
Customer FeedbackCustomer/business representative gives frequent clarification.Team asks questions and adjusts stories based on feedback.

Kanban events / cadences

Kanban does not require fixed sprint events. Kanban as visual workflow, pull system, continuous flow, WIP limits, and continuous improvement.

Kanban cadence / meetingWhat it meansWhat the action looks like
Daily Kanban MeetingShort meeting focused on flow, blockers, and WIP limits.Team looks at the board from right to left: what is blocked, what can move to Done, what needs help?
Replenishment MeetingDecides what new work should be pulled into the system.Product Owner/team reviews backlog and selects ready items for To Do.
Delivery Planning MeetingPlans when completed work can be released or delivered.Team checks finished items and decides delivery timing.
Service Delivery ReviewReviews how well the team is delivering work.Team checks lead time, cycle time, throughput, and customer satisfaction.
Operations ReviewLooks at performance across teams or services.Managers/teams review bottlenecks and system-level improvement needs.
Risk ReviewReviews blocked, delayed, or risky work items.Team identifies recurring blockers and actions to reduce risk.
Retrospective / Improvement MeetingReflects on process improvement.Team discusses how to improve flow, reduce bottlenecks, or adjust WIP limits.

Agile events

Agile itself does not define a fixed event list. Agile is a broad mindset based on values and principles such as customer collaboration, responding to change, frequent delivery, and team reflection. Agile as emphasizing flexibility, customer feedback, and iterative progress.

Agile activityWhat it meansWhat the action looks like
PlanningDecide what value to deliver next.Prioritize backlog, select stories, estimate work.
Iteration / Sprint WorkBuild a small increment of value.Team develops, tests, and integrates features.
Daily CoordinationKeep team aligned and remove blockers.Short daily check-in or board review.
Review / DemoGet feedback on completed work.Show working product to stakeholders.
Retrospective / ReflectionImprove the process.Team identifies lessons learned and improvement actions.
Backlog RefinementPrepare future work.Clarify user stories, split large items, add acceptance criteria.
Release / DeliveryDeliver usable value to users.Deploy or hand over completed product increment.

Simple explanation

You can say:

Scrum has five formal events. XP has short iterations and engineering practices. Kanban has continuous flow and optional cadences. Agile is the umbrella, so events depend on the specific Agile framework being used.

A very simple comparison:

FrameworkFixed sprint?Formal events?Main focus
ScrumYesYesSprint-based delivery and inspection/adaptation
XPUsually short iterationsNot like ScrumEngineering quality and frequent feedback
KanbanNoOptional cadencesContinuous flow and WIP control
AgileDependsDependsFlexibility, feedback, customer value

Reflection:

Reflection:

Reflection in Agile means the team regularly looks back at how the work went and decides how to improve.

In Scrum, the formal event for reflection is the Sprint Retrospective. Sprint Retrospective as one of the five Scrum events, along with Sprint, Sprint Planning, Daily Scrum, and Sprint Review.

Simple definition

TermMeaning
ReflectionThinking back on recent work to learn what went well, what did not go well, and what should be improved.
Sprint RetrospectiveA Scrum meeting held at the end of the sprint where the team reflects on process, teamwork, tools, communication, and improvement actions.
AdaptationChanging the team’s approach based on what was learned from reflection.

Why do we need reflection?

Reflection helps the team improve continuously. It supports one of the Agile principles: teams should regularly reflect and adapt. Your slides mention “regular reflection and team adaptation” as part of the Agile principles.

It helps the team answer:

What worked well?
What problems slowed us down?
What should we change in the next sprint?

What the action looks like

At the end of a sprint, the team may hold a retrospective and discuss:

QuestionExample student/team answer
What went well?We completed most of the high-priority user stories.
What did not go well?Some stories were unclear, so estimation was difficult.
What should we improve?Add better acceptance criteria before sprint planning.
What action will we take next sprint?Product Owner will clarify stories before estimation.

Story Points

Story points are related to time, but they are not the same as time.

A story point is a relative estimate of the size of a user story. It considers:

FactorMeaning
EffortHow much work may be required
ComplexityHow difficult the work is
UncertaintyHow unclear or risky the work is
DependenciesWhether the story depends on other people, teams, systems, or information

Your slides explain that story points are used for relative sizing and consider complexity, effort, uncertainty, and dependencies, while hours are better used for task breakdown inside a sprint.

Simple example

StoryStory pointsPossible meaning
Add a button label change1 pointVery small, low risk
Create login page3 pointsModerate work
Build password reset with email verification5 pointsMore effort and testing
Build recommendation engine13 pointsLarge, complex, uncertain

A 5-point story does not always mean 5 hours. It means the team believes it is roughly bigger than a 3-point story and smaller than an 8-point story.

How story points connect to time

Story points become useful over multiple sprints through velocity.

Velocity = average story points completed per sprint.

For example:

SprintCompleted story points
Sprint 122
Sprint 226
Sprint 324

Average velocity = about 24 story points per sprint.

So if the remaining backlog has 96 story points, the team may estimate:

96 ÷ 24 = 4 sprints

So story points help forecast time at the sprint/release level, not at the individual-hour level.

Explanation

You can say:

Story points are not hours. Story points are a relative measure of story size. After a team completes a few sprints, we can use their average velocity to estimate how many sprints are needed to finish the backlog.

Good classroom warning

Avoid saying:

1 story point = 1 hour

That is usually not correct.

Better:

For this team, based on past performance, 20 story points may usually fit into a 2-week sprint.

So the relationship is:

Story points → help calculate velocity → velocity helps forecast time.

Sprint

Sprint length / iteration length by methodology

MethodologyCorrect termTypical lengthExplanation
AgileIteration / sprint, depending on frameworkUsually 1–4 weeksAgile is a broad mindset, not one fixed process. Different Agile frameworks use different time-boxes.
ScrumSprintUsually 1–4 weeksScrum uses a fixed-length sprint to plan, build, review, and improve. Your slides define a sprint as a time-boxed period of 1–4 weeks that creates a potentially shippable product increment.
XP / Extreme ProgrammingIterationUsually 1–2 weeks, sometimes up to 3 weeksXP uses short iterations to support frequent feedback, continuous integration, testing, refactoring, and small releases.
KanbanNo sprint requiredNo fixed sprint lengthKanban is based on continuous flow. Work is pulled through the board as capacity becomes available, rather than being planned into fixed sprints. Your slides describe Kanban as continuous flow with no fixed iterations.

Simple explanation

A sprint is a fixed time-box used mainly in Scrum. For example, a team may choose a 2-week sprint. At the beginning, they plan the work. During the sprint, they execute and track progress. At the end, they review the completed increment and hold a retrospective.

In XP, the idea is similar, but the term iteration is more common. XP iterations are usually short because XP emphasizes quick feedback, frequent releases, testing, and continuous improvement.

In Kanban, there is normally no sprint length because work flows continuously. Instead of saying, “What can we finish in the next two weeks?”, a Kanban team asks, “What is the next highest-priority item we can pull now, based on available capacity and WIP limits?”

For students, you can say:

Scrum works in fixed sprints. XP works in short iterations. Kanban works in continuous flow. Agile is the umbrella concept that can include all of these approaches.

WIP Limits:

WIP limits means Work-In-Progress limits.

In Kanban, a WIP limit sets the maximum number of work items allowed in one workflow stage at the same time. For example, a team may decide that only 3 user stories can be in In Progress at once. Your slides define WIP limits as a constraint-based approach used to optimize flow and prevent overloading the team.

TermMeaning
WIPWork currently started but not yet finished
WIP LimitMaximum number of items allowed in a stage
PurposePrevent too much work from being started at once
BenefitHelps reveal bottlenecks and improves delivery speed
Common Kanban columnsBacklog → To Do → In Progress → Review/Testing → Done

Example:

Kanban ColumnWIP LimitMeaning
To DoNo limitWork waiting to be started
In Progress3Only 3 items can be actively worked on
Review / Testing2Only 2 items can wait for review/testing
DoneNo limitCompleted work

Simple explanation:

WIP limits stop the team from starting too many things at the same time. Instead of everyone beginning new tasks, the team focuses on finishing existing work first.

What the action looks like:

A team has 3 stories already in In Progress, and the WIP limit is 3. A developer cannot pull another story into In Progress until one of the current stories moves to Review or Done.

This helps the team ask:

“Why is work stuck here?”
“Do we need to help finish current work before starting new work?”
“Is testing or review becoming a bottleneck?”

In Jira or a Kanban board, WIP limits usually appear as a number on top of a column, such as:

In Progress 3/3

That means the column is full. The team should finish or move existing work before starting more.

If windows auto-configured IP was difficult to remove

Your screenshot confirms:

IPv4 Address: 192.168.55.20 (Duplicate)
Autoconfiguration IPv4 Address: 169.254.245.211

So Windows is still rejecting 192.168.55.20. Use a different member-server IP, such as:

192.168.55.21

Run these on MEM01/member VM as Administrator.

1. Remove the bad duplicate IP

Get-NetIPAddress -InterfaceAlias "Ethernet" -AddressFamily IPv4 |
Where-Object { $_.IPAddress -like "192.168.55.*" } |
Remove-NetIPAddress -Confirm:$false

2. Restart the adapter

Restart-NetAdapter -Name "Ethernet"

3. Assign a new IP

New-NetIPAddress `
-InterfaceAlias "Ethernet" `
-IPAddress 192.168.55.21 `
-PrefixLength 24

Do not add a default gateway for host-only network.

4. Set DNS to the Domain Controller

Set-DnsClientServerAddress `
-InterfaceAlias "Ethernet" `
-ServerAddresses 192.168.55.10

5. Verify

ipconfig /all

You want:

IPv4 Address: 192.168.55.21
Subnet Mask: 255.255.255.0
DNS Servers: 192.168.55.10

No (Duplicate).

6. Test

ping 192.168.55.10
Resolve-DnsName powershell.local -Server 192.168.55.10

Your final setup becomes:

Windows 11 host: 192.168.55.1
DC01:            192.168.55.10
MEM01:           192.168.55.21

Also make sure no other VM is running with 192.168.55.20. The duplicate message usually means another machine already has that IP, or the clone/network adapter still has a conflict.

REF: AI Tools/ChatGPT

Check if DNS is working

On the Domain Controller

DNS should be installed and running:

Get-WindowsFeature DNS

Check DNS service:

Get-Service DNS

Check DNS zones:

Get-DnsServerZone

The DC should usually point DNS to itself:

Set-DnsClientServerAddress -InterfaceAlias “Ethernet” -ServerAddresses 127.0.0.1

or sometimes to its own IP:

Set-DnsClientServerAddress -InterfaceAlias “Ethernet” -ServerAddresses 192.168.56.10

On the Windows client

The client DNS must point to the Domain Controller IP, not Google DNS or router DNS:

Set-DnsClientServerAddress -InterfaceAlias “Ethernet” -ServerAddresses 192.168.56.10

Then test:

Resolve-DnsName powershell.local

Test-Connection 192.168.56.10

Test-NetConnection 192.168.56.10 -Port 53

Client Side

Set-DnsClientServerAddress -InterfaceAlias “Ethernet 14” -ServerAddresses 192.168.56.10

Q & A: Linux: Switch Users, Boot Process, File System

Quiz: Root Access, Boot Process, File Systems, Partitions, and Mounting

1. True/False

The root user is the superuser account and has the highest access rights on a Linux system.

Answer: True


2. True/False

It is recommended to stay logged in as root for normal daily work because it is faster.

Answer: False
Explanation: Staying logged in as root is risky because mistakes may affect the entire system.


3. Multiple Choice

Which command is preferred when you need to run one privileged command?

A. su -
B. sudo command
C. exit
D. whoami

Answer: B. sudo command


4. Multiple Choice

What does the command below do?

su -

A. Runs one command as root
B. Opens a login shell as root
C. Shows the current user
D. Lists mounted filesystems

Answer: B. Opens a login shell as root


5. Multiple Choice

Which process is usually started by the kernel as the first userspace process?

A. GRUB
B. BIOS
C. systemd or init
D. fdisk

Answer: C. systemd or init


6. Multiple Choice

Which systemd target usually represents a non-graphical multi-user system?

A. poweroff.target
B. rescue.target
C. multi-user.target
D. graphical.target

Answer: C. multi-user.target


7. Multi-Select

Which of the following are risks of using the root account directly?

Select all that apply.

A. Accidental system-wide file changes
B. Running ordinary tasks with unnecessary privileges
C. Forgetting that you are logged in as root
D. More accountability than sudo
E. Background processes may run with root privilege

Answers: A, B, C, E


8. Multi-Select

Which commands are commonly part of the basic partition, format, mount, and verify workflow?

Select all that apply.

A. lsblk
B. fdisk
C. mkfs
D. mount
E. df -h
F. passwd

Answers: A, B, C, D, E


9. Multi-Select

Which statements about filesystems are correct?

Select all that apply.

A. A filesystem organizes data and metadata on storage
B. Journaling can reduce recovery time after an unclean shutdown
C. ext4 is commonly used on many Linux distributions
D. FAT is a modern Linux-native journaling filesystem
E. NTFS is associated with Microsoft Windows

Answers: A, B, C, E


10. Fill in the Blank with Choices

A filesystem defines how __________ and metadata are organized and accessed on a storage device.

A. users
B. data
C. passwords
D. targets

Answer: B. data


11. Fill in the Blank with Choices

The Linux filesystem table is stored in the file __________.

A. /etc/passwd
B. /etc/fstab
C. /boot/grub
D. /var/log

Answer: B. /etc/fstab


12. Fill in the Blank with Choices

On modern systems, __________ is normally preferred over MBR for large disks unless compatibility requires MBR.

A. FAT
B. GPT
C. ext2
D. BIOS

Answer: B. GPT


13. Matching

Match each FHS directory with its purpose.

DirectoryPurpose
1. /etcA. User home directories
2. /varB. Device files
3. /homeC. System-wide configuration files
4. /devD. Logs and changing data
5. /bootE. Boot loader files and kernels

Answer:

DirectoryCorrect Purpose
/etcC
/varD
/homeA
/devB
/bootE

14. Matching

Match each command with its purpose.

CommandPurpose
1. lsblkA. Format a partition with a filesystem
2. fdiskB. Show block devices
3. mkfsC. Modify partition tables
4. mountD. Attach a filesystem to the Linux directory tree
5. umountE. Detach a mounted filesystem

Answer:

CommandCorrect Purpose
lsblkB
fdiskC
mkfsA
mountD
umountE

15. Ordering

Put the boot stages in the correct order.

A. Kernel starts init/systemd
B. BIOS/UEFI starts
C. GRUB loads the selected kernel
D. System reaches target/services
E. MBR or boot loader code begins the boot manager stage

Correct Order:

  1. B
  2. E
  3. C
  4. A
  5. D

16. Ordering

Put the storage setup steps in the correct order.

A. Format the partition with mkfs
B. Identify the disk with lsblk
C. Mount the filesystem
D. Create a partition using fdisk
E. Verify using df -h

Correct Order:

  1. B
  2. D
  3. A
  4. C
  5. E

17. Short Answer

Explain the difference between sudo and su -.

Sample Answer:
sudo runs a single command with elevated privileges and logs the action. su - opens a new login shell as another user, usually root if no username is provided. sudo is safer for one administrative task, while su - is used when a full shell as another user is needed.


18. Hands-on Short Answer

Write commands to format /dev/sdb1 as ext4, create /mnt/test, mount the partition, and verify it.

Sample Answer:

sudo mkfs -t ext4 /dev/sdb1
sudo mkdir -p /mnt/test
sudo mount -t ext4 /dev/sdb1 /mnt/test
df -h

19. Analytical Short Answer

Why is /dev/sdb commonly used with fdisk, but /dev/sdb1 is commonly used with mkfs?

Sample Answer:
/dev/sdb represents the whole disk, so fdisk uses it to create or modify the disk’s partition table. /dev/sdb1 represents a specific partition, so mkfs formats that partition with a filesystem.


20. Higher-Order Short Answer

A server should automatically mount a new ext4 partition after every reboot. Which file should be configured, and what information does it need?

Sample Answer:
The file /etc/fstab should be configured. It needs the filesystem or UUID, mount point, filesystem type, mount options, dump value, and filesystem check pass value. Example pattern:

UUID=... /mnt/data ext4 defaults 0 2

This allows the system to mount the filesystem automatically during boot.

REF: AI Tools/ChatGPT

Special Permissions: SUID, SGID, sticky bit

Linux Special Permissions: SUID, SGID, and Sticky Bit

Linux normally uses three permission groups:

u = user/owner
g = group
o = others

And three basic permissions:

r = read
w = write
x = execute

Example:

ls -l file.txt

Output:

-rwxr-xr--

But Linux also has special permissions:

SUID       = user +s
SGID       = group +s
Sticky Bit = others +t

They appear in ls -l output as:

s, S, t, or T

1. SUID — Set User ID

Meaning

SUID means:

When an executable file runs, it runs with the permission of the file owner, not the user who started it.

SUID is mainly useful on executable programs, not normal text files.

Set SUID

chmod u+s filename

Numeric form:

chmod 4755 filename

The 4 means SUID.

Remove SUID

chmod u-s filename

Example: /usr/bin/passwd

The passwd command lets a normal user change their own password.

ls -l /usr/bin/passwd

Possible output:

-rwsr-xr-x 1 root root ... /usr/bin/passwd

Notice:

rws

The s appears in the user execute position.

Normal owner permission would be:

rwx

With SUID, it becomes:

rws

Because /usr/bin/passwd is owned by root, when a normal user runs:

passwd

the program temporarily runs with the file owner’s privilege, which is root, but only for the controlled task of changing the password.


SUID: lowercase s vs uppercase S

This is very important.

Lowercase s

Lowercase s means:

SUID is set AND owner execute permission exists.

Example:

touch demo
chmod 755 demo
chmod u+s demo
ls -l demo

Output:

-rwsr-xr-x 1 user user ... demo

Here:

rws

means:

owner has read + write + execute
SUID is also set

Uppercase S

Uppercase S means:

SUID is set BUT owner execute permission is missing.

Example:

touch demo
chmod 644 demo
chmod u+s demo
ls -l demo

Output:

-rwSr--r-- 1 user user ... demo

Here:

rwS

means:

SUID is set
but owner execute permission is missing

So uppercase S usually means the special permission is set, but it is not useful for execution because x is missing.


2. SGID — Set Group ID

Meaning on files

SGID on an executable file means:

When the file runs, it runs with the permission of the file’s group owner.

Meaning on directories

SGID is especially useful on directories.

On a directory, SGID means:

New files and subdirectories created inside the directory inherit the directory’s group ownership.

This is very useful for shared project folders.


Set SGID

chmod g+s filename_or_directory

Numeric form:

chmod 2755 filename_or_directory

The 2 means SGID.

Remove SGID

chmod g-s filename_or_directory

Example: Shared project directory

Suppose we have a group named developers.

sudo mkdir /project
sudo chgrp developers /project
sudo chmod 2775 /project

Check:

ls -ld /project

Possible output:

drwxrwsr-x 2 root developers ... /project

Notice the group part:

rws

That means:

group has read + write + execute
SGID is set

Now when a user creates a file inside /project, the file can inherit the directory’s group:

touch /project/app.txt
ls -l /project/app.txt

Possible output:

-rw-r--r-- 1 alice developers ... app.txt

Even if Alice’s normal primary group is different, the file is created with the developers group because the parent directory has SGID.


SGID: lowercase s vs uppercase S

Lowercase s

Lowercase s means:

SGID is set AND group execute permission exists.

Example:

mkdir shared
chmod 775 shared
chmod g+s shared
ls -ld shared

Output:

drwxrwsr-x 2 user user ... shared

The group permission part is:

rws

This means SGID is set and the group can enter/search the directory.

Uppercase S

Uppercase S means:

SGID is set BUT group execute permission is missing.

Example:

mkdir shared
chmod 764 shared
chmod g+s shared
ls -ld shared

Output:

drwxrwSr-- 2 user user ... shared

The group permission part is:

rwS

This means SGID is set, but group execute is missing.

For a directory, this is usually a problem because group members need x permission to enter or access items inside the directory.


3. Sticky Bit

Meaning

The Sticky Bit is mostly used on directories.

It means:

Users can create files in the directory, but they can delete only their own files.

This is useful for shared writable directories.


Set Sticky Bit

chmod o+t directory

Numeric form:

chmod 1777 directory

The 1 means Sticky Bit.

Remove Sticky Bit

chmod o-t directory

Example: /tmp

The /tmp directory is shared by many users and programs.

ls -ld /tmp

Possible output:

drwxrwxrwt 10 root root ... /tmp

Notice the last character:

t

That means Sticky Bit is set.

The directory is writable by many users, but one user cannot delete another user’s files.


Example: Create a shared temporary directory

sudo mkdir /sharedtmp
sudo chmod 1777 /sharedtmp
ls -ld /sharedtmp

Output:

drwxrwxrwt 2 root root ... /sharedtmp

Now different users can create files inside /sharedtmp, but they cannot delete files owned by other users.


Sticky Bit: lowercase t vs uppercase T

Sticky Bit uses t or T, not s or S.

Lowercase t

Lowercase t means:

Sticky Bit is set AND others execute permission exists.

Example:

mkdir sharedtmp
chmod 777 sharedtmp
chmod o+t sharedtmp
ls -ld sharedtmp

Output:

drwxrwxrwt 2 user user ... sharedtmp

The others permission part is:

rwt

This means:

others have read + write + execute
Sticky Bit is set

Uppercase T

Uppercase T means:

Sticky Bit is set BUT others execute permission is missing.

Example:

mkdir sharedtmp
chmod 776 sharedtmp
chmod o+t sharedtmp
ls -ld sharedtmp

Output:

drwxrwxrwT 2 user user ... sharedtmp

The others permission part is:

rwT

This means Sticky Bit is set, but others do not have execute permission.

For a directory, this usually means others cannot properly enter or access the directory.


Quick Summary of s, S, t, and T

SymbolLocation in ls -lMeaning
suser execute positionSUID set and user execute exists
Suser execute positionSUID set but user execute missing
sgroup execute positionSGID set and group execute exists
Sgroup execute positionSGID set but group execute missing
tothers execute positionSticky Bit set and others execute exists
Tothers execute positionSticky Bit set but others execute missing

Visual Examples

Normal executable file

-rwxr-xr-x

Owner has execute permission.

SUID with execute

-rwsr-xr-x

SUID is active and owner execute exists.

SUID without execute

-rwSr-xr-x

SUID is set, but owner execute is missing.


Normal group-executable directory

drwxrwxr-x

Group has execute permission.

SGID directory with execute

drwxrwsr-x

SGID is active and group execute exists.

SGID directory without group execute

drwxrwSr-x

SGID is set, but group execute is missing.


Sticky Bit directory with others execute

drwxrwxrwt

Sticky Bit is active and others execute exists.

Sticky Bit directory without others execute

drwxrwxrwT

Sticky Bit is set, but others execute is missing.


Numeric Permission Summary

Special permissions are added before the normal three permission digits.

PermissionNumeric valueExample
SUID4chmod 4755 program
SGID2chmod 2775 shareddir
Sticky Bit1chmod 1777 sharedtmp

Examples:

chmod 4755 program      # SUID + rwxr-xr-x
chmod 2755 directory    # SGID + rwxr-xr-x
chmod 1777 directory    # Sticky Bit + rwxrwxrwx

You can also combine them:

chmod 6755 program

Here:

6 = 4 + 2

So 6755 means:

SUID + SGID + rwxr-xr-x

Command Summary

Set SUID:

chmod u+s program

Remove SUID:

chmod u-s program

Set SGID:

chmod g+s directory

Remove SGID:

chmod g-s directory

Set Sticky Bit:

chmod o+t directory

Remove Sticky Bit:

chmod o-t directory

Check permissions:

ls -l filename
ls -ld directory

Practical Use Cases

SUID use case

Used when a normal user needs to run a specific program with the file owner’s privileges.

Common example:

ls -l /usr/bin/passwd

Possible output:

-rwsr-xr-x 1 root root ... /usr/bin/passwd

This allows users to change their passwords safely without giving them full root access.


SGID use case

Used for shared team directories.

Example:

sudo mkdir /team
sudo chgrp developers /team
sudo chmod 2775 /team

Result:

drwxrwsr-x root developers /team

Files created inside /team inherit the developers group.


Sticky Bit use case

Used for shared writable directories where users should not delete each other’s files.

Example:

sudo mkdir /publicdrop
sudo chmod 1777 /publicdrop

Result:

drwxrwxrwt root root /publicdrop

Users can create files, but they cannot delete other users’ files.


Final Blog Summary

SUID: Run an executable as the file owner.
SGID: Run an executable as the file group, or make files inherit a directory group.
Sticky Bit: In shared directories, users can delete only their own files.

The lowercase letters mean the related execute permission is present:

s = SUID/SGID + execute
t = Sticky Bit + execute

The uppercase letters mean the special permission is set, but execute is missing:

S = SUID/SGID set, execute missing
T = Sticky Bit set, execute missing

For practical use, lowercase s and t are usually what you expect to see. Uppercase S or T often indicates a permission setup that should be reviewed.

REF: AI Tools/ChatGPT