linux用户,组管理
用户的登陆过程:
用户要使用linux系统,必须先进行登陆,linux的登陆过程和Windows登陆过程类似,登陆的过程包括以下几个步骤
1.当linux系统正常引导启动完成后,系统就可以正常接纳用户登陆,用户界面会显示“login:”提示符。如果是图形界面就会显示用户登陆窗口
2.用户输入用户后系统会检查/etc/passwd是否有该用户,存在则进入下一步,不存在则退出
3.首先读取/etc/passwd中的用户id和组id,同时该用户的其他信息也会一并读取出来
4.用户输入密码以后,系统通过检查/etc/shadow来判断用户密码是否正确,如果密码校验正确则显示用户的默认shell完成登陆。用户shell的类型由?/etc/passwd文件来决定。
用户的类型
linux系统的用户类型分为三类
系统用户:正常运行系统所使用的账户,比如某一个进程 系统用户是不能登陆的
管理员用户:root用户,拥有系统的一切权限
普通用户:普通的使用者,能使用linux的大部分资源
linux会给每个用户一个二进制数字来标识用户:0-65535
各个不同用户类型使用不同段的id来标识:管理员的为0 普通用户为1-65635,其中系统用户为1-499这是centos7以下的版本,centos为1-999;普通用户为500-60000 centos7则为1000-60000
linux系统用户的认证方式是事先存储然后登陆时进行比对信息是否一致.这里会分别对用户的id和密码在/etc/passwd和/etc/shadow文件
/etc/passwd
该文件为纯文本格式,只有root用户能读取 每个字符段用:号隔开。一共分七个字段
root:x:0:0:root:/root:/bin/bash
分别对应的是:用户名:密码:UID:GID: 相关注释:家目录:使用的shell
(如果用户第一行为*的话表示该用户为禁用)
/etc/shadow
该文件也为文本格式,也只有root用户能读取到;和/etc/passwd文件相似分为九个字段
root:$6$9zNMhBI08X3AD3wE$Urd3TwfeedV0IZI2hlyy54RRikcemVQ1z6lme1w7GQja9tb74DwGIgFwA5EUhQ0LJGDFBCIYK7S90CjQesrVc/::0:99999:7:::
每个字段分别对应的是:用户名:加密后的密码:上次修改密码的时间:密码最短使用天数:密码的最长使用天数:密码警告期:过期期限:保留字段
密码的使用策略:
1、使用随机密码;
2、最短长度不要低于8位;
3、应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类;
4、定期更换;
用户组
用户组是用户的容器每个用户都有一个属于自己的私有组。
用户组的分类有三种
1.按权限:管理员组,普通用户组(包含有登陆组和系统组)
2.按组的类别:用户的基本组,用户的附加组(用户可以属于一个基本组和多个附加组)
3.类别:私有组(组名和用户名相同,且之包含一个用户),公共组(组内包含了多个用户)
用户组的文件也有两种:/etc/group,/etc/gshadow
/etc/group:
保存用户组的所有信息,格式同上,只有四个字段
root:x:0:
对应的是:用户组名:用户组密码:用户组标识:组内用户列表
密码的加密算法
linux用户的密码的加密算法是属于单向加密,只能加密不能解密,释以提取数据特征码的形式进行加密的。密码常见的算法有MD5,sha,sha224,sha256…..
linux用户和组的管理命令
用户管理命令
useradd:创建用户 sueradd [选项] 登陆名 -u:指定UID -g:指定GID -G:指明用户的附加组,多个附加组之间用逗号隔开 -c:指明注释信息 -d:以指定路径为用户的家目录,通过复制/etc/skel此目录并重命名实现,指定的家目录如果实现存在则不会为用户复制配置环境文件 -s:为用户指定默认shell,可用的shell列表存储在/etc/shells文件中 -r:创建系统用户 -D:显示创建用户的默认配置 sueradd -D 选项:修改默认选项的值 注意:创建用户是的诸多默认设定配置文件为/etc/login.defs usermod:修改用户属性 usermod [选项] 登录名 -u:修改用户id为此处指定的新id -g:修改用户所属的基本朱 -G [GROUP1] [GROUP2]:修改用户所属的附加组,原来的附加组会被覆盖 -a:与-G一同使用,表示为用户追加附加组 -c:修改注释信息 -d:自该用户的家目录,用户原有文件不会被转移覆盖 -m:只能与-d一同使用,用于将原来的家目录移动为新的家目录 -l:修改用户名 -s:修改用户默认shell -L:锁定用户密码,即在用户原来的密码字符串之前添加一个! -U:锁定用户的密码 suerdel:删除用户 userdel [选项] 登录名 -r:删除用户时一并删除其家目录 passwd:修改密码 passwd:修改用户自己的密码 passwd USERNAME:修改指定用户的密码,只有root有此权限 -l,-u:锁定和解锁用户 -a:清楚用户密码串 -e DAYS:过期期限 -i DAYS:非活动期限 -n DAYS:密码的最短使用期限 -x DAYS:密码的最长使用期限 -w DAYS:警告期限 --stdin:echo “PASSWORD” | passwd --stdin USERNAME gpasswd:修改组密码 gpasswd [选项] GROUP -a USERNAME:向组中添加用户 -d USERNAME:从组中移除用户 newgrp:临时切换到指定的组为基本组 newgrp [-] [group] -:会模用户重新登录以实现初始化其工作环境 chage:更改用户密码过期信息 cheage -[d E W m M] 登录名 id:显示用户的组和有效id id [OPTION] ....[USER] -u:仅显示有效的UID -g:仅显示有效的GID -G:仅显示用户所属的所有组ID -n:显示名字而非ID su:用户切换 登录式切换:会通过读取目标用户的配置文件来重新初始化 su - USERNAME su -l USERNAME 非登录式切换:不会读取用户配置信息进行初始化 注:管理员可屋密码切换至任何用户 -c ‘COMAND’:以指定用户的身份运行此处指定的命令
练习1:创建用户gentoo,UID为4001,基本组为gentoo,附加组为distro(GID为5000)和peguin(GID为5001);
groupadd -g 5000 distro
groupadd -g 5001 peguin
useradd -u 4001 -G distro,peguin
练习2:创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tcsh;
useradd -c Fdeora -s tash
练习3:修改gentoo用户的家目录为/var/tmp/gentoo;要求其原有文件仍能被用户访问;
usermod -d /var/tmp/gentoo gentoo
练习4:为gentoo新增附加组netadmin;
usermod -Ga netadmin gentoo
原创文章,作者:N24-执念,如若转载,请注明出处:http://www.178linux.com/64216