1,Linux 用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号作用:
一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源(文件)的访问; rwx rwx r-- root root
另一方面也可以帮助用户组织文件,并为用户提供安全性保护。。。
实现用户账号的管理,要完成的工作主要有如下几个方面:
*
用户账号的添加、删除与修改。
*
用户口令的管理。
*
用户组的管理。
用户和组的关系:
用户属于组,一个用户可以属于多个组。
2, Linux环境下的账户系统文件主要在以下4个文件里。
1 , /etc/passwd, 该目录存储的是操作系统用户信息,该文件为所有用户可见
2, /etc/shadow, 括用户及被加密的密码以及其它/etc/passwd ,不能包括的信息,比如用户的有效期限等;这个文件只有root权限可以读取和操作,
组:
3, /etc/group , 内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;
4, /etc/gshadow 是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。
知识点补充:
pwconv命令 用于开启用户的投影密码。
Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中,这两个文件位于/etc目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。
投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符,有效的强化了系统的安全性。
grpconv 命令 用于开启用户组的投影密码。
用法: 直接编辑 /etc/passwd 添加用户之后。使用 pwconv命令 可以在/etc/shadow, 同步用户。
- 一、用户名文件/etc/passwd 讲解:该目录存储的是操作系统用户信息,该文件为所有用户可见
[root@localhost ~]# cat /etc/passwd
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
1,root
2, x
3, 0
4, 0
5,root
6, /root
7,/bin/bash
共7部分
1,用户名。
2,存放的是该帐号的口令,(密码)现存于/etc/shadpw/,所以现在用X表示。
3,代表用户标示号, uid 。 ( 当我们登录主机,输入帐号时,Linux识别的是一组数字,也就是uid,帐号的作用是为了人们的方便记忆), 系统保留1-1000 , root用户和伪装用户,1000以上为普通用户。
4,组 标示号,gid,。 系统保留1-1000 , root用户和伪装用户组,1000以上为普通用户组。
5, 用户名全称,这是可选的,可以不设置
6,用户的家目录。
7,用户的shell。
(sbin/nologin 不能登陆 /bin/bash)
/etc/login.defs 查看uid ,gid 范围。
id 命令, 查看 用户 id
- 二、密码文件 /etc/shadow
- /etc/passwd 和/etc/shadow 文件是互补的,
/etc/shadow 是/etc/passwd的影子文件,文件中的 记录行 与/etc/passwd中的一一对应,它由 pwconv 命令根据 /etc/passwd 中的数据自动产生。
它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用“:”隔开,文件的每行是8个冒号分割的9个域。
root:
6
6
6NcuuK4wOoORBoPCB$RNbrUDq/zeQXsl3wkOSElrCMoQw2UpaFM6B6OwEEHj49PuND5GEu/7YuW/6YrNWeZcpr0lxV3MccWChfD7fkg0::0:99999:7:::
bin::17632:0:99999:7:::
daemon::17632:0:99999:7:::
adm:*:17632:0:99999:7:::
共9个字段
1,用户名。
2,用户密码。(加密了)
3,从1970年1月1日 到 上次更改密码的时间。 17090天
4,要过多少天才可以更改密码。默认是0.即不限制.
5,密码多少天后到期。即 在多少天内必须更改密码。默认9999
6,密码到期前的预警。设置为7,即密码到期前7天时发出警告。
7,在口令过期之后多少天 禁用此用户;
8,账号的生命周期。 如果这个字段的值为空,帐号永久可用;
9,作为保留,没什么意义。
知识点补充:
1971年底出版的《Unix Programmer’s Manual》里定义的 Unix Time 是以 1971年1月1日00:00:00 作为起始时间, Unix 时间戳是一种时间表示方式,定义为从格林尼治时间 1970年01月01日 00时00分00秒 起至现在的总秒数,不考虑闰秒。
linux操作系统上的用户如果需要登录主机,当其输入用户名和密码之后,
首先在/etc/passwd文件中查找是否有你的账号,如果没有无法登录,如果有的话将该用户的UID和GID读出来,此外将此用户的shell设置也一并读出。
然后根据UID到/etc/shadow文件中去寻找相应用户的密码,如果匹配一致
进入shell控制的阶段
- 三、用户命令讲解: useradd , userdel , usermode
- 1, useradd 命令:
选项:
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;(指定家目录)
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录; (/home/user)
-M:不要自动建立用户的登入目录;
-n:取消 建立以用户名称为名的群组; ueradd test --------- test 属组 会自动被创建。
-r:建立系统帐号;
-s:指定用户登入后所使用的shell; /bin/bash
-u:指定用户id。 .