Sự khác biệt giữa các lệnh adduser
và useradd
trên Ubuntu là gì?
Sự khác biệt giữa các lệnh adduser
và useradd
trên Ubuntu là gì?
Câu trả lời:
useradd
là nhị phân nguyên gốc được biên dịch với hệ thống. Nhưng,adduser
là một tập lệnh perl sử dụnguseradd
nhị phân trong back-end.
adduser
thân thiện với người dùng và tương tác hơn so với back-end của nóuseradd
. Không có sự khác biệt trong các tính năng được cung cấp.
Nguồn: Sự khác biệt giữa người dùng cộng đồng và người dùng khác là gì?
-m
tùy chọn sẽ tạo thư mục chính.
adduser(8)
hơn và tạo và thiết lập người dùng theo mặc định theo cách bạn mong đợi. Và useradd(8)
chỉ làm những gì bạn yêu cầu, vì vậy bạn muốn có một thư mục chính được tạo, bạn phải nói với nó để tạo nó cho bạn.
Luôn sử dụngadduser
(và deluser
khi xóa người dùng) khi bạn đang tạo người dùng mới từ dòng lệnh. (Nếu bạn đang viết một tập lệnh, đặc biệt là nếu bạn nhắm đến tính di động, bạn có thể muốn sử dụng các tiện ích lowlevel thay thế - và adduser
/ deluser
có thể không có sẵn trên tất cả các bản phát hành, ví dụ như trên SuSE.)
Các useradd
, userdel
và usermod
lệnh là tiện ích lowlevel mà ở đó vì những lý do lịch sử, trong khi adduser/deluser
Đỗ The Right Thing ™. (Tôi nhớ sử dụng cái nào bằng cách suy nghĩ user*
xuất hiện adduser/deluser
trong bảng chữ cái và do đó "tệ hơn".)
Theo các trang tương ứng (trên Ubuntu 12.04 Precolin Pangolin, tức là hệ thống phái sinh Debian).
adduser
biết:(Nhấn mạnh thêm.)
adduser
vàaddgroup
thêm người dùng và nhóm vào hệ thống theo các tùy chọn dòng lệnh và thông tin cấu hình trong/etc/adduser.conf
. Họ là phía trước thân thiện hơn kết thúc các công cụ ở mức độ thấp nhưuseradd
,groupadd
vàusermod
các chương trình , theo mặc định lựa chọn chính sách Debian UID tuân thủ QTI và giá trị GID, tạo ra một thư mục home với cấu hình xương, chạy một kịch bản tùy chỉnh, và các tính năng khác.adduser
vàaddgroup
có thể chạy ở một trong năm chế độ:
useradd
biết:
useradd
là một tiện ích cấp thấp để thêm người dùng. Trên Debian, quản trị viên thường nên sử dụngadduser(8)
thay thế.
Xem thêm: Sự khác biệt giữa người dùng cộng đồng và người dùng khác là gì? (trên SuperUser)
adduser
trên openSUSE và không có ở đó. (13.2)
locate adduser
hệ thống SuSE 11 tại nơi làm việc, tôi thấy rằng có một adduser
trang web, nhưng không có nhị phân (và không phải là một deluser
trang web cũng như một lệnh).
/usr/sbin/adduser -> useradd
adduser
: thêm người dùng với hồ sơ và thông tin đầy đủ (đạt, hạn ngạch, cho phép, v.v.)
useradd
: chỉ thêm người dùng với tên của anh ấy (nếu bạn muốn thêm người dùng tạm thời chỉ có tên, thông tin khác không bắt buộc)
Một vài sự khác biệt khác, dẫn đến các kịch bản cụ thể mà người dùng có thể thích hợp hơn.
Trong một số bản phát hành mới hơn, bao gồm Ubuntu 14.4, adduser sẽ nhắc thông tin như mật khẩu và "gecos" (dữ liệu cho lệnh ngón tay). Điều này có nghĩa là nó có thể ít phù hợp hơn để gọi từ một kịch bản (tín dụng: đã được đề cập trong một nhận xét của Wernight).
Các lời nhắc có thể được loại bỏ bằng cách chuyển các đối số null:
adduser --disabled-password --gecos "" USER
useradd
cho phép bạn vượt qua nhiều nhóm bổ sung để thêm người dùng bằng phương tiện -G
tùy chọn. adduser
dường như yêu cầu bạn gọi lệnh một lần cho mỗi nhóm để thêm.
adduser
thân thiện hơn ở chỗ nó thiết lập các thư mục nhà của tài khoản và các cài đặt khác (ví dụ: tự động tải các thống kê và thông báo hệ thống khi đăng nhập), trong khi useradd
chỉ tạo người dùng.
Sự khác biệt cơ bản là "adduser" sẽ tạo thư mục chính và thêm tệp bộ xương vào thư mục đó trong đó "useradd" sẽ không tạo bất kỳ thư mục chính & tệp bộ xương nào!
Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
# ll /home/
total 20
drwxr-xr-x 5 root root 4096 Oct 26 15:52 ./
drwxr-xr-x 22 root root 4096 Oct 26 15:47 ../
drwx------ 8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x 3 root root 4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x 2 try try 4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#
Tôi cũng sẽ chỉ ra rằng adduser
không phải lúc nào cũng có -M
tùy chọn và cũng không tôn trọng --system
cờ có ghi cụ thể :
Lưu ý rằng useradd sẽ không tạo thư mục chính cho người dùng như vậy, bất kể cài đặt mặc định trong /etc/login.defs (CREATE_HOME). Bạn phải chỉ định các tùy chọn -m nếu bạn muốn tạo một thư mục chính cho tài khoản hệ thống được tạo.
Nếu bạn đang cố gắng tạo người dùng hệ thống mà không có thư mục chính thì hãy sử dụng useradd --system -M
.