Bài 17. Các thao tác cập nhập quyền thao tác

Trong hệ điều hành Linux, quyền thao tác (permission) đóng một vai trò quan trọng trong việc quản lý tệp tin và thư mục. Quyền thao tác xác định người dùng và nhóm người dùng có quyền thực hiện các thao tác trên một tệp tin hoặc thư mục cụ thể. Dưới đây là một số thao tác cơ bản liên quan đến thao tác trong môi trường Linux.

Mục lục:

  1. Chuẩn bị.
  2. Cấp phát quyền thao tác
  3. Lời kết.

1. Chuẩn bị

  • Đã cài đặt máy ảo Ubuntu trên Oracle VM VirtualBox
  • Đã thực hiện thiết lập SSH tới máy chủ Ubuntu, sẵn sàng nhập lệnh

2. Cấp phát quyền thao tác

- Đầu tiên là các bạn khởi động máy chủ Ubuntu và kết nối với máy chủ thông qua SSH Key như bài trước, ví dụ:

ssh -i ~/.ssh/xboxuser_rsa xboxuser@127.0.0.120

2.1: Ý nghĩa của thao tác:

Trước hết, để hiểu rõ về quyền thao tác, cần biết rằng mỗi tệp tin và thư mục đều được liên kết với một người dùng và một nhóm người dùng. Quyền thao tác bao gồm ba phần chính: đọc (read), viết (write), và thực thi (execute).

2.2: Quản lý quyền thao tác:

- Chúng ta sẽ tạo ra một người dùng mới, sau đó tạo ra các tệp tin và thư mục, cuối cùng là kiếm tra và thay đổi quyền sở hữu.

- Đầu tiên chúng ta sẽ thực hiện tạo ra một người dùng mới, sau đó tạo ra các tệp tin và thư mục:

# Đầu tiên chuyển đổi sang user root
sudo su

# Đi đến thư mục home
cd ~

# Thêm vào một user mới
adduser new_user

# Tạo ra các tệp tin và thư mục mới
mkdir -p ./new_dir/sub_dir
echo "Hello world" > ./new_dir/sub_dir/hello.txt

# Kiểm tra xem quyền của các tệp tin hello.txt
ls -l ./new_dir/sub_dir

# Kết quả: -rw-r--r-- 1 root root 12 Dec 16 01:10 hello.txt
# Ở đây chúng ta thấy chủ sở hữu và nhóm sở hữu là người dùng "root", và người dùng khác chỉ có quyền đọc

# Chúng ta thử dùng new_user để thay đổi tệp tin "hello.txt" xem nó có thực thi được hay không ?
su new_user -c "echo append_content >> ./new_dir/sub_dir/hello.txt"

# Kết quả xuất hiện lỗi về "permission" ví "new_user" không có quyền "write": bash: line 1: ./new_dir/sub_dir/hello.txt: Permission denied

# Chúng sử người dùng "root" cấp quyền quyền "write" cho người dùng "other" và thử lại

chmod o+w ./new_dir/sub_dir/hello.txt

- Chú thích lệnh:

chgrp <nhóm_mới> <đường_dẫn_tệp_thư_mục>

chown <người_dùng_mới> <đường_dẫn_tệp_thư_mục>

chown -R <người_dùng_mới>:<nhóm_người_dùng_mới> <đường_dẫn_tệp_thư_mục>

2.3: Quy tắc số (octal mode):

Trong quy tắc số (octal mode) của Linux, các quyền truy cập được biểu diễn bằng các con số từ 0 đến 7. Mỗi con số đại diện cho một quyền cụ thể, như sau:

  • 4: Quyền đọc (read - r)
  • 2: Quyền ghi (write - w)
  • 1: Quyền thực thi (execute - x)

Khi bạn kết hợp các con số này lại, bạn có thể xác định các quyền truy cập cho chủ sở hữu, nhóm và người dùng khác. Dưới đây là một số giá trị thông dụng:

  • 7: Quyền đọc, ghi và thực thi (rwx)
  • 6: Quyền đọc và ghi (rw-)
  • 5: Quyền đọc và thực thi (r-x)
  • 4: Quyền đọc (r--)
  • 3: Quyền ghi và thực thi (wx-)
  • 2: Quyền ghi (w--)
  • 1: Quyền thực thi (x--)
  • 0: Không có quyền (---)

Ví dụ:

# Tạo thư mục touch
mkdir example_dir

# Tạo tập tin trong thư mục
mkdir example_dir/example_file.txt

# Cấp quyền truy cập cho thư mục:
chmod 755 example_dir

# Kiểm tra
ls -lh

# Kết quả
# drwxr-xr-x 3 root root 4.0K Mar 24 09:43 example_dir

Trong đó:

  • 7 (rwx) cho phép chủ sở hữu (owner) đọc, ghi và thực thi.
  • 5 (r-x) cho phép nhóm có quyền đọc và thực thi.
  • 5 (r-x) cho phép người dùng khác có quyền đọc và thực thi.

3. Lời kết

- Quyền sở hữu đóng vai trò quan trọng trong bảo mật hệ thống Linux và quản lý tệp tin. Việc hiểu và thực hiện các thao tác quyền sở hữu là quan trọng để đảm bảo an toàn và an ninh trong môi trường hệ thống.


Tác giả: Đỗ Thiên Giang

Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.

Lên trên