Linux之用户管理与权限控制(2)

实例一:

[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/bash

B、批量创建用户

[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/bash

C、复制/etc/skel下文件到用户家目录

[root@localhost ~]# cp /etc/skel/.[^.]* /home/user1 [root@localhost ~]# cp /etc/skel/.[^.]* /home/user2 [root@localhost ~]# cp /etc/skel/.[^.]* /home/user3

D、创建密码文件passwd.txt(格式===> 用户名:密码)

[root@localhost ~]# vim passwd.txt user1:young user2:young user3:young

E、批量修改密码

[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文件中,取消密码前面的!号

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14364.html