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:
- Chuẩn bị.
- Cấp phát quyền thao tác
- 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 [email protected]
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.
Bài viết liên quan
Hiểu về AI, LLM, RAG và Agentic RAG trong 15 phút
Trong vài năm gần đây, trí tuệ nhân tạo (AI) đã bùng nổ mạnh mẽ và trở thành tâm điểm của cả thế giới công nghệ. Nhưng đi kèm với nó là hàng loạt khái niệm mới như LLM, RAG, hay Agentic RAG khiến nhiều người mới bắt đầu cảm thấy lúng túng.
Đọc thêm
Hướng dẫn tự triển khai N8N trên CentOS bằng Docker Compose và NGINX
N8N là công cụ mã nguồn mở cho phép bạn tự động hóa quy trình làm việc (workflow automation) và tích hợp nhiều dịch vụ khác nhau mà không cần phải lập trình.
Đọc thêm
Hướng dẫn phân tích độ phức tạp thuật toán chi tiết
Độ phức tạp của giải thuật là một cách để đánh giá hiệu quả của một giải thuật dựa trên hai yếu tố chính là độ phức tạp thời gian và độ phức tạp không gian.
Đọc thêm
Bài 6. Các thao tác với XPath và Selector trong Selenium
Bài viết này hướng dẫn bạn làm việc XPath và Css Selector trong Selenium.
Đọc thêm
Bài 5. Các thao tác với Web Browser trong Selenium
Bài viết này hướng dẫn bạn làm việc sâu Web Browser trong Selenium.
Đọc thêm
Bài 4. Thực thi Javascript trong Selenium
Bài viết này hướng dẫn bạn thực thi lệnh Javascript trong Selenium.
Đọc thêm
Bài 3. Làm việc với Element trong Selenium
Bài viết này hướng dẫn bạn làm việc với Element trong Selenium.
Đọc thêm
Bài 2. Các thao tác cơ bản về Selenium
Bài viết này hướng dẫn bạn tạo dự án Selenium C# và thực hiện thao tác cơ bản.
Đọc thêm
Bài 1. Giới thiệu về Selenium
Bài viết giới thiệu sơ lược về chuỗi bài Selenium.
Đọc thêm
Bài 18. Xây dựng Docker Compose .NET Core Và SQL Server
Hướng dẫn xây dựng Docker Compose .NET Core Và SQL Server
Đọc thêm