第六节——用户和用户组管理 本文共有60853个字,关键词: 没有用户名,只有密码的认证方式称为token 有用户名(ID)和密码,通常称为认证identity(username/passwd) 用户的主要作用是实现资源的分配 资源的分配有三个层次,也称为3A概念 authentication 认证(识别用户) authorzation 授权 accouting 审计 对于linux来讲,用户有两类: 管理员:root ID:0 普通用户: ID 1-65535 系统用户 ID 1-499守护进程获取资源进行权限分配 登录用户 ID [500+ 交互式登录的用户 linux组:groupname/GID 管理员组:root 0 普通组: 系统组:1-499 centOS7为1-999 普通组:[500+ centOS7为[1000+ 组用以实现将用户和某一类权限建立联系。 linux的安全上下文: 我们操作计算机是依靠运行程序实现的,进程是以发起者的身份运行的,文件的权限位会对进程的发起者限制,这一概念为linux进程的安全上下文,一个进程能够访问多少资源取决于进程发起者的身份。 我们站在用户的角度,linux中的组有两类: 用户的基本组,组名同用户名,仅包含一个组,为私有组。 用户的附加组,额外组。 linux中同用户和组相关的配置文件: /etc/passwd 用户及其属性信息 /etc/group 用户组及其属性信息 /etc/shadow 用户密码及其属性信息 /etc/gshadow 组密码及其相关属性 /etc/passwd下的7个字段: 用户名:密码:UID:GID:GES(用户附加信息):家目录:默认shell /etc/group下的四个字段 组名:组密码占位符:组ID:以当前组为附加组用户的列表 /etc/shadow 9个字段 用户名: 加密密码:使用单项加密原理,MD5算法,记录了加密方式和加入的杂质 最近一次修改密码的时间:从1970.01.01 00:00至今过去的完整天数 密码最小使用期限: 密码最大使用期限: 密码警告时间: 密码禁用期: 账号过期日期: 保留字段 #md5sum file 提取特征码 md5(message digest 5) 输出定长为128bit #sha1sum file 提取特征码 #sha244sum file提取244位的特征码 #sha512sum file 提取512位的特征码 单项加密具有雪崩效应,初始条件的微小改变,将会导致结果的巨大变化 $6$salt$............. 6为加密算法 salt为杂质,为了避免使用相同密码的单项加密结果相同,被猜出密码,所以引入了salt。 密码的复杂策略性: 一是使用大小写字母、数字、特殊字符中的至少三种 二是使用足够的长度 三是不使用易猜测的密码 四是定期更换密码,不要使用曾使用过的密码。 用户和组管理的命令: 用户的创建useradd #useradd [option] login name 创建用户时会自动创建一个和用户同名的组,叫做私有组,linux禁止空密码用户登录,在/etc/shadow第二列表现为有两个感叹号’!!’附加在用户密码串前面。 -u 指定UID,[UID_MIN,UID_MAX],定义在/etc/login.defs中,如果不指定UID,则从已存在的最大UID开始+1自动指定。 -g 指明用户所属的基本组,可为组名,也可为GID -c 添加用户的注释信息,可以为任意字符,有空格时应当用引号引起来。 -d 指明家目录位置,不指定时在/home下创建一个与用户名同名的目录。 如果指定的目录已经存在,则不会从/etc/skel中复制文件(模板文件),每个用户在创建时会在/home目录下创建一个与用户名同名的目录,并从/etc/skel中复制文件,这些模板文件定义了用户的环境。 -s 指明用户的默认shell,不指明则有缺省值,添加用户的缺省值在/etc/default/useradd中定义 -G 为用户指明附加组,可以有多个,使用逗号隔开,需要注意的是,这些组事先都应存在。 -D 修改添加用户的默认值,会修改/etc/defaultuaeradd文件 -s 修改默认shell -g 指定用户的基本组,指定后所有之后创建用户的基本组都一样。 -f 账号禁用期时间,宽限期、非活动期。 -r 创建系统用户,centOS6 ID小于500,centOS7 ID小于1000 #groupadd [option] group_name 创建组 -g 指定GID,范围在/etc/default/useradd中修改 #id username 显示用户的真实的有效的ID和组的信息 -u 显示用户的UID -g 显示用户GID,只显示基本组ID -G 显示用户所有组的组ID(基本组和附加组) -n 显示用户的名称、组名称 #su [option] [-] [user[args]] switch user切换用户或者以另外一个身份执行命令 su USERNAME 非登录式切换,不读取目标用户的配置信息 su – USERNAME 登录式切换,会读取目标用户的配置文件,是完全切换 root用户切换到其他用户不需要密码 #su [-] username –c ‘COMMAND’ -l 相当于‘-’,表示登录式切换,即读取配置文件切换。 用户的属性修改: #usermod [option] [login_name] -u 指定新的UID -g 指定新的GID -G 指定新的附加组,原来的附加组会被覆盖, -a(appead) 追加 -G–a 追加附加组 -s 修改默认shell -c 修改新的注释信息 -d /path/to/home 指定新的家目录,不会创建目录,但是原目录中的文件不移动,且普通用户修改家目录后,原家目录不能进行访问,如果要同时移动文件,需要使用-m选项,创建目录并移动。 -l login_name 指定新的名字 -L lock锁定指定用户,在/etc/passwd文件密码列前加一个感叹号。 -U unlock解锁指定用户 -e 账户被禁用的日期YY-MM-DD格式 给用户添加密码: #passwd username 给指定用户添加密码,如果不指定参数则默认为当前用户修改密码。 -l 锁定用户 -u 解锁用户 -n 密码最短使用期限 -x 密码最长使用期限 -w warndays 提前多少天警告用户修改密码 -i inactivedays非活动期限(密码过期后的宽限期) --stdin 从标准输入接受密码,不再是交互式界面,成功与否都有信息输出,如果不想看可以将信息定向到/dev/null /dev/null 数据黑洞 /dev/zero 零生成器,要多少有多少 root用户能够添加修改其他用户密码 普通用户只能够修改自己的密码 没有密码的用户不能修改密码 passwd命令操作的是/etc/shadow文件 删除用户: #userdel [option]... login_name 删除指定用户 -r 删除用户的家目录 组信息修改: #groupmod [option]... group_name 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 基础笔记二 2017-03-22 评论 2609 次浏览