Lệnh chown trong Linux

Giới thiệu

Trong lab này, chúng ta sẽ khám phá lệnh chown của Linux và các ứng dụng thực tế của nó để quản lý quyền sở hữu và quyền hạn của tập tin. Chúng ta sẽ bắt đầu bằng cách tìm hiểu các khái niệm cơ bản về quyền sở hữu và quyền hạn của tập tin trong hệ điều hành Linux. Sau đó, chúng ta sẽ học cách sử dụng lệnh chown để thay đổi chủ sở hữu và nhóm của các tập tin và thư mục, bao gồm khả năng áp dụng đệ quy các thay đổi cho toàn bộ cây thư mục. Lab này sẽ cung cấp cho bạn những kiến thức và kỹ năng cần thiết để quản lý hiệu quả quyền truy cập của người dùng và kiểm soát quyền sở hữu tập tin trong môi trường Linux.

Tìm hiểu về Quyền Sở hữu và Quyền hạn Tập tin

Trong bước này, chúng ta sẽ khám phá các khái niệm về quyền sở hữu và quyền hạn của tập tin trong hệ điều hành Linux. Việc hiểu các khái niệm cơ bản này là rất quan trọng để quản lý hiệu quả các tập tin và thư mục trong môi trường Linux.

Đầu tiên, hãy kiểm tra người dùng hiện tại và thư mục home của người dùng:

whoami
echo $HOME

Ví dụ đầu ra:

labex
/home/labex

Chúng ta có thể thấy rằng người dùng hiện tại là labex và thư mục home là /home/labex.

Bây giờ, hãy tạo một tập tin mới và kiểm tra quyền sở hữu và quyền hạn của nó:

touch ~/project/file.txt
ls -l ~/project/file.txt

Ví dụ đầu ra:

-rw-r--r-- 1 labex labex 0 Apr 24 12:34 /home/labex/project/file.txt

Đầu ra hiển thị các thông tin sau về tập tin:

  • -rw-r--r--: Các quyền của tập tin, cho biết rằng chủ sở hữu có quyền đọc và ghi, trong khi nhóm và những người khác chỉ có quyền đọc.
  • 1: Số lượng hard link đến tập tin.
  • labex: Chủ sở hữu của tập tin.
  • labex: Nhóm mà tập tin thuộc về.
  • 0: Kích thước của tập tin tính bằng byte.
  • Apr 24 12:34: Dấu thời gian khi tập tin được tạo hoặc sửa đổi lần cuối.
  • /home/labex/project/file.txt: Đường dẫn đầy đủ đến tập tin.

Trong Linux, mọi tập tin và thư mục đều có một chủ sở hữu và một nhóm liên kết với nó. Chủ sở hữu là người dùng đã tạo tập tin hoặc thư mục và nhóm là nhóm chính của người dùng đã tạo nó.

Các quyền của tập tin được biểu diễn bằng một chuỗi gồm 10 ký tự, với ký tự đầu tiên cho biết loại tập tin (ví dụ: - cho tập tin thông thường, d cho thư mục). 9 ký tự còn lại biểu thị các quyền đọc, ghi và thực thi cho chủ sở hữu, nhóm và những người khác (tất cả những người khác).

Ví dụ: các quyền -rw-r--r-- có nghĩa là:

  • Dấu - đầu tiên cho biết đây là một tập tin thông thường.
  • 3 ký tự tiếp theo, rw-, biểu thị các quyền cho chủ sở hữu, đó là đọc và ghi.
  • 3 ký tự tiếp theo, r--, biểu thị các quyền cho nhóm, đó là chỉ đọc.
  • 3 ký tự cuối cùng, r--, biểu thị các quyền cho những người khác, cũng là chỉ đọc.

Hiểu quyền sở hữu và quyền hạn của tập tin là rất quan trọng để quản lý quyền truy cập vào các tập tin và thư mục trong một hệ thống Linux. Trong bước tiếp theo, chúng ta sẽ học cách thay đổi quyền sở hữu tập tin bằng lệnh chown.

Thay đổi Quyền Sở hữu Tập tin bằng Lệnh chown

Trong bước này, chúng ta sẽ học cách thay đổi quyền sở hữu của các tập tin và thư mục bằng lệnh chown.

Đầu tiên, hãy tạo một thư mục mới và một tập tin bên trong nó:

mkdir ~/project/dir1
touch ~/project/dir1/file.txt

Bây giờ, hãy kiểm tra quyền sở hữu của tập tin mới:

ls -l ~/project/dir1/file.txt

Ví dụ đầu ra:

-rw-r--r-- 1 labex labex 0 Apr 24 12:34 /home/labex/project/dir1/file.txt

Chúng ta có thể thấy rằng tập tin thuộc sở hữu của người dùng labex và nhóm labex.

Để thay đổi quyền sở hữu của tập tin, chúng ta có thể sử dụng lệnh chown. Cú pháp cơ bản là:

chown [owner]:[group] [file/directory]

Hãy thay đổi quyền sở hữu của tập tin thành một người dùng và nhóm mới:

