Skip to Content

Permissions

Linux-এ প্রতিটা file আর folder-এর জন্য নির্দিষ্ট করা আছে — কে পড়তে পারবে, কে লিখতে পারবে, কে execute করতে পারবে। এই system না বুঝলে cybersecurity-তে অনেক কিছুই অন্ধকারে থাকবে।

Why Permissions Exist

একটা Linux system-এ অনেক user থাকতে পারে। Permissions নিশ্চিত করে:

  • তোমার files অন্য কেউ পড়তে বা পরিবর্তন করতে পারবে না
  • System files সাধারণ user delete করতে পারবে না
  • কোন program কে execute করার permission আছে সেটা নিয়ন্ত্রণ করা যায়

Reading Permissions

ls -l চালালে এরকম output আসে:

Terminal
ls -l
-rwxr-xr-- 1 omar developers 2048 Apr 8 10:00 script.sh drwxr-xr-x 2 omar omar 4096 Apr 8 09:00 Documents

Permission string টা ভেঙে দেখি:

- r w x r - x r - - │ │─┤ │─┤ └──┘ │ │ │ │ │ Others (world) │ │ │ └─┤ Group │ └─┤ Owner (user) └──── File type: - = file, d = directory, l = symlink

Three Categories

CategorySymbolমানে
Ownerপ্রথম rwxFile-এর মালিক
Groupদ্বিতীয় rwxএকই group-এর users
Othersতৃতীয় rwxবাকি সবাই

Three Permission Types

LetterPermissionFile-এ মানেDirectory-তে মানে
rReadFile পড়তে পারবেFolder-এর contents দেখতে পারবে
wWriteFile edit করতে পারবেFolder-এ files তৈরি/মুছতে পারবে
xExecuteFile চালাতে পারবে (script/program)Folder-এ cd করতে পারবে
-No permissionওই permission নেইওই permission নেই

Numeric (Octal) Notation

Permissions সংখ্যা দিয়েও লেখা হয়:

NumberBinaryPermission
7111rwx — সব
6110rw- — read + write
5101r-x — read + execute
4100r-- — read only
0000--- — কিছুই না
chmod 755 script.sh ||| ||└── Others: r-x (5) |└─── Group: r-x (5) └──── Owner: rwx (7)

Common Permissions:

  • 755 — Owner সব পারে, বাকিরা শুধু read + execute। Scripts আর programs-এ সাধারণ।
  • 644 — Owner read+write, বাকিরা শুধু read। Regular files-এ সাধারণ।
  • 600 — শুধু owner পড়তে ও লিখতে পারে। SSH keys-এর জন্য।
  • 777 — সবাই সব পারে। Security risk — avoid করো।

chmod

File বা folder-এর permission পরিবর্তন করো।

সংখ্যা দিয়ে permission set করো — সরাসরি replace হয়।

Terminal
# Script কে executable করো chmod 755 script.sh # Private file — শুধু owner পড়তে পারবে chmod 600 private-key.pem # সবাই read করতে পারবে chmod 644 notes.txt # Folder সহ সব files recursively change করো chmod -R 755 my-folder/

chown

File বা folder-এর owner এবং group পরিবর্তন করো।

Terminal
# Owner পরিবর্তন করো chown omar file.txt # Owner আর group দুটোই পরিবর্তন করো chown omar:developers file.txt # Recursively folder সহ সব change করো chown -R omar:omar my-folder/ # Current owner কে দেখো ls -l file.txt

chown চালাতে সাধারণত sudo লাগে — কারণ অন্যের file-এর ownership নেওয়া sensitive operation।

Terminal
sudo chown omar:omar file.txt

Checking Permissions

Terminal
# File permissions দেখো ls -l script.sh # Folder permissions দেখো ls -ld Documents/ # Specific file-এর detailed info stat script.sh

CyberSec Note

Permissions CTF-এ আর Pentesting-এ:

Privilege Escalation:

  • find / -perm -4000 2>/dev/null — SUID bit set আছে এমন files খোঁজো। এগুলো root-এ run হয়, misconfiguration থাকলে root access পাওয়া যায়।
  • World-writable files (777) — attacker content replace করতে পারে
  • /etc/passwd writable হলে — নতুন root user add করা যায়

SUID কী:

Terminal
-rwsr-xr-x s মানে SUID set

SUID মানে এই program যে-ই চালাক, file owner-এর permission-এ চলবে। অনেক system binary root-owned আর SUID — misconfiguration হলে exploit করা যায়।

Quick Check

  • rwxr-xr-- permission string এর তিনটা অংশ কোনটা কার জন্য?
  • chmod 644 মানে কী?
  • chmod u+x আর chmod 755 — পার্থক্য কী?
  • SUID কী এবং কেন সেটা cybersecurity-তে important?

পরবর্তী → Hidden Files

Search Keywords: linux permissions, chmod chown, rwx explained, linux file permissions bangla, privilege escalation permissions, SUID linux, chmod 755 644

Last updated on