CentOS用户和组的基础概念和基本命令,centos用户基础概念数据相同:加密结果相


用户组:


组类别:


管理员组


普通用户组


系统组


登录组


组标识:GroupID, GroupID

(普通用户1-65536)

管理员组:0


普通用户组:


系统组:


CentOS 5,6: 1-499


CentOS 7: 1-999


登录组:


CentOS 5,6: 500+


CentOS 7: 1000+


名称解析:groupname <--> gid


解析库:/etc/group


组类别:以用户为核心


用户的主组:基本组;-----》用户的容器,能够将多个用户形成一个逻辑概念,逻辑组件


用户的附加组:额外组;


组类别:根据组内容纳的用户来划分


私有组:与用户名相同,且只有一个此用户;


公共组:组内包含了多个用户;


认证机制:验正用户的确是他所声称的人;


通过对比事先存储的,与登录时所提供的信息是否一致;


存储于何处:


用户的认证信息库:/etc/shadow --》影子化了的密码文件


组的认证信息库:/etc/gshadow


密码:加密存放,使用单向加密机制;


单向加密:仅能加密,不能解密;提取数据特征码;加密解密使用同一个密码。


数据相同:加密结果相同;


定长输出:


雪崩效应:


算法:


md5: message digest, 128bits


sha1: secure hash algorithm, 160bits


sha224


sha256


sha384


sha512


添加salt:取随机数;下图操作添加centos和gentoo用户,密码都是123456,但是在/etc/shadow显示的密码信息却是不一样的,是因为在计算的时候加 了salt.防止一样带来的不安全风险


随机数:


熵池:


伪随机数:软件模拟产生;


/dev/random:仅从熵池返回随机数,随机数耗尽时会阻塞进程;


/dev/urandom:先从熵池返回随机数,熵池耗尽时,则从伪随机数生成器返回随机数;

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

用户信息库 /etc/passwd

hehe:用户名

x:可以密码 ,影子口令,也可以为占位符,早些时候在这里存放,现在放在/etc/shadow

501:用户ID,UID

501:用户组ID,GID。用户所属的主组的ID号

/home/hehe : 用户家目录

/bin/bash :用户登录时默认的shell

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


安全上下文:


进程:以某个用户的身份运行,进程对资源的操作权限取决于它所代表的用户;


文件:权限模型


属主:owner


属组:group


其它:other


权限模型生效的机制:


进程的运行者:


是否与文件的属主相同,如果是,则以文件属主的身份来访问此文件;否则


是否属于文件的属组,如果是,则以文件属组的身份来访问此文件;否则


以文件的其它用户的身份来访问此文件;


用户和组的管理:


主要以命令进行:


组:groupadd, groupmod, groupdel


用户:useradd, usermod, userdel


认证:passwd


组解析库文件:/etc/group


GRPNAME:x:GID:user1, user2, ...


组名:密码点位符:GID:以此组为附加组的用户列表,以逗号分隔


groupadd命令:添加组


groupadd [选项] group


-g GID:指明GID;


-r, --system:系统组;


groupmod命令:修改组信息


groupmod [选项] GROUP


-g GID


-n NEW_NAME:修改组名;


groupdel命令:删除组


groupdel [选项] GROUP


用户解析库:/etc/passwd


name:password:UID:GID:GECOS:directory:shell


useradd命令:添加用户


useradd [选项] 登录名


-c, --comment COMMENT:注释信息,一般为Full Name;


-d, --home /PATH/TO/HOME_DIR:家目录路径;目标路径不能事先存在,否则会有警告,不会得利skel相关的文件给用户;


-g, --gid GROUP:用户的基本组组名或GID;


-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:用户所属的附加组列表,彼此间用逗号隔开,中间没有空格;


-m, --create-home:强制创建家目录;


-M:不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes;


-r, --system:创建一个系统账户


-s, --shell SHELL:用户的登录 shell 名,默认为留空,让系统根据 /etc/default/useradd 中的 SHELL 变量选择默认的登录shell;


-u, --uid UID:用户 ID 的数字值。此值必须为唯一的,除非使用了 -o 选项。此值必须非负,默认使用大于等于UID_MIN,且大于任何其他用户 ID 最小值。


注意:创建登录用户时,为其自定义的shell程序必须为可登录shell,且要位于/etc/shells文件中;


useradd -D:显示创建用户时的默认设置;


useradd -D 选项:设置某默认选项;


GROUP=100 :创建用户时要不要添加一个用户同名的私有组


HOME=/home :用户创建时尤其是不是系统组的时候要不要创建家目录,如果创建的话家目录所在的位置


INACTIVE=-1:非活动期限为禁用 -1


EXPIRE=:过期期限为 没有时间表示永不过期


SHELL=/bin/bash:默认shell


SKEL=/etc/skel:从哪里去复制用户的骨架信息


CREATE_MAIL_SPOOL=yes:没创建一个用户,在var/spool设置一个邮筒

-e, --expiredate EXPIRE_DATE:用户账号的过期期限;过期后会被锁定;日期以 YYYY-MM-DD 格式指定


-f, --inactive INACTIVE:密码过期后,账户被彻底禁用之前的天数。0 表示立即禁用,-1 表示禁用这个功能。


为用户提供默认配置的配置文件:


/etc/login.defs, /etc/default/useradd


影子口令文件:/etc/shadow


登录名:密码:最近一次的修改时间:密码的最短使用期限:密码最长使用期限:提前警告的天数:非活动期限:账号的禁用日期:保留字段


密码:$加密算法$salt$加密的密码字符串


usermod命令:修改账号信息


-c, --comment COMMENT


-d, --home HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的文件会移动到新目录中;


-g, --gid GROUP


-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加新的附加组;


-l, --login NEW_LOGIN:修改当前用户的用户名;


-s, --shell SHELL


-u, --uid UID


-L, --lock:锁定用户的密码。这会在用户加密的密码之前放置一个“!”


-U, --unlock:解锁用户的密码。这将移除加密的密码之前的“!”


userdel命令:删除用户账号


userdel [选项] 登录名


-r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除


passwd命令:密码管理命令


passwd [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [--stdin] [username]


(1) passwd:修改自己的密码;


(2) passwd username:修改其它用户的密码,仅root有此权限;


密码复杂度:


(1) 不能少于8个字符;


(2) 不能使用与过去的密码太相似的密码;


(3) 应该使用四类字符中的至少三类;


选项:


-l:锁定密码


-u:解锁解密


-d:清除密码


--stdin:从标准输入接收密码;


echo "PASSWORD" | passwd --stdin USERNAME


id命令:查看用户相关的id信息;


id [OPTION]... [USER]


-u:仅查看uid


-g:仅查看gid


-G:查看所属的所有组的ID;


-n:显示名称,而非ID;


su命令:switch user


切换用户时:


(1) 不读取目标用户的配置文件(非登录式切换,半切换);


su USERNAME


(2) 读取目标用户的配置文件(登录式切换,完全切换);


su -l USEcRNAME


su - USERNAME


-c command, --command=command:仅以指定的用户的身份运行此处指定的命令,而不执行真正的身份切换操作;


注意:root切换至任何其它用户无须认证密码;普通用户切换至其它用户,都需要密码;


gpasswd命令:为组添加密码


组密码文件:/etc/gshadow


gpasswd [选项] group


-a USERNAME:把用户添加至组中;


-d USERNAME:从此组中移除此用户;

相关内容

    暂无相关文章