Làm thế nào để thêm người dùng mà không có lệnh useradd?


11

Có thể thêm người dùng vào linux Ubuntu mà không cần lệnh useradd không, tôi nghĩ có thể bằng cách thêm các mục vào /etc/passwd and /etc/shadownhưng tôi không biết các bước chính xác để làm điều đó và người dùng cũng nên lấy thư mục chính của nó và bash shell.

Câu trả lời:


19

Nó không được khuyến khích để tự sửa đổi /etc/passwd, /etc/shadow, /etc/grouphoặc /etc/gshadowvì nguy cơ vỡ. Nếu bạn đang tìm kiếm một lệnh thay thế dễ sử dụng hơn, hãy xem adduser(8). Tất cả bạn phải chạy là:

sudo adduser user

Shell sẽ được /bin/bashmặc định theo /etc/adduser.conf.

Thông thường, nếu bạn muốn thêm người dùng bằng bash shell, từ đó tạo thư mục chính /home/uservà nhóm người dùng, bạn sẽ sử dụng:

sudo useradd --create-home --shell /bin/bash --user-group user

Lệnh này về cơ bản là xác định ID người dùng $UIDvà ID nhóm miễn phí $GIDvà sau đó thực hiện các lệnh tiếp theo:

echo "user:x:$UID:$GID::/home/user:/bin/bash" | sudo tee -a /etc/passwd
echo "user:x:$GID:" | sudo tee -a /etc/group
echo "user:!:$DATE_OF_LAST_PASS_CHANGE:0:99999:7:::" | sudo tee -a /etc/shadow
echo "user:!::" | sudo tee -a /etc/gshadow

.. và do đó có thể tạo một bản sao lưu của các tập tin.

Các trang hướng dẫn tiếp theo về các định dạng tệp có thể khiến bạn quan tâm:


này, Lekensteyn, bạn có bỏ lỡ phần đầu tiên của bài viết của họ không? "Có thể thêm người dùng vào linux Ubuntu mà không cần lệnh useradd ..." Họ muốn một giải pháp mà không cần useradd: /
Thomas Ward

1
@TheEvilPhoenix: Tôi nghĩ rằng anh ấy đã hỏi về một sự thay thế cho adduser. Bây giờ tôi đã bao gồm addusernhư là câu trả lời. Đó thực sự là "không có người dùng" :)
Lekensteyn

Không có vấn đề, muốn chỉ ra nó là tất cả. và tha thứ cho tôi là bán kết ... những ngày dài, tồi tệ tại nơi làm việc với máy chủ thác thất bại làm điều đó đối với bạn ...
Thomas Ward

@ Tất cả tôi muốn tạo người dùng mà không cần useradd bằng cách thêm các mục có thể vào / etc / passwd và / etc / Shadow
mr_eclair

2
@ m59 >>cố gắng mở tệp với tư cách là người dùng hiện tại (không phải root) sẽ không thành công với lỗi từ chối Cấp phép. Sử dụng sudo teebỏ qua đó. Ngoài ra, bạn có thể gói lệnh trong sudo sh -c '...'để tránh vấn đề đó.
Lekensteyn

1

Mặc dù thường không cần thiết hoặc được khuyến nghị, câu trả lời cho câu hỏi Làm thế nào để thêm người dùng mà không cần lệnh useradd là sử dụngsudo vipw

Điều này sẽ khởi chạy trình soạn thảo do hệ thống xác định của bạn trong khi khóa tệp passwd. Nhập một dòng cho một người dùng mới. (Trong vi, shift-G để đến dòng cuối cùng sau đó yy p để sao chép nó.) Chỉnh sửa tên người dùng và tạo số ID người dùng duy nhất.

Sau khi lưu tệp và thoát khỏi trình chỉnh sửa, bạn sẽ được nhắc chỉnh sửa / etc / bóng. Sử dụng kỹ thuật tương tự để tạo một dòng mới và sử dụng "*" cho hàm băm mật khẩu. Tài khoản mới bị khóa. Sử dụng passwd usernameđể mở khóa và đặt mật khẩu.

Cũng cần tạo thư mục chính, sao chép tệp từ thư mục khung xương, đặt quyền nhóm, v.v. Nhưng đó vipwlà tài nguyên chính của bạn. Xem thêm vigr.

Nguồn: http://itguykelly.wordpress.com/2011/04/19/manual-add-new-user-to-red-hatfedorighboros/ (vâng, các lệnh này hoạt động trên nhiều hương vị khác nhau của * nix)


0

Khi người dùng được tạo trong hệ thống, nó có hiệu lực đối với các tệp như / etc / Pass, / etc / group, / etc / Shadow, vì vậy hãy duyệt qua các tệp này và thực hiện nhập thủ công. Và cuối cùng từ tập tin / etc / skel thêm bộ xương cho người dùng trong thư mục chính của người dùng mà bạn phải tạo trong thư mục chính.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.