用户和用户组

it2022-05-05  106

linux是多用户的系统

用户管理相关文件

用户基本信息 /etc/passwd   

1.该文件中一行就是一个用户!

2.统计当前系统中有多少用户:     

  [root@kuying2 ~]# cat /etc/passwd | wc -l     128 3.passwd文件详解     zero:x:1000:1000:zero:/home/zero:/bin/bash     root:x:0:0:root:/root:/bin/bash

    root 用户名     x 用x进行密码占位     0 UID     0 GID     root 描述信息     /root root用户家目录,其他用户是在/home下     /bin/bash shell类型 /bin/bash是可以登录系统的;/sbin/nologin是不可以登录系统的。

  用户组信息 /etc/group     zero:x:1000:zero     root:x:0:

    root 组名     x 用x进行密码占位     0 GID   最后还有一位表示有哪些用户在此组内     如下:表示kuying用户在root组内     root:x:0:kuying

    /etc/default/useradd文件详解

  定义创建用户默认选项的文件     # useradd defaults file # useradd默认文件     GROUP=100 #表示可创建普通组     HOME=/home #用户的家目录建在/home中;用户家目录的默认创建地     INACTIVE=-1 #是否启用帐号过期停权,-1表示不启用;宽限天数,0及以下数皆为无效数字     EXPIRE= #帐号终止日期,不设置表示不启用;帐号失效日期(如:20081212)     SHELL=/bin/bash #所用SHELL的类型;登录后执行的程序     SKEL=/etc/skel #用户家目录中的环境文件,默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;

    CREATE_MAIL_SPOOL=yes #是否创建用户邮件缓冲,yes表示创建

主组和附加组     在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户    组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组     用户的基本组(主组):当前用户具有哪个组的权限     用户的附加组:用户额外属于的组linux中用户分类     超级管理员 root uid 0     系统用户 uid 1-999 运行服务     普通用户 uid 1000+ 工作中用到用户

  注意:uid只是一种规范

系统用户:     1.运行服务程序的     2.一般不让系统用户登录系统     3.系统用户无家目录

  默认的shell类型为/bin/bash

面试题:系统用户都是不可以登录系统的吗?

    错误的。在linux当中创建用户的时候默认使用的shell类型为/bin/bash是可登录系统的,     如果没有指定不可登录系统的shell类型的话。系统用户是可以登录我们的系统的。     只是说在工作中需要不让系统用户登录系统,我们在创建系统用户的时候指定系统用户的shell     类型不可登录系统。

useradd命令     作用: 创建用户     使用格式: useradd options... username

  选项:   -u 指定UID   -g 指定主组的ID   -G 指定附加组ID   -r 创建系统用户   -s 指定shell类型 /bin/bash /sbin/nologin   -c 添加描述信息

  例子1:创建普通用户kuying     [root@kuying2 ~]# useradd kuying

  例子2:创建用户并添加描述信息     [root@kuying2 ~]# useradd -c "this is for test" kuying1     [root@kuying2 ~]# tail -1 /etc/passwd     kuying1:x:1102:1102:this is for test:/home/kuying1:/bin/bash

  例子3:创建用户并指定用户ID为1105     [root@kuying2 ~]# useradd -u 1105 kuying2     [root@kuying2 ~]# tail -1 /etc/passwd     kuying2:x:1105:1105::/home/kuying2:/bin/bash

  例子4:创建用户并指定主组ID为0 #指定组的时候组必须存在!     [root@kuying2 ~]# useradd -g 0 kuying4   或者     [root@kuying2 ~]# useradd -g root kuying4

  例子5:创建用户并指定附加组ID为0 #指定组的时候组必须存在!     [root@kuying2 ~]# useradd -G 0 kuying6

  例子6:创建系统用户     [root@kuying2 ~]# useradd -r -s /sbin/nologin kuying7

    1.可以查看用户ID,发现是1000以内     2.用户家目录不会创建passwd命令     作用:设置用户密码   选项:     -l 锁住密码     -u 解锁密码     -d 删除用户密码     -e 使用户密码过期     --stdin 从标准输入获取密码

  例子1:给用户创建密码     [root@kuying2 ~]# passwd kuying     Changing password for user kuying.     New password:     BAD PASSWORD: The password is shorter than 8 characters     Retype new password:     passwd: all authentication tokuyings updated successfully.

  注意:root登录到普通用户是不需要输入密码的!     [kuying@kuying2 ~]$ su - root #从普通用户切换到root是需要输入密码的     Password:     [kuying@kuying2 ~]$ exit #输出exit退回上一次登录的用户     logout     [root@kuying2 ~]#

  例子2:锁住用户密码     [root@kuying2 ~]# passwd -l kuying     Locking password for user kuying.     passwd: Success

    [root@kuying2 ~]# su - kuying1     Last login: Thu Jul 11 15:58:44 CST 2019 on pts/0     [kuying1@kuying2 ~]$ su - kuying #普通用户在此登录输入密码之后会提示认证失败!     Password:     su: Authentication failure

  例子3:解锁用户密码     [root@kuying2 ~]# passwd -u kuying     Unlocking password for user kuying.     passwd: Success     [root@kuying2 ~]# su - kuying1     Last login: Thu Jul 11 15:59:38 CST 2019 on pts/0     [kuying1@kuying2 ~]$ su - kuying #再次输入密码登录发现可以正常登录     Password:     Last login: Thu Jul 11 15:59:34 CST 2019 on pts/0     Last failed login: Thu Jul 11 15:59:46 CST 2019 on pts/0     There was 1 failed login attempt since the last successful login.     [kuying@kuying2 ~]$

  例子4:让用户密码过期     [root@kuying2 ~]# passwd -e kuying     Expiring password for user kuying.     passwd: Success

    [kuying1@kuying2 ~]$ su - kuying     Password:     You are required to change your password immediately (root enforced)     Changing password for kuying.     (current) UNIX password: #输入当前用户密码     New password: #输入新的密码,字母+数字组合     Retype new password:

  例子5:--stdin使用格式     echo 密码 | passwd --stdin 用户名

    [root@kuying2 ~]# echo "123" | passwd --stdin kuying     Changing password for user kuying.     passwd: all authentication tokuyings updated successfully.

