Trong số các lệnh của hệ điều hành GNU/Linux, nhóm các câu lệnh về cài đặt, quản lí các tài khoản người dùng có lẽ là ai cũng cần phải thông thạo. Vì lẽ đó, tôi viết bài giới thiệu về 1 trong những lệnh có chức năng như vậy là useradd(8), lệnh tạo các tài khoản người dùng mới. Ngoài useradd(8) còn một lệnh có chức năng tạo tài khoản người dùng tương tự là adduser(8), tuy nhiên lệnh này (vốn là 1 script) có cách hoạt động khác nhau trên các distro nên tôi sẽ không đề cập đến vì mục đích viết bài của tôi là distro-independence. (ứng dụng độc lập với distro)
Bạn có thể tham khảo bài viết khác của tôi về các lệnh thuộc nhóm này:
Cú pháp:
useradd [options] LOGIN_NAME
Mô tả:
Mỗi lần được gọi, lệnh useradd(8) sẽ tạo 1 tài khoản người dùng mới với tên đăng nhập là LOGIN_NAME cùng với các tùy chọn được chỉ định trong mục options. Lệnh này còn một dạng cú pháp khác với tùy chọn -D đặt trước options để thay đổi các giá trị mặc định. Tuy nhiên, tốt hơn hết là bạn nên tham khảo man page về nội dung này.
Các tùy chọn:
-d, –home HOME_DIR
tùy chọn này giúp chỉ định HOME_DIR là thư mục bạn muốn dùng làm home cho tài khoản sắp được tạo. Nếu tùy chọn này không được gọi, đường dẫn mặc định thông thường sẽ là /home/LOGIN_NAME. Lưu y’ là tùy chọn này không tạo ra thư mục home cho người dùng, để làm điều đó, bạn cần thêm tùy chọn bên dưới: -m hay là –create-home
-m, –create-home
tạo thư mục home cho người dùng mới nếu nó chưa tồn tại.
-g, –gid GROUP
chỉ định nhóm người dùng chính cho tài khoản mới. Do vậy, GROUP cần phải có sẵn từ trước. Nếu bạn muốn tạo một tài khoản mới với một nhóm mới, bạn sẽ cần dùng lệnh groupadd(8) để tạo nhóm trước rồi mới tạo được tài khoản. Tham khảo thêm về lệnh này tại đây
-G, –groups GROUP1[,GROUP2,...,GROUPN]
Bạn sẽ cần dùng đến tùy chọn này nếu bạn muốn chỉ định thêm các nhóm người dùng phụ cho tài khoản mới. Tuy nhiên, sau khi tài khoản mới đã… ra lò ^^ thì bạn vẫn có thể dùng lệng usermod(8) để tùy chỉnh nếu cần. Lưu y’ 1 điều là tên các nhóm phải được phân cách bằng dầu phẩy và không có khoản trắng nào được chen giữa. Trừ khi có nhu cầu đặc biệt còn không thì bạn không cần dùng tùy chọn này.
-n
Tạo và chỉ định nhóm người dùng chính cho tài khoản mới có cùng tên với tên đăng nhập LOGIN_NAME. Ví dụ bạn tạo tài khoản người dùng Konqueror thì tài khoản này sẽ thuộc một nhóm mới là Konqueror. Cá nhân tôi nghĩ tùy chọn này có lẽ ít ai muốn sử dụng
-s, –shell SHELL
Chỉ định shell, trên GNU/Linux thì thông thường mặc định là bash, tuy nhiên đôi khi có thể là sh hoặc dash và quan trọng hơn là giá trị mặc định này hoàn toàn có thể bị thay đổi (tham khảo man page của chính lệnh useradd(8) này để tìm hiểu thêm). Nếu bạn muốn chắc chắn là shell được dùng với tài khoản mới là bash thì cũng nên dùng tùy chọn này.
-u, –uid UID
Chỉ định giá trị UID (user’s ID). Bạn nên tham khảo thêm man page của useradd(8) về tùy chọn này. Tuy nhiên, trừ khi có nhu cầu đặc biệt thì bạn cũng không cần quan tâm đến tùy chọn này.
Ví dụ:
Tôi muốn tạo một tài khoản có tên đăng nhập là konqueror, thư mục home là /home/kon-ubuntu, nhóm người dùng chính là wheel, các nhóm người dùng phụ là audio, plugdev và video, shell mặc định là bash thì tôi làm như sau:
#useradd -d /home/kon-ubuntu -m -g wheel -G \ audio,plugdev,video -s /bin/bash konqueror
Lưu y’:
Tôi biết là có thể bạn đang thắc mắc là tại sao tôi không đề cập gì đến việc tạo mật mã đăng nhập cho người dùng mới. Thật ra có nhiều cách để tạo một shadow password cho một tài khoản người dùng, tuy nhiên tôi thích dùng đến lệnh passwd(1) hơn cả vì tính tiện lợi của nó. Nếu bạn đã có thể được phép tạo tài khoản người dùng trên hệ thống thì tất nhiên bạn là root hoặc là 1 sudoer được cấp quyền phù hợp rồi. Do đó bạn có thể chạy lệnh passwd(1) với 1 tham số duy nhất là tên đăng nhập của người dùng bạn muốn tạo mật mã. Với ví dụ trên, tôi chạy:
#passwd konqueror
Enter new UNIX password:
Retype new UNIX password:
Vậy là bạn đã có thể tạo xong 1 tài khoản người dùng mới và hoàn toàn có thể bắt đầu sử dụng tài khoản này. Hy vọng bạn thấy bài viết này hữu ích.
Cám ơn vì đã đọc bài viết.
Thân mến

Tháng Sáu 1, 2009 lúc 9:36 sáng
useradd nguyen la gi
Tháng Sáu 1, 2009 lúc 2:39 chiều
ý bạn là sao?