本文介绍在Linux系统中创建用户帐户的三种方法:使用useradd、adduser、newusers命令,其中可以使用带脚本的useradd命令在Linux中创建批量用户帐户。
前言 用户帐户创建是每个Linux系统管理员必会的基本操作,每当新员工加入我们的组织时,我们都需要执行此任务。 如果Linux系统与AD集成以进行单点登录(SSO),则无需为新员工创建帐户。但是,你需要根据其角色和部门在相应的本地组中分配用户。 每个人都知道用户信息驻留在/etc/passwd文件中,它是一个文本文件,包含有关每个用户的基本信息,当我们创建新用户时,新用户详细信息将附加到此文件中。 在创建新用户时,将修改以下四个文件: /etc/passwd:用户详细信息将在此文件中更新。 /etc/shadow:用户密码信息将在此文件中更新。 /etc/group:将更新此文件中新用户的组详细信息。 /etc/gshadow:将更新文件中新用户的组密码信息。 它可以通过三个命令完成: useradd:创建新用户或更新默认新用户信息。 adduser:使用所有默认参数创建新用户或更新默认新用户信息。 newusers:批量更新和创建新用户。
一、在Linux中使用useradd命令创建用户帐户 useradd命令使用在useradd -D命令输出中指定的默认值创建新用户帐户。 useradd命令将更新系统文件,并创建新用户的主目录并复制初始文件: # useradd thanu 如果你创建新帐户,则应将密码设置为该帐户,使用passwd命令设置密码: # echo "new_password" | passwd --stdin thanu Changing password for user thanu. passwd: all authentication tokens updated successfully. 设置复杂密码的参考文章:在Ubuntu/Debian系统中强制执行强大的用户密码策略。
二、使用adduser命令在Linux中创建用户帐户 adduser不是标准的Linux命令,它创建一个具有所有默认参数的新用户,这些参数在useradd命令中不可用,但是,它在后台使用useradd命令来执行此任务。 此外,它还在创建时为用户添加密码: # adduser renu Adding user `renu' ... Adding new group `renu' (1002) ... Adding new user `renu' (1002) with group `renu' ... Creating home directory `/home/renu' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for renu Enter the new value, or press ENTER for the default Full Name []: Renu Room Number []: Work Phone []: 9600106327 Home Phone []: Other []: Is the information correct? [Y/n] Y 关于强密码的设置参考:在Linux系统终端中生成随机强密码的方法。
三、在Linux中使用newusers命令创建批量用户帐户 newusers命令读取给定文件并使用此信息更新一组现有用户或创建新用户,每行的格式与标准密码文件的格式相同。 在执行此操作之前,我们需要从passwd文件中获取最新的GID和UID: # tail -5 /etc/passwd gdm:x:121:125:Gnome Display Manager:/var/lib/gdm3:/bin/false daygeek:x:1000:1000:daygeek,,,:/home/daygeek:/bin/bash sshd:x:122:65534::/run/sshd:/usr/sbin/nologin thanu:x:1001:1001::/home/thanu:/bin/sh renu:x:1002:1002:Renu,,9600106327,:/home/renu:/bin/bash 创建一个名为user-add.txt的文件,其详细信息应采用以下格式,每个用户行应该在单独的行中: User_Name:Password:UID:GID:Comments:User_Home_Directory:Users_Shell_Name 我在文件中添加了五个用户,使用cat命令列出用户: # cat user-list.txt 2gadmin:2gadmin123:1003:1003::/home/2gadmin:/bin/bash testuser:testuser123:1004:1004::/home/testuser:/bin/bash demouser:demouser123:1005:1005::/home/demouser:/bin/bash sudha:sudha123:1006:1006::/home/sudha:/bin/bash suresh:suresh123:1007:1007::/home/suresh:/bin/bash 使用文件名运行newusers命令以在Linux系统中创建批量用户: # newusers user-list.txt 我们可以通过运行以下命令来双重确认: # grep "2gadmin\|testuser\|demouser\|sudha\|suresh" /etc/passwd 2gadmin:x:1003:1003::/home/2gadmin:/bin/bash testuser:x:1004:1004::/home/testuser:/bin/bash demouser:x:1005:1005::/home/demouser:/bin/bash sudha:x:1006:1006::/home/sudha:/bin/bash suresh:x:1007:1007::/home/suresh:/bin/bash
四、使用带脚本的useradd命令在Linux中创建批量用户帐户 如果要在Linux系统中创建多个用户,请使用以下脚本。 我在文件中添加了以下三个用户,使用任何文件命令列出文件中的用户: # cat user-list1.txt user1 user2 user3 创建以下小shell脚本来实现此目的: # vi user-add.sh #!/bin/sh for user in `more user-list1.txt` do echo "$user" useradd $user echo "$user@123" | passwd --stdin "$user" chage -d 0 $user done 为user-add.sh文件设置可执行权限: # chmod +x user-add.sh 最后运行脚本来实现这一目标: # sh user-add.sh user1 Changing password for user user1. passwd: all authentication tokens updated successfully. user2 Changing password for user user2. passwd: all authentication tokens updated successfully. user3 Changing password for user user3. passwd: all authentication tokens updated successfully. 我们可以通过运行以下命令来双重确认: # grep "user1\|user2\|user3" /etc/passwd user1:x:1008:1008::/home/user1:/bin/sh user2:x:1009:1009::/home/user2:/bin/sh user3:x:1010:1010::/home/user3:/bin/sh 至此,目的达到。
相关主题 |