Giới thiệu lệnh trong GNU/Linux — useradd(8)

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:

groupadd(8)

groupmod(8)

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 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

6 phản hồi to “Giới thiệu lệnh trong GNU/Linux — useradd(8)”

  1. ee Says:

    useradd nguyen la gi

  2. St.Konqueror Says:

    ý bạn là sao?

  3. rtttrf Says:

    bài viết quá sơ xài, còn quá nhiều đối số chưa làm rõ, muốn khoe tài thì học thêm đi.

    • tuantub Says:

      @rttrf: Bồ có thể đọc lại tiêu đề bài viết và ngẫm nghĩ, thế nào gọi là “giới thiệu” ? rồi hẵng đánh giá bài viết.
      Nếu bồ thấy viết bài tức là khoe tài thì có thể coi lại định nghĩa từ “Blog” rồi nói chiện tiếp😉.
      Thế nhé😉

    • stk Says:

      @rtttrf: Bài này cũng như blog này tớ viết cho vui là chính chứ chả được trả lương để mà phải “khoe tài” đâu bồ. Loạt bài này, tớ viết với ý định giới thiệu sơ qua một số lệnh hữu ích trong Linux cho mọi người. Tuy vậy, các lệnh này đều có thể tra cứu dễ dàng bằng man hoặc info, và Internet, do vậy tớ không đi sâu vào phân tích hết tất cả các flags của từng lệnh vì như vậy chẳng thà dịch luôn man page rồi đóng góp upstream. Thay vào đó, tớ viết với mục đích giới thiệu và minh họa là chính.🙂

      Rất cám ơn rttrf đã quan tâm đến blog của anh em tớ.🙂
      Bồ cũng ở TP. HCM phải không? Hôm nào tớ mời bồ ly cà phê để làm quen.🙂

      @tuantub: Hehe, không sao mà anh. Mỗi người một quan điểm.🙂

  4. Eddy_David@aol.com Says:

    Đối với những ngươi mới học như tôi, thì tôi thấy bấy nhiêu kiến thức đó là đủ rồi. cảm ơn chủ topic


Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: