密码的创建与更改
为新用户设定密码只有root才能执行,且密码要尽可能的复杂 [0-9][a-Z][a- Z] [!@#$%^&]
交互式设置用户密码
非交互式设置用户密码
示例:批量创建一百个用户并设置相同的密码
为用户修改密码
1.为自己修改密码直接使用passwd 注意密码需要复杂一 点,并达到8位 2.为别人修改密码 (root) passwd username
密码怎么设才算复杂
示例1:随机数
示例2:mkpasswd随机生成字符串,-l设定密码长度 -d 数字 -c 小写字母 -C 大写字母 -s 特殊字符
示例3:lastpass 在线 支持 windows MacOS Iphone 浏览器插件 Android
小结:
1.为新用户添加密码 只有root权限才可以 2.为用户变更密码也只有root才可以 3.普通用户只能修改自己的密码,..无法修改其他人的密码 4.密码的修改方式有两种,一种是交互式 非交互式
用户创建的流程
在用户创建的过程需要参考 /etc/login.defs 和/etc/default/useradd 这两 个文件,默认参考. 如果在创建用户时指定了参数,则会覆盖 (默认 /etc/login.defs 和/etc/default/useradd)
图中命令执行后的内容具体介绍如下 MAIL_DIR /var/spool/mail #创建的邮箱所在的位置 PASS_MAX_DAYS 99999 #密码最长使用的天数 PASS_MIN_DAYS 0 #密码最短时间的天数 PASS_MIN_LEN 5 #密码的长度 PASS_WARN_AGE 7 #密码到期前7天警告 UID_MIN 1000 #uid 从1000开始 UID_MAX 60000 #uid从6w结束 SYS_UID_MIN 201 #系统用户的uid 从201 开始 SYS_UID_MAX 999 #系统用户的uid最大到 999 GID_MIN 1000 GID_MAX 60000 SYS_GID_MIN 201 SYS_GID_MAX 999 CREATE_HOME yes #给用户创建家目录,创建 在/home UMASK 077 USERGROUPS_ENAB yes ENCRYPT_METHOD SHA512
执行下图命令
图中显示内容具体介绍如下 #useradd defaults file GROUP=100 #当用户创建用户时不指定组,并 且/etc/login.defs中USERGROUPS_ENAB为no时, 用户默认创建给分 配一个gid为100的组. HOME=/home #用户默认的家目录 INACTIVE=-1 #用户不失效 EXPIRE= #过期时间 SHELL=/bin/bash #默认登录shell SKEL=/etc/skel #默认用户拷贝的环境变量 CREATE_MAIL_SPOOL=yes #创建邮箱
用户组的管理
1.创建组groupadd [-g GID]组名
创建系统组
创建用户后,如需使用该用户登录系统则需要为用户设定密码,设定密码使用passwd命令. 建议密码复杂一些,长度大于10,出现各种特殊字符,无任何规律(不要出现名字,电话生日)
2.修改组groupmod
-g 修改组的GID
-n 修改组名称
3.删除组groupdel
删除组 如果要删除基本组,需要先删除基本组中的用户才可以删除 该组
1.先创建一个名叫wwq的用户,默认分配了一个以wwq命名的私有组
2.再建立一个名为Wwq的用户并指定一个附加组为WWq,
3.给wwq追加两个附加组,分别为WWQ和WWq,
4.如果删除用户wwq,同时会删除他默认建立的主组wwq
5.删除WWQ这个组时,由于这个组并没有分配给其他用户使用,
此时已经是个空组,可以直接删除.
6.删除WWq这个组还被分配给了另一个用户Wwq做了基本组在删除这个组的时候无法将其直接删除.
7.先删除使用它的这个用户之后才能完成删除WWq这个组.
用户提权
1.su 切换用户 在切换用户时,必须要知道所要切换的用户的密码,因此安全性不高 2.sudo 提权 在提权之前rootyoghurt提前分配好权限,然后关联给用户使用,这种方法复杂但方便,且安全性高.
基本概念
1.交互式 需要不停的交互,例如登录一个已经创建过密码的用户时,提示需要输入密码 2.非交互式 不需要交互,例如在登录用户时不需要输入密码直接登录 3.登录式shell 需要用户名以及密码开启bash窗口 4.非登录式shell 不需要用户名和密码即可开启bash窗口
su -username 属于交互式切换用户登录shell窗口的方式 su username 属于非交互式切换用户登录shell窗口的方式
区别:两者所加载的环境变量不一样 su - username 属于登录式shell 会加载全部的环境变量 su username 属于非登录式shell 会加载部分环境变量[]很有 可能就会出现错误清空]
su切换的缺点:
需要知道切换用户的密码 不安全
PS:通常情况下公司不会让普通用户直接登录root用户,必须先登录普通用户然后在通过普通用户切换至root用户防止外界人员直接连接root用户造成破坏.
sudo提权
流程 1.事先分配好权限 2.直接关联用户
1.使用sudo定义分组,跟系统group没什么关系
User_Alias OPS = oldboy,oldgirl User_Alias DEV = alex
2.定义可执行的命令组,便于后续调用
3.使用sudo开始分配权限
4.登陆对应的用户使用 sudo -l 验证权限
2..添加两个用户, group_dev(user_a user_b) group_op(user_c user_d)
3.为四个用户分别设置密码为"12"
4.在sudo中配置相应的规则
6.检查user_a,和user_d的sudo权限
sudo执行的流程
如上图当普通用户运行sudo时,先检查/var/db/sudo下是否有时间戳文件,并检查是否过期:
1.如果未过期则检查/etc/sudoers配置文件是否有运行sudo和执行相应命令的权限,若有权限则执行命令并返回执行结果并退出sudo;如果没有权限直接退出sudo
2.如果过期则输入自己的口令,检查/etc/sudoers配置文件是否有运行sudo和执行相关命令的权限,若有权限则执行命令并返回输出结果然后退出sudo,如果无权限直接退出sudo
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/79478.html