0

Hướng Dẫn Sửa Lỗi Lỗi Phân Quyền Root & Mở Nhầm Thư Mục Trên WSL 2 (Ubuntu)

Mô Tả Bài Toán

Khi làm việc với môi trường WSL 2 (Ubuntu) kết hợp giữa Windows Explorer và VS Code, lập trình viên thường gặp phải tình trạng:

  • Tạo thư mục dự án từ Windows Explorer hoặc clone bằng lệnh sudo, dẫn đến thư mục thuộc sở hữu của user root.
  • Mở dự án bằng lệnh code . từ terminal nhưng VS Code lại hiển thị rất nhiều thư mục hệ thống không liên quan (.cache, .config, v.v.).
  • Nhận thông báo lỗi -bash: cd: /home/...: No such file or directory.

🔍 Nguyên Nhân Chi Tiết

1. Xung đột quyền sở hữu (Root vs User)

  • Lỗi: Thư mục hasaki-web-hasakinow được tạo với quyền sở hữu thuộc về user root (drwxr-xr-x 3 root root).
  • Lý do:
    • Khi thao tác qua đường dẫn mạng \\wsl.localhost\Ubuntu\... trên Windows Explorer, hệ thống đôi khi tự động gán quyền truy cập cao nhất (root) cho các file/folder mới tạo.
    • Hoặc do bạn đã vô tình dùng lệnh sudo git clone / sudo mkdir trong terminal.
  • Hậu quả: User chính (huy_hoang) bị giới hạn quyền ghi (write permissions), dẫn đến các công cụ như VS Code hoặc Git gặp trục trặc khi thao tác.

2. Mở VS Code sai ngữ cảnh (Context)

  • Lệnh code . hoạt động dựa trên phương thức: "Mở thư mục hiện tại trong VS Code" (dấu . đại diện cho Current Working Directory).
  • Khi bạn đang đứng ở thư mục cá nhân gốc (~ tức /home/huy_hoang) mà gõ code ., VS Code sẽ mở toàn bộ thư mục cá nhân của bạn — bao gồm các ẩn tệp cấu hình của Linux như .bashrc, .cache, .config,... khiến giao diện trông vô cùng rối mắt.

🚀 Quy Trình Khắc Phục Triệt Để (Step-by-Step)

Bước 1: Khai báo lại quyền sở hữu cho User

Mở Terminal Ubuntu và cấp lại toàn bộ quyền sở hữu thư mục dự án cho user huy_hoang:

sudo chown -R huy_hoang:huy_hoang ~/hasaki-web-hasakinow

Giải thích:

  • sudo: Chạy với quyền quản trị viên tối cao để thay đổi file của root.
  • chown: Lệnh đổi chủ sở hữu (Change Owner).
  • -R: Áp dụng đệ quy (nhân bản) cho tất cả các file và thư mục con bên trong.
  • huy_hoang:huy_hoang: Thiết lập [Tên User]:[Tên Group] mới.
  • Hệ thống sẽ yêu cầu nhập mật khẩu Ubuntu của bạn (khi nhập mật khẩu sẽ không hiển thị ký tự, bạn cứ gõ đúng rồi ấn Enter).

Bước 2: Di chuyển VÀO TRONG thư mục dự án

Trước khi mở bất kỳ trình soạn thảo nào, bạn bắt buộc phải cd vào đúng vị trí của dự án đó:

cd ~/hasaki-web-hasakinow

Kiểm tra xem đường dẫn hiện tại đã chuẩn chưa bằng lệnh:

pwd
# Kết quả trả về nên là: /home/huy_hoang/hasaki-web-hasakinow

Bước 3: Mở VS Code chuẩn mực

Khi đã đứng bên trong thư mục hasaki-web-hasakinow, tiến hành mở VS Code:

code .

Lúc này, VS Code sẽ chỉ hiển thị đúng các tệp nguồn (source code) thuộc dự án hasaki-web-hasakinow.

💡 Kinh Nghiệm & Best Practices Khi Sử Dụng WSL 2

Toàn bộ quá trình tạo thư mục, clone code và quản lý dự án trên Linux nên tuân thủ các nguyên tắc sau:

Thao tác ❌ KHÔNG KHUYÊN DÙNG ✅ NÊN DÙNG
Tạo thư mục Tạo qua giao diện Windows Explorer (\\wsl.localhost\...) Dùng lệnh trong Terminal: mkdir ten_du_an
Clone dự án Chạy sudo git clone <url> Chạy git clone <url> (không dùng sudo)
Mở File Explorer Tìm thủ công từ giao diện Windows Đứng tại thư mục trong Terminal và gõ: explorer.exe .
Mở VS Code Mở phần mềm VS Code từ Windows rồi chọn Open Folder... Đứng tại thư mục trong Terminal và gõ: code .

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí