用户管理相关文件
[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
