Bird
Raised Fist0
Operating Systemsknowledge~30 mins

Access Control Lists (ACLs) in Operating Systems - Mini Project: Build & Apply

Choose your learning style10 modes available
Understanding Access Control Lists (ACLs)
📖 Scenario: You are managing a small office network where different employees need different levels of access to shared folders on a server. To keep things organized and secure, you want to set up Access Control Lists (ACLs) that specify who can read, write, or execute files.
🎯 Goal: Build a simple representation of Access Control Lists (ACLs) using a dictionary to map users to their permissions on a shared folder.
📋 What You'll Learn
Create a dictionary named acl with specific users and their permissions.
Add a variable named default_permission to set a fallback permission.
Use a loop to create a list of users who have write permission.
Add a final entry to the ACL for a new user with read-only permission.
💡 Why This Matters
🌍 Real World
ACLs are used in operating systems and network servers to control who can access files and resources, ensuring security and proper access management.
💼 Career
Understanding ACLs is important for system administrators, network engineers, and IT security professionals who manage user permissions and protect data.
Progress0 / 4 steps
1
Create the initial ACL dictionary
Create a dictionary called acl with these exact entries: 'alice': 'read', 'bob': 'write', 'charlie': 'execute'.
Operating Systems
Hint

Use curly braces to create a dictionary and separate each user-permission pair with commas.

2
Add a default permission variable
Add a variable called default_permission and set it to the string 'read'.
Operating Systems
Hint

Just assign the string 'read' to the variable named default_permission.

3
Find users with write permission
Create a list called write_users that contains the names of users from acl who have the permission 'write'. Use a for loop with variables user and permission to iterate over acl.items().
Operating Systems
Hint

Start with an empty list, then add users whose permission is 'write' inside the loop.

4
Add a new user with read permission
Add a new entry to the acl dictionary for user 'diana' with permission 'read'.
Operating Systems
Hint

Use square brackets with the new user name as the key and assign the permission 'read'.

Practice

(1/5)
1. What is the main purpose of an Access Control List (ACL) in operating systems?
easy
A. To monitor network traffic
B. To store the content of a file securely
C. To manage system hardware devices
D. To specify which users or groups have permissions on a file or resource

Solution

  1. Step 1: Understand what ACLs control

    ACLs list permissions for users or groups on files or resources.
  2. Step 2: Identify the main function

    The main function is to specify who can do what on a resource.
  3. Final Answer:

    To specify which users or groups have permissions on a file or resource -> Option D
  4. Quick Check:

    ACL = user/group permissions [OK]
Hint: ACLs control user permissions on files/resources [OK]
Common Mistakes:
  • Confusing ACL with file content storage
  • Thinking ACL manages hardware
  • Assuming ACL monitors network
2. Which of the following is the correct way to represent an ACL entry for a user named 'alice' with read and write permissions?
easy
A. user:alice:rwx
B. user:alice:rw
C. group:alice:rw
D. user:alice:r

Solution

  1. Step 1: Identify the correct ACL entry format

    ACL entries usually specify type (user/group), name, and permissions.
  2. Step 2: Match permissions to read and write only

    Read and write permissions are 'rw', execute is 'x'. So 'rw' matches read and write.
  3. Final Answer:

    user:alice:rw -> Option B
  4. Quick Check:

    user + alice + rw = correct ACL entry [OK]
Hint: User entries start with 'user:' and list exact permissions [OK]
Common Mistakes:
  • Using 'group' instead of 'user' for a user entry
  • Adding execute permission when not needed
  • Listing only read permission when write is required
3. Given the following ACL entries on a file:
user:alice:rwx
group:staff:r-x
other::r--
What permissions does a user named 'bob' who belongs to the 'staff' group have?
medium
A. Read and execute only
B. Read, write, and execute
C. Read only
D. No permissions

Solution

  1. Step 1: Identify bob's group membership

    Bob belongs to the 'staff' group, so group permissions apply.
  2. Step 2: Check group permissions in ACL

    Group 'staff' has 'r-x' which means read and execute, no write.
  3. Final Answer:

    Read and execute only -> Option A
  4. Quick Check:

    Group 'staff' = r-x = read + execute [OK]
Hint: User's group permissions apply if user not listed explicitly [OK]
Common Mistakes:
  • Assuming user permissions apply to bob
  • Including write permission incorrectly
  • Using 'other' permissions instead of group
4. A system administrator sets an ACL entry as user:bob:r but Bob reports he cannot write to the file. What is the most likely cause?
medium
A. The file is owned by another user
B. Bob is not listed in the ACL
C. The ACL entry only grants read permission, not write
D. The ACL entry syntax is incorrect

Solution

  1. Step 1: Analyze the ACL entry permissions

    The entry 'user:bob:r' grants only read permission, no write.
  2. Step 2: Understand why Bob cannot write

    Without write permission, Bob cannot modify the file.
  3. Final Answer:

    The ACL entry only grants read permission, not write -> Option C
  4. Quick Check:

    Read-only permission blocks writing [OK]
Hint: Check if write permission 'w' is included in ACL entry [OK]
Common Mistakes:
  • Assuming ownership affects ACL permissions directly
  • Thinking syntax error causes permission denial
  • Ignoring the actual permissions granted
5. You want to allow a group named 'developers' to have read and write access to a file, but no execute permission. Which ACL entry correctly achieves this without affecting other permissions?
hard
A. group:developers:rw-
B. group:developers:rwx
C. user:developers:rw-
D. group:developers:r--

Solution

  1. Step 1: Identify the correct ACL entry type

    Since 'developers' is a group, the entry must start with 'group:developers'.
  2. Step 2: Set permissions to read and write only

    Read and write permissions are 'rw-', where '-' means no execute.
  3. Step 3: Confirm no execute permission is given

    group:developers:rw- uses 'rw-' which excludes execute permission.
  4. Final Answer:

    group:developers:rw- -> Option A
  5. Quick Check:

    Group + rw- = read/write, no execute [OK]
Hint: Use 'group:name:rw-' for read/write without execute [OK]
Common Mistakes:
  • Using 'user' instead of 'group' for group permissions
  • Including execute permission by mistake
  • Setting only read permission when write is needed
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard