Tôi không tin rằng có bất kỳ rủi ro cố hữu nào, đây là điều được thực hiện đơn giản để tạo sự tách biệt giữa những gì được coi là tài khoản hệ thống và tài khoản người dùng. Việc sử dụng các số dưới 500, theo kinh nghiệm của tôi là Redhat-ism, và thực sự không có gì hơn thế.
Trên Solaris tôi đã thấy người dùng được chỉ định số bắt đầu từ 100, chỉ đến những năm sau đó, phát hiện ra rằng khi hợp nhất 2 hệ thống của các bộ phận nhỏ lại với nhau gây ra một cơn ác mộng, vì có nhiều người dùng trên cả hai bộ phận có cùng UID / GID được chỉ định.
Đây thực sự là rủi ro / đau đầu chính khi chỉ định UID. Vì UID là thứ cuối cùng được ghi vào nút cho các tệp / thư mục do người dùng cung cấp, nên bạn không muốn phải thực hiện việc find
tìm kiếm các tệp thuộc sở hữu của UID 1234 và phải đổi chúng thành 5678 .
Vì vậy, bằng cách đặt một số suy nghĩ vào việc lựa chọn UID, quản trị viên có thể tránh được sự đau đầu.
Việc sử dụng 500 trở lên chỉ là một nỗ lực của Redhat (và các Unix khác) để cung cấp cho mình đủ bộ đệm mà bất kỳ tài khoản hệ thống nào có thể cần tạo sẽ không được trộn lẫn với UID được gán cho người dùng.
/etc/login.defs
Ngẫu nhiên, số 500 được điều khiển bởi cài đặt này trong tệp cấu hình , /etc/login.defs
.
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500
UID_MAX 60000
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 500
GID_MAX 60000
Bạn có thể thay đổi điều này thành bất cứ điều gì bạn muốn, nếu bạn muốn ghi đè hành vi mặc định bằng useradd
/ adduser
lệnh.
Trang người dùng
Nếu bạn xem useradd
trang người đàn ông, bạn sẽ thấy phần này thảo luận về giá trị mặc định cho GID, nhưng nhận xét này cũng có thể áp dụng cho UID:
đoạn trích
-g, --gid GROUP
The group name or number of the user´s initial login group. The group name
must exist. A group number must refer to an already existing group.
If not specified, the behavior of useradd will depend on the USERGROUPS_ENAB
variable in /etc/login.defs. If this variable is set to yes
(or -U/--user-group is specified on the command line), a group will be
created for the user, with the same name as her loginname. If the variable
is set to no (or -N/--no-user-group is specified on the command line),
useradd will set the primary group of the new user to the value specified by
the GROUP variable in /etc/default/useradd, or 100 by default.
Tài khoản hệ thống
Một điều khác cần chú ý trong useradd
trang man là bit này về việc tạo tài khoản hệ thống.
đoạn trích
-r, --system
Create a system account.
System users will be created with no aging information in /etc/shadow,
and their numeric identifiers are choosen in the SYS_UID_MIN-SYS_UID_MAX
range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their
GID counterparts for the creation of groups).
Note that useradd will not create a home directory for such an user,
regardless of the default setting in /etc/login.defs (CREATE_HOME). You
have to specify the -m options if you want a home directory for a system
account to be created.
Đây là phương thức ( useradd -r ...
) thường được sử dụng bởi kịch bản được tích hợp vào các trình quản lý gói khác nhau, chẳng hạn như RPM, khi gói đang được cài đặt. Viết kịch bản theo cách này cho phép hệ thống tự động chọn UID / GID có sẵn tiếp theo trên một hệ thống nhất định mà không có nguy cơ bước vào UID / GID đã được gán cho người dùng hệ thống.