Đây là mã script tôi đang sử dụng:
getent group $MYGROUP
if [ $? -ne 0 ] ; then
sudo su -c "groupadd $MYGROUP"
fi
sudo su -c "useradd mynewuser -p mypassword -m -g $PRIMARYGRP -G $MYGROUP"
Cách tiếp cận này hoạt động tốt trên openSuse. Nhưng có một số vấn đề với tài khoản người dùng mà nó tạo ra trên Ubuntu nên tôi đang tìm kiếm sự giúp đỡ ở đây.
- dấu nhắc thiết bị đầu cuối không được đặt (
echo $PS1
không trả về gì) - các phím mũi tên và phím tab không hoạt động chính xác trong thiết bị đầu cuối
- mật khẩu dường như không hoạt động (mặc dù tôi vẫn chưa rõ chính xác vấn đề này là gì)
- quyền / etc / sudoers được đặt cho người dùng mới này không được tôn trọng
Thay vào đó, nếu tôi tự tạo người dùng bằng adduser
(thay vì useradd), tôi không gặp phải những vấn đề này trên Ubuntu. Nhưng tôi không thể sử dụng adduser
trên openSuse (afaik). Do đó, tôi cần một tập lệnh hoặc phương pháp không độc quyền của Debian để thêm tài khoản người dùng thông qua tập lệnh bash của tôi hoạt động trên Ubuntu (và không ngừng hoạt động trên các bản phát hành khác).
Cuối cùng, tôi muốn hiểu sự khác biệt giữa adduser
và useradd
. Ví dụ, tôi muốn biết thư mục bộ xương nào được sử dụng bởi adduser
vì đó có thể là lý do useradd
không hoạt động như mong đợi (vì tôi chỉ chấp nhận mặc định).
Cảm ơn
sudo su -c "cmd arg1 arg2"
là tương đương với sudo cmd arg1 arg2
.
sudo su -c "cmd arg1 arg2"
để nó hoạt động ở mọi nơi tôi cần.
adduser
là một tập lệnh perl dài hơn 1000 dòng, vì vậy để biết sự khác biệt, bạn có thể xem tập lệnh.
adduser
nhưng tôi không biết perl. Vì vậy, đó không phải là một cách tiếp cận tốt cho tôi.
man useradd
): 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ụng adduser (8) thay thế.