Sự khác biệt giữa các lệnh adduservà useraddtrên Ubuntu là gì?
Sự khác biệt giữa các lệnh adduservà useraddtrên Ubuntu là gì?
Câu trả lời:
useraddlà nhị phân nguyên gốc được biên dịch với hệ thống. Nhưng,adduserlà một tập lệnh perl sử dụnguseraddnhị phân trong back-end.
adduserthâ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ì?
-mtù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à deluserkhi 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/ delusercó 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, userdelvà usermodlệ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/delusertrong 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).
adduserbiết:(Nhấn mạnh thêm.)
adduservàaddgroupthê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,groupaddvàusermodcá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.adduservàaddgroupcó thể chạy ở một trong năm chế độ:
useraddbiết:
useraddlà 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)
addusertrên openSUSE và không có ở đó. (13.2)
locate adduserhệ thống SuSE 11 tại nơi làm việc, tôi thấy rằng có một addusertrang web, nhưng không có nhị phân (và không phải là một delusertrang 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
useraddcho 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 -Gtùy chọn. adduserdường như yêu cầu bạn gọi lệnh một lần cho mỗi nhóm để thêm.
adduserthâ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 useraddchỉ 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 adduserkhông phải lúc nào cũng có -Mtùy chọn và cũng không tôn trọng --systemcờ 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.