Bird
Raised Fist0
Cybersecurityknowledge~10 mins

File permissions and access control in Cybersecurity - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to represent the read permission in Unix file permissions.

Cybersecurity
read_permission = '[1]'
Drag options to blanks, or click blank then click option'
Ar
Bw
Cx
Dd
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing write permission 'w' with read permission.
Using 'x' which stands for execute permission.
2fill in blank
medium

Complete the code to check if a user has execute permission on a file.

Cybersecurity
if permissions & [1]:
    print("User can execute the file")
Drag options to blanks, or click blank then click option'
A0o400
B0o100
C0o200
D0o1000
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong octal value for execute permission.
Confusing execute permission with directory bit 0o1000.
3fill in blank
hard

Fix the error in the code to correctly set write permission for the group.

Cybersecurity
new_permissions = current_permissions | [1]
Drag options to blanks, or click blank then click option'
A0o2000
B0o200
C0o002
D0o020
Attempts:
3 left
💡 Hint
Common Mistakes
Using owner write permission 0o200 instead of group write.
Using directory sticky bit 0o2000 by mistake.
4fill in blank
hard

Fill both blanks to create a dictionary mapping users to their access level, filtering only those with read permission.

Cybersecurity
access_levels = {user: level for user, level in user_permissions.items() if level & [1] == [2]
Drag options to blanks, or click blank then click option'
A0o400
B0o200
C0o100
D0o000
Attempts:
3 left
💡 Hint
Common Mistakes
Using write or execute bits instead of read.
Comparing to zero which would select users without read permission.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps filenames to their permissions, including only files with execute permission set.

Cybersecurity
exec_files = {filename: perms for filename, perms in files.items() if perms & [1] == [2] and perms & [3] != 0}
Drag options to blanks, or click blank then click option'
A0o100
C0o001
D0o400
Attempts:
3 left
💡 Hint
Common Mistakes
Using read or write bits instead of execute bits.
Mixing up user and others permission bits.

Practice

(1/5)
1. What does the read permission allow a user to do with a file?
easy
A. Modify the contents of the file
B. View the contents of the file
C. Execute the file as a program
D. Delete the file

Solution

  1. Step 1: Understand the meaning of read permission

    The read permission allows a user to open and see the contents of a file without changing it.
  2. Step 2: Compare with other permissions

    Write permission allows changes, execute allows running the file, and delete is a separate action.
  3. Final Answer:

    View the contents of the file -> Option B
  4. Quick Check:

    Read permission = View file contents [OK]
Hint: Read means viewing file contents only [OK]
Common Mistakes:
  • Confusing read with write permission
  • Thinking read allows file execution
  • Assuming read allows file deletion
2. Which of the following is the correct symbolic notation for giving the owner execute permission on a file in Unix/Linux?
easy
A. u+x
B. g+x
C. o+x
D. a+x

Solution

  1. Step 1: Understand symbolic notation for permissions

    In Unix/Linux, 'u' stands for user (owner), 'g' for group, 'o' for others, and 'a' for all.
  2. Step 2: Identify execute permission addition

    Adding execute permission is done with '+x'. So 'u+x' means add execute for owner.
  3. Final Answer:

    u+x -> Option A
  4. Quick Check:

    Owner execute permission = u+x [OK]
Hint: u means owner; +x adds execute permission [OK]
Common Mistakes:
  • Using g+x or o+x for owner permissions
  • Confusing a+x with owner only
  • Misunderstanding symbolic letters
3. Given the file permission string -rwxr-x---, which users can execute the file?
medium
A. Owner and group members
B. Only the owner
C. Everyone
D. Only others

Solution

  1. Step 1: Break down the permission string

    The string '-rwxr-x---' means: owner has read, write, execute; group has read and execute; others have no permissions.
  2. Step 2: Identify who can execute

    Owner (rwx) can execute, group (r-x) can execute, others (---) cannot.
  3. Final Answer:

    Owner and group members -> Option A
  4. Quick Check:

    Execute permission for owner and group [OK]
Hint: Look for 'x' in owner and group parts [OK]
Common Mistakes:
  • Ignoring group execute permission
  • Assuming others have execute
  • Misreading permission string
4. A user tries to write to a file but gets a 'Permission denied' error. The file permissions are -rw-r--r--. What is the most likely cause?
medium
A. User has execute permission but not write
B. File is read-only for everyone
C. User is not the owner and has no write permission
D. File is locked by another process

Solution

  1. Step 1: Analyze the permission string

    '-rw-r--r--' means owner can read and write; group and others can only read.
  2. Step 2: Understand user's permission

    If the user is not the owner, they only have read permission, so writing is denied.
  3. Final Answer:

    User is not the owner and has no write permission -> Option C
  4. Quick Check:

    Write denied if not owner with write permission [OK]
Hint: Write permission only for owner here [OK]
Common Mistakes:
  • Assuming read means write allowed
  • Confusing execute with write permission
  • Ignoring ownership in permissions
5. You want to allow a group of users to read and execute a script but prevent them from modifying it. Which permission setting should you apply?
hard
A. Set group permissions to ---
B. Set group permissions to rw-
C. Set group permissions to rwx
D. Set group permissions to r-x

Solution

  1. Step 1: Understand required permissions

    Users need to read and execute but not write (modify) the script.
  2. Step 2: Match permissions to requirements

    'r-x' means read and execute allowed, write denied. 'rw-' allows write, 'rwx' allows all, '---' denies all.
  3. Final Answer:

    Set group permissions to r-x -> Option D
  4. Quick Check:

    Read + execute, no write = r-x [OK]
Hint: r-x means read and execute, no write [OK]
Common Mistakes:
  • Choosing rw- which allows writing
  • Choosing rwx which allows all permissions
  • Choosing --- which denies access