userdel     作用:删除用户   选项:     -r 删除用户时连同用户家目录删掉

  例子1:删除用户及家目录     [root@kuying2 ~]# userdel -r kuying6     [root@kuying2 ~]# id kuying6 #无kuying6用户了     id: kuying6: no such user     [root@kuying2 ~]# ls /home #用户家目录也无kuying6家目录     kuying kuying1 kuying2 kuying3 kuying4 kuying5 shelltest

  例子2:     [root@kuying2 ~]# userdel kuying5   #删除用户时不删除用户家目录     [root@kuying2 ~]# id kuying5     id: kuying5: no such user     [root@kuying2 ~]# ls /home #但是用户家目录依然存在     kuying kuying1 kuying2 kuying3 kuying4 kuying5 shelltest     [root@kuying2 ~]# useradd kuying5 #创建同名用户时报如下的错误     useradd: warning: the home directory already exists.     Not copying any file from skel directory into it.     Creating mailbox file: File exists

    [root@kuying2 ~]# id kuying5 #但是用户仍然创建成功了     uid=1108(kuying5) gid=1108(kuying5) groups=1108(kuying5)

  如果不想看到上面的报错信息需要如下的操作:     [root@kuying2 ~]# userdel kuying4     [root@kuying2 ~]# rm -rf /home/kuying4 #删除用户家目录     [root@kuying2 ~]# rm -rf /var/spool/mail/kuying4 #删除用户邮箱     [root@kuying2 ~]# useradd kuying4

groupadd     作用:创建用户组

  例子1:创建组     [root@kuying2 ~]# groupadd kuying9     [root@kuying2 ~]# tail -1 /etc/group     kuying9:x:1110:groupdel     作用:删除用户组   例子1:删除组     [root@kuying2 ~]# groupdel kuying9id  作用:查看用户信息     -u     -g     -G   例子1:查看用户信息     [root@kuying2 ~]# id kuying     uid=1101(kuying) gid=1101(kuying) groups=1101(kuying),0(root)     [root@kuying2 ~]# id kuying11     id: kuying11: no such usersu  作用:切换用户     注意:在切换用户的时候需要加上-进行环境变量的整体改变   例子1:切换用户     [root@kuying2 ~]# su - kuying

    /etc/shadow:用户密码信息、过期时间等     zxhk: $6$dgnPoZ0s$6xNKEWz : 17729 : 0 : 99999 : 7 : : :    第一段:用户名:     第二段:加密后的密码     第三段:上次修改密码举例元年经过的天数1970年1月1日(如果该字段空,意味着该用户密码被禁用)     第四段:密码最短使用时间(0表示不限制)     第五段:密码最长有效期(99999表示不限制)(如果第5的值小于第四段,那么用户无法修改自己的密码)     第六段:密码到期前几天开始发送告警,提示密码即将过去,请立即修改     第七段:非活动期间,密码到期后的宽限时间(登录系统的时候必须先修改密码,才能登录)     第八段:密码过期时间(也是举例计算机元年经过的天数)(这里和前面的几个时间没有联系)     第九段:保留字段

usermod     作用:修改用户信息   选项:     -u 指定UID     -g 指定主组的ID     -G 指定附加组ID     -s 指定shell类型 /bin/bash /sbin/nologin     -L, –lock: 锁定用户的密码     -U : 解锁用户的密码     -l, –login NEW_LOGIN : 变 更 使 用 者 login 时 的 名 称 为 login_name 。     -e, –expiredate EXPIRE_DATE:加 上 使 用 者 帐 号 停 止 日 期 。 日 期 格 式 为 MM/DD/YY.

/etc/shadow:用户组密码 /etc/default/useradd:创建用户的默认配置信息 /etc/skel/:用户家目录模板 /etc/login.defs:全局用户设定信息

转载于:https://www.cnblogs.com/biht/p/11181727.html


最新回复(0)