Trên mọi hệ thống Linux, tài khoản root là một người dùng đặc biệt có quyền quản trị. Đăng nhập bằng root (hoặc thực thi các lệnh với quyền root) là điều cần thiết cho nhiều tác vụ. Nếu bạn cần thực hiện các tác vụ với tư cách là người dùng root, hãy đảm bảo rằng bạn hiểu đầy đủ các lệnh bạn đang chạy và hậu quả của chúng.
Một lệnh bất cẩn hoặc không đúng định dạng, chạy dưới quyền root, có thể làm cho toàn bộ hệ điều hành không thể sử dụng được. Hãy thực hiện nghiên cứu và luôn kiểm tra kỹ mọi lệnh trước khi nhấn Enter
.
Root là gì?
Root là tên người dùng hoặc tài khoản mà theo mặc định có quyền truy cập vào tất cả các lệnh và file trên Linux hoặc hệ điều hành giống Unix khác. Root cũng được gọi là tài khoản root, người dùng root và siêu người dùng.
Từ root cũng có một số ý nghĩa bổ sung, có liên quan, khi được sử dụng như một phần của những thuật ngữ khác và do đó, đây có thể là một nguồn gây nhầm lẫn cho những người mới sử dụng các hệ thống tương tự Unix.
Một trong số đó là thư mục root. Đây là thư mục cấp cao nhất trên hệ thống, chứa tất cả các thư mục khác, bao gồm những thư mục con của chúng và mọi file nằm trong đó. Thư mục root được chỉ định bởi dấu gạch chéo (/).
Một trường hợp khác là /root. Đó là thư mục Home của người dùng root. Thư mục Home là kho lưu trữ chính cho các file của người dùng, bao gồm những file cấu hình của người dùng đó và thường là thư mục mà người dùng tự tìm thấy khi đăng nhập vào hệ thống. /root là thư mục con của thư mục root, được biểu thị bằng dấu gạch chéo phía trước tên và không được nhầm lẫn với chính thư mục root đó. Các thư mục Home cho người dùng không phải là root theo mặc định được tạo trong thư mục /home. Đây là một thư mục con tiêu chuẩn khác của thư mục root.
Quyền root là quyền hạn mà tài khoản root có trên hệ thống. Tài khoản root là đặc quyền lớn nhất trên hệ thống và có quyền lực tuyệt đối đối với nó (tức là truy cập đầy đủ vào tất cả các file và lệnh). Một trong số các quyền hạn của root là khả năng sửa đổi hệ thống theo bất kỳ cách nào bạn muốn, cũng như cấp và thu hồi quyền truy cập (nghĩa là khả năng đọc, sửa đổi và thực thi các file và thư mục cụ thể) cho những user khác, kể cả mặc định dành riêng cho root.
Root là tên người dùng hoặc tài khoản mà theo mặc định có quyền truy cập vào tất cả các lệnh và file trên Linux
Đăng nhập bằng root
Tài khoản root tương tự như bất kỳ tài khoản nào khác ở chỗ nó có tên người dùng (“root“) và mật khẩu. Nếu biết mật khẩu của root, bạn có thể sử dụng nó để đăng nhập vào tài khoản root từ dòng lệnh.
Có một lệnh đặc biệt có tên su
(“super user” hoặc “switch user”), cho phép bạn tạm thời chạy các lệnh dưới dạng tài khoản root. Từ dòng lệnh, gõ:
su
Nhập mật khẩu khi được nhắc. Nếu thành công, bạn được chuyển sang người dùng root và có thể chạy các lệnh với các đặc quyền toàn hệ thống.
Hãy cẩn thận trong khi đăng nhập với quyền root. Thật dễ dàng để quên rằng mình hiện đang là người dùng root và bạn có thể vô tình chạy một lệnh với suy nghĩ: Mình chỉ là một người dùng bình thường. Một cách để tự nhắc nhở bạn có phải là root hay không là kiểm tra Command Prompt. Nhiều hệ thống kết thúc Command Prompt bằng ký hiệu đô la (“$“), nếu bạn đăng nhập như một người dùng bình thường, và với dấu thăng (“#“) nếu bạn là root.
Hoặc, bạn có thể sử dụng lệnh whoami
để xác định tài khoản đang sử dụng.
Khi hoàn thành các tác vụ quản trị, bạn có thể chạy lệnh exit
hoặc logout
để trở về tài khoản người dùng chuẩn.
Khi đăng nhập bằng root, thường hữu ích khi sử dụng một dấu gạch ngang sau lệnh su
, như thế này:
su -
Lệnh này mô phỏng đăng nhập root hoàn chỉnh. Nó thực thi tất cả các script khởi tạo shell của người dùng root và đặt tất cả các biến môi trường như thể người dùng root đã đăng nhập vào một phiên shell mới. Tùy thuộc vào nhiệm vụ bạn cần thực hiện và cách cấu hình tài khoản root, hình thức này của lệnh su
có thể là lựa chọn tối ưu.
Chạy các lệnh với quyền root mà không cần mật khẩu root
Điều này là có thể và thường là tốt hơn khi chạy các lệnh với tư cách root mà không cần đăng nhập vào tài khoản root, bằng cách sử dụng lệnh sudo
, viết tắt của “superuser do”. Nếu đặt tiền tố sudo
trước một lệnh, bạn sẽ được nhắc nhập mật khẩu (không phải mật khẩu root) và tên của bạn được kiểm tra bằng một file đặc biệt có tên là sudoers. Nếu tài khoản của bạn được liệt kê ở đó, lệnh sẽ chạy với quyền root.
Sử dụng sudo
khiến bạn khó quên hơn rất nhiều việc bạn đã là root chưa, vì bạn chưa đăng nhập vào tài khoản root và sẽ không bao giờ quên đăng xuất. Ngoài ra, gõ sudo
mỗi khi bạn chạy một lệnh có tác dụng nhắc nhở bạn phải hết sức cẩn thận và tự kiểm tra lại.
Nếu cần thêm người dùng vào danh sách sudoers, bạn nên sử dụng lệnh visudo
yêu cầu quyền root để chạy và cho phép bạn chỉnh sửa an toàn file sudoers nhạy cảm.