Symlinks
Symlink মানে Symbolic Link — একটা file বা folder-এর shortcut। Windows-এ যেটা “Shortcut” (.lnk file), Linux-এ সেটা symlink। কিন্তু Linux symlink অনেক বেশি powerful।
What is a Symlink
একটা symlink হলো একটা special file যেটা অন্য একটা file বা folder-কে point করে।
notes.txt ← actual file (এখানে data আছে)
↑
my-notes → notes.txt ← symlink (pointer মাত্র)my-notes access করলে automatically notes.txt এর content দেখবে। কিন্তু actual data notes.txt-এ।
Hard Link vs Soft Link
Soft Link (Symlink)
Soft link (symbolic link) হলো path-এর একটা pointer।
ln -s /path/to/original /path/to/link- Original file delete হলে link broken হয়ে যায়
- আলাদা filesystem-এ link করা যায়
ls -lএlদেখায় এবং->দিয়ে target দেখায়- সবচেয়ে বেশি use হয় — এটাই “symlink” বলতে বোঝায়
সহজ কথায়: Soft link হলো shortcut। Hard link হলো same file-এর দুটো নাম। ৯৯% ক্ষেত্রে soft link use করো।
Creating Symlinks
# Soft link তৈরি করো
ln -s /original/path /link/path
# Example — Documents-এ একটা config file-এর link
ln -s /etc/nginx/nginx.conf ~/nginx.conf
# Folder-এর symlink
ln -s /var/log ~/logs
# Confirm করো
ls -la
# দেখবে: nginx.conf -> /etc/nginx/nginx.confReading Symlinks
ls -l output-এ symlink এভাবে দেখায়:
lrwxrwxrwx 1 omar omar 20 Apr 8 10:00 nginx.conf -> /etc/nginx/nginx.conf| অংশ | মানে |
|---|---|
l at start | এটা একটা symlink |
nginx.conf | Link-এর নাম |
-> | Points to |
/etc/nginx/nginx.conf | Actual file location |
Removing Symlinks
# Symlink delete করো (original untouched থাকে)
rm my-link
# অথবা unlink দিয়ে
unlink my-linkrm -rf link/ — trailing slash দিলে link-এর target directory-র contents delete হয়।
সবসময় trailing slash ছাড়া delete করো।
Common Use Cases
Linux system-এ symlinks সব জায়গায় আছে:
# Python version management
ls -la /usr/bin/python
# python -> python3
# Log folders অন্য জায়গায়
ls -la /var/log/nginx
# System libraries
ls -la /lib
# lib -> usr/libCyberSec Note
Symlinks CTF-এ:
Path Traversal with Symlinks: কিছু vulnerable application symlink follow করে restricted area-র বাইরে যায়।
# /tmp তে একটা symlink বানাও যেটা /etc/passwd point করে
ln -s /etc/passwd /tmp/uploaded-file
# যদি server /tmp থেকে files serve করে — /etc/passwd expose হতে পারেPrivilege Escalation: যদি root-এর script তোমার control-এ থাকা path থেকে file read করে, সেখানে symlink রেখে sensitive file read করানো যায়।
Detection:
# Suspicious symlinks খোঁজো
find / -type l 2>/dev/null
# Symlink কোথায় point করে
readlink -f suspicious-linkQuick Check
- Symlink আর actual file-এর মধ্যে পার্থক্য কী?
- Soft link আর hard link-এর মূল পার্থক্য বলতে পারবে?
- Symlink তৈরির command কী?
-
ls -lএ symlink কীভাবে চিনবে?
পরবর্তী Section → Text Manipulation