实例一:
[root@localhost ~]# useradd -u 1003 -c "TestUser" -d /home/geek -s /bin/sh geek [root@localhost ~]# getent passwd geek geek:x:1003:1003:TestUser:/home/geek:/bin/sh实例二:
[root@localhost ~]# useradd sys -r -M -g 1001 -G root [root@localhost ~]# getent passwd sys sys:x:498:1001::/home/sys:/bin/bash [root@localhost ~]# id sys uid=498(sys) gid=1001(young) groups=1001(young),0(root)注:useradd命令加参数-D参看系统的默认值:
# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes解释: 1)新用户添加到GID为100的公共组 2)新用户的HOME目录将会位于/homoe/username 3)新用户账户密码在过期后不会被禁用 4)新用户账户未被设置为某个日期后就过期 5)新用户账户将bash shell作为默认shell 6)系统会将/etc/skel目录下的内容复制到用户的HOME目录下 7)系统为该用户账户在mail目录下创建一个用于接收邮件的文件 修改: useradd –D -s SHELL useradd –D –b BASE_DIR useradd –D –g GROUP
如 #useradd -D -s /bin/tsch ,修改默认的shell为/bin/tsch。
倒数第2个值很有意思。useradd命令允许管理员创建一个默认的HOME目录配置,然后把它作为创建新用户HOME目录的模板。这样,就能自动在每个新用户的HOME目录里放置默认的系统文件。在Ubuntu Linux系统上,/etc/skel目录下有下列文件:
[root@localhost ~]# ls -A /etc/skel .bash_logout .bash_profile .bashrc此上文件不复制进去用户命令提示符等会缺失。
/etc/login.defs文件也是新建用户属性的配置文件。
b、newusers与chpasswd
newusers命令用来批量创建用户
chpasswd用来批量修改密码
批量创建用户并修改密码
A、创建用户列表user.txt(文件格式与/etc/passwd相同)
[root@localhost ~]# vim users.txt user1:x:600:600::/home/user1:/bin/bash user2:x:601:601::/home/user2:/bin/bash user3:x:602:602::/home/user3:/bin/bashB、批量创建用户
[root@localhost ~]# newusers users.txt [root@localhost ~]# tail -3 /etc/passwd user1:x:600:600::/home/user1:/bin/bash user2:x:601:601::/home/user2:/bin/bash user3:x:602:602::/home/user3:/bin/bashC、复制/etc/skel下文件到用户家目录
[root@localhost ~]# cp /etc/skel/.[^.]* /home/user1 [root@localhost ~]# cp /etc/skel/.[^.]* /home/user2 [root@localhost ~]# cp /etc/skel/.[^.]* /home/user3D、创建密码文件passwd.txt(格式===> 用户名:密码)
[root@localhost ~]# vim passwd.txt user1:young user2:young user3:youngE、批量修改密码
[root@localhost ~]# cat passwd.txt | chpasswd查看:
[root@localhost ~]# tail -3 /etc/shadow user1:$6$9w3Hm/gYw$fVQMOyaJxzR9yBSbmPlZY8DKHb2BLGPAVxmFqJsN4rTGYao5B4TRZW/i7z1UgWF/mNI6jJ45bbD4vZtJhIYu50:17166:0:99999:7::: user2:$6$9pXcj/.LREq/OK$M8tY6gpxKliOgnKG/N7H0oiuD88RAbB7BM/94UlDWlefXsTqyYReYk96FK6mofd2quYHXA7mID3q5nBgqYHjL0:17166:0:99999:7::: user3:$6$lxmzw4KcEA/hfm6$nrc9rLSwM4JXfLOm7p2a1CqWB8Y5fgioU3DctpvfIw1.A6iqDy0aADGkReT1FVJhOubRC3l2iUUq8PwnJx9HK0:17166:0:99999:7:::测试:
[root@localhost ~]# su - user1 [user1@localhost ~]$ su - user2 Password: [user2@localhost ~]$c、usermod
usermod命令可实现用户属性修改。
usermod - modify a user account synopsis: usermod [options] LOGIN options: -u : 修改用户UID -g : 修改用户GID -c : 修改用户的注释信息 -d : 修改用户家目录,需要配合使用-m选项才会自动复制用户家目录下的文件到新的家目录 -m : move-home to new directory -s : 修改用户的shell -l : 修改用户的登陆名,即login名称 -G : 修改用户的附加组信息,需要配合-a(append)一起使用,如果不使用-a将删除原来的附加组 -a : --append,连接多个附加组的参数 -L : 锁定用户,即lock,在/etcpasswd文件中,密码前面加!(一个) -U : 解锁用户,即unlock,在/etc/passwd文件中,取消密码前面的!号