sudo chown user1:group1 ~/project/dir1/file.txt
ls -l ~/project/dir1/file.txt

Ví dụ đầu ra:

-rw-r--r-- 1 user1 group1 0 Apr 24 12:34 /home/labex/project/dir1/file.txt

Đầu ra cho thấy rằng quyền sở hữu tập tin đã được thay đổi thành người dùng user1 và nhóm group1.

Bạn cũng có thể thay đổi quyền sở hữu một cách đệ quy, có nghĩa là áp dụng thay đổi cho tất cả các tập tin và thư mục trong một thư mục. Ví dụ: để thay đổi quyền sở hữu của toàn bộ thư mục dir1 và nội dung của nó:

sudo chown -R user2:group2 ~/project/dir1
ls -l ~/project/dir1

Ví dụ đầu ra:

total 0
-rw-r--r-- 1 user2 group2 0 Apr 24 12:34 file.txt

Tùy chọn -R trong lệnh chown là viết tắt của "recursive" (đệ quy) và nó đảm bảo rằng thay đổi quyền sở hữu được áp dụng cho tất cả các tập tin và thư mục trong đường dẫn đã chỉ định.

Hãy nhớ rằng, bạn cần có các quyền thích hợp để thay đổi quyền sở hữu của các tập tin và thư mục. Nếu bạn không phải là chủ sở hữu hoặc không có các đặc quyền cần thiết, bạn sẽ cần sử dụng lệnh sudo để thực thi thao tác chown.

Thay đổi Quyền Sở hữu Đệ quy với chown -R

Trong bước cuối cùng này, chúng ta sẽ học cách thay đổi đệ quy quyền sở hữu của các tập tin và thư mục bằng lệnh chown với tùy chọn -R.

Đầu tiên, hãy tạo một cấu trúc thư mục mới với một số tập tin và thư mục con:

mkdir -p ~/project/dir2/subdir1
touch ~/project/dir2/file1.txt
touch ~/project/dir2/subdir1/file2.txt

Bây giờ, hãy kiểm tra quyền sở hữu của các tập tin và thư mục:

ls -l ~/project/dir2

Ví dụ đầu ra:

total 0
-rw-r--r-- 1 labex labex 0 Apr 24 12:34 file1.txt
drwxr-xr-x 2 labex labex 4096 Apr 24 12:34 subdir1

Như bạn có thể thấy, các tập tin và thư mục thuộc sở hữu của người dùng labex và nhóm labex.

Để thay đổi quyền sở hữu của toàn bộ thư mục dir2 và nội dung của nó một cách đệ quy, chúng ta có thể sử dụng lệnh chown với tùy chọn -R:

sudo chown -R user3:group3 ~/project/dir2
ls -l ~/project/dir2

Ví dụ đầu ra:

total 0
-rw-r--r-- 1 user3 group3 0 Apr 24 12:34 file1.txt
drwxr-xr-x 2 user3 group3 4096 Apr 24 12:34 subdir1

Đầu ra cho thấy rằng quyền sở hữu của thư mục dir2 và nội dung của nó đã được thay đổi thành người dùng user3 và nhóm group3.

Tùy chọn -R trong lệnh chown đảm bảo rằng thay đổi quyền sở hữu được áp dụng đệ quy cho tất cả các tập tin và thư mục trong đường dẫn đã chỉ định. Điều này đặc biệt hữu ích khi bạn cần thay đổi quyền sở hữu của toàn bộ cấu trúc thư mục, thay vì các tập tin hoặc thư mục riêng lẻ.

Hãy nhớ rằng, bạn cần có các quyền thích hợp để thay đổi quyền sở hữu của các tập tin và thư mục. Nếu bạn không phải là chủ sở hữu hoặc không có các đặc quyền cần thiết, bạn sẽ cần sử dụng lệnh sudo để thực thi thao tác chown.

Tóm tắt

Trong lab này, chúng ta đã khám phá các khái niệm cơ bản về quyền sở hữu và quyền hạn của tập tin trong hệ điều hành Linux. Chúng ta đã học được rằng mọi tập tin và thư mục đều có một chủ sở hữu và một nhóm liên kết với nó và các quyền của tập tin xác định quyền truy cập đọc, ghi và thực thi cho chủ sở hữu, nhóm và những người khác. Chúng ta cũng đã tạo một tập tin mới và kiểm tra quyền sở hữu và quyền hạn của nó.

Tiếp theo, chúng ta đã học cách thay đổi quyền sở hữu tập tin bằng lệnh chown. Lệnh này cho phép chúng ta sửa đổi chủ sở hữu và/hoặc nhóm của một tập tin hoặc thư mục. Chúng ta đã thực hành sử dụng lệnh chown để thay đổi quyền sở hữu của một tập tin. Cuối cùng, chúng ta đã khám phá tùy chọn đệ quy -R với chown, cho phép chúng ta thay đổi quyền sở hữu của một thư mục và tất cả nội dung của nó cùng một lúc.

400+ câu lệnh phổ biến trong Linux