Uid linux là gì
Linux sẽ tự động gán UID và GID cho bạn, nhưng một số bạn muốn tự mình tuỳ chỉnh những thông số này Quản lí tài khoản người dùng là một trong rất nhiều việc mà sysadmin phải làm, nó bao gồm nhiều khía cạnh như tạo tài khoản, xoá tài khoản, phân quyền, đặt hạn sử dụng, thiết lập các tiêu chuẩn mật khẩu, thiết lập các tính năng bảo mật, thiết lập UIDs và GIDs để giúp hệ thống gọn gàng và dễ bảo trì. Phần một sẽ đề cập tới những câu lệnh hữu ích.
Bài viết này sẽ đề cập tới việc quản lí người dùng thông qua user IDs (UIDs) và group IDs (GIDs) Mặc định, hệ thống Linux sẽ tự động gán UIDs và GIDs cho mỗi tài khoản mới theo thứ tự số bắt đầu bằng 1000. Hay nói cách khác, nếu bạn tạo mới một user trong quá trình cài đặt nó sẽ UID = 1000 và GID = 1000, ví dụ như ở dưới Nói như trên thì bất cứ tài khoản nào có UID dưới 1000 đều được dành co các tài khoản hệ thống,
dịch vụ và các tài khoản đặc biệt khác, tuy có sự giới hạn 999 tài khoản nhưng con số này là đủ để đáp ứng cho việc vận hành hệ thống trong nhiều năm. Với kinh nghiệm quản trị hệ thống Linux hơn 20 năm, cá nhân tôi chưa bao giờ sử dụng hết 999 tài khoản đó. Tài khoản root sẽ được gán UID = 0 và GID = 0. Bạn có thể thử đổi tên tài khoản root thành một tên bất kì, và tạo một tài khoản hệ thống mới có tên root, và để hệ thống gán UID và GID tự động cho nó. Như vậy đặc quyền của
một tài khoản không phải nằm ở cái tên, mà chính UID và GID đã cung cấp đặc quyền cho nó. Như bạn có thể thấy ở list dưới đây, tài khoản thông thường được gán UID và GID theo thứ tự số từ 1000. UID và GID luôn luôn giống nhau để giúp mọi thứ được gọn gàng Không có sự kì diệu gì khi cài đặt cả, tất cả mọi thứ hệ thống đều đã làm giúp bạn, bạn không phải lo lắng gì cả Theo truyền thống, admin muốn thêm một user vào một non-primary groups khi tạo tài khoản, sử dụng công
cụ useradd với tham số -G. Hãy đảm bảo liệt kê tất cả những nhóm thứ cấp sau câu lệnh -G, ngăng cách bởi dấu phẩy và khôg có khoản trắng. Câu lệnh dưới đây cho phép hệ thống chọn UID và primary GID từ số có sẵn tiếp theo trong hệ thống như cũng thêm user jdoe vào nhóm sysadmin và helpdesk Nếu bạn muốn chỉ định primary group với tham số -g, thì group phải được tạo sẵn. Ví dụ, nếu bạn nhập câu lệnh dưới Bạn sẽ nhận được thông báo useradd: group ‘10600’ does not exist. Bạn
cần tạo group này trước khi thực thi câu lệnh trên groupadd 10600 sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe Quản lí quyền của groupKhi user tạo ra một files, users đó có quyền đọc (r) và ghi (w), group séco quyền đọc, và những thành phần khác sẽ có quyền đọc (rw-r–r–), hay theo số là 644. Quyền thực thi (x) không được đưa vào ban đầu. Vì vậy, với một quản trị viên hệ thống, nếu một thành viên trong group yêu cầu quyền thực thi trên file hoặc một nhóm file, hãy chỉ gán quyền thực thi cho group sudo chmod g+x coolscript.sh Người dùng có thể tự thay đổi quyền nếu họ là chủ sở hữu nhưng thường sẽ không làm như vậy vì sợ làm sai. Chỉ chủ sở hữu hoặc người dùng root mới có thể thay đổi quyền trên tệp ngay cả khi nhóm có quyền ghi vào tệp. Quyền ghi có nghĩa là một thành viên trong nhóm có thể chỉnh sửa hoặc xóa tệp. Đảm bảo rằng các thư mục nhóm được chia sẻ có quyền ghi cho nhóm và các tệp cần được sửa đổi bởi các thành viên nhóm cũng có quyền ghi. Một số bạn có kiến thức nâng cao hơn về phân quyền có thể hỏi tại sao tôi không đề cập đến lệnh chattr (thay đổi thuộc tính) và đó là một câu hỏi hay. Lệnh chattr không thuộc phạm vi của bài viết này nhưng sẽ được đề cập trong một bài viết sau, chỉ tập trung vào chattr và các tùy chọn của nó. Bài viết được dịch từ RedHat – nó mang ý nghĩa gì? – tìm nó ở đâu? – và nên quản lý nó như thế nào cho hiệu quả? 1> UID là gì? UID (viết tắt của User Identification) là môt con số nguyên dương duy nhất được hệ điều hành Linux gán cho mỗi tài khoản người dùng. Hệ thống sẽ sử dụng UID để nhận diện user, trái với con người phân biệt các tài khoản qua Username. 2> Xem các UID ở đâu? File /etc/passwd lưu trữ thông tin về tất cả user, mỗi user nằm trên 1 dòng bao gồm các trường: Username, Password dạng mã hóa (nếu sử dụng shadow password thì trường này được thay bằng ký tự x), UID, GUID, Gesco (chứa thông tin phụ như Full name, Phone number..), Home directory, Shell mà user sẽ sử dụng. Bạn sử dụng lệnh cat để đọc file này:
Như hình trên thì trường thứ 3 chính là giá trị UID. 3> Các UID mang ý nghĩa đặc biệt Từ phiên bản Linux Kernel 2.4 trở lên, UID là số nguyên 32-bit không dấu (vùng giá trị từ 0 -> 4.294.967.296). Tuy nhiên, bạn nên đặt UID trong khoảng 0 -> 65.534 để đảm bảo tính tương thích với các hệ thống sử dụng Linux Kernel phiên bản thấp hơn 2.4 hoặc với các filesystem chỉ hỗ trợ UID có chiều dài 16-bit. Một vài UID đặc biệt và dành riêng: – UID=0: được gán cho tài khoản root – người dùng có đặc quyền cao nhất trong Linux. – UID=65534: thường được dành riêng cho tài khoản nobody – người dùng không có bất cứ đặc quyền quản trị nào. UID này thường được dành cho các cá nhân truy cập từ xa tới hệ thống qua FTP hay HTTP. – UID trong khoảng 1->99: thường được dành riêng cho các tài khoản hệ thống đặc biệt, thường được gọi là các pseudo-users, như wheel, daemon, lp, operator, news, mail, httpd, sshd… Đây đều là các tài khoản quản trị nhưng lại không nắm giữ tất cả các đặc quyền như root, chúng chỉ đảm nhận một vài công việc chuyên biệt nào đó như: daemon chỉ dùng để quản lý các dịch vụ (start, stop, resume, restart…), httpd cho Web server Apache… Dĩ nhiên các tài khoản này có nhiều quyền hạn hơn các người dùng bình thường (normal user). 4> Quản lý các UID
Hy vọng bài viết này đã mang lại cho bạn những thông tin hữu ích giúp bạn hiểu rõ hơn bản chất của UID trong Linux. –manthang. Trong Linux có bao nhiêu loại user?User và Group trong Linux
Có hai loại User là Super User (hay thường gọi là Root) và Regular User. Mỗi User còn có một mã UID riêng. Mỗi loại User, mỗi User khác nhau có quyền trong hệ thống khác nhau phụ thuộc vào hệ thống đã thiết lập cho họ những quyền gì, Super User đã cấp cho họ những quyền gì.
Regular user trong Linux là gì?Regular user là các user được tạo ra từ super user root. mỗi user khi được tạo ra cũng sẽ có 1 group chứa nó. user root cũng có 1 group chứa nó.
Login vào hệ thống sử dụng lệnh để cho biết user hiện tài là gì?Đầu ra của lệnh who cung cấp cho bạn tên của user hiện tại, thiết bị đầu cuối họ đăng nhập vào, ngày và giờ đăng nhập. Nếu đó là một phiên từ xa, lệnh who cũng cho biết user đó đăng nhập từ đâu.
|