第七讲:用户和用户组管理

来源:互联网 发布:下载语音软件 编辑:程序博客网 时间:2024/05/22 13:25

这里写图片描述

这里写图片描述

【7.1.用户配置文件分为三种】
1 — 用户信息文件/etc/passwd

为什么要介绍配置文件(与linux的用户管理有关)?    与windows的用户管理不同,windows下只有一个用户,而在linux下有很多个用户,如果不进行用户管理,假设权限都是root权限的话,想想都可怕,因此在linux中主要通过用户配置文件来查看和修改用户的信息。注:查看配置文件的命令,man 5 passwd(此处不能是绝对路径/ect/passwd)

这里写图片描述
这里写图片描述

用vim /etc/passwd打开配置文件后,看上图,发现共七个字段,字段之间用冒号分隔。下面介绍每个字段的含义:(1)root:用户名(2)x:表示root用户有密码,(具体密码以“密文”的形式存放在/etc/shadow中)(30UIDUSER ID用户ID,即数字标识,(内核可以通过ID来调用)    0——超级用户,管理员    1-499——系统用户(伪用户)    500-65535——普通用户注1:在linux中,如果想把普通用户变成超级用户,那么就把该普通用户的UID改成0.注2:伪用户介绍——伪用户不能登录且不能删除,如果删除,相应的服务功能也会被删除,linux系统会直接崩溃,因为很多服务等会调用伪用户的服务功能。(40GID即用户初始组ID    初始组(主组):在创建用户时,该用户都有一个初始组。每个用户都只能有一个初始组,可以改,但是一般不要改。    附加组:一个用户可以加入多个组,拥有多个组的权限。(5Jake:用户说明,或者说是备注(6)root:家目录    普通用户的家目录:/home/用户名/    超级用户的家目录:/root/注解:初始登录位置就叫做这个系统的“家”,家目录是固定的。(7)登陆之后的shell (shell命令解释器)    注:普通用户都要在/bin/bash下才能正常登陆,执行命令    伪用户是/sbin/nologin/下

2 — 影子文件 /etc/shadow
shadow影子
vim /etc/shadow
这里写图片描述

1)root:用户名(2)加密密码    如果密码是*或者!!,表示没有密码,用户不能登陆(316066:密码最后一次修改时间        从197011日开始,之后的第16066天把时间戳换算成日期    data -d "1970-01-01 16066 days"把日期换算成时间戳    echo $(($(data --data="2017/05/12"+%s)/86400+1))(40:两次密码的修改间隔        若为10,表示修改完密码后,10天后才能再修改密码(599999:密码有效期(67:密码到期前7天,每次登陆都要警告“你要改密码”(7)密码过期后的宽限天数    0:表示过期后会立即失效    -1:表示过期后永远不会失效(8)账号失效时间    要用时间戳表示(9)保留

3 — 组信息文件 /etc/group和组密码文件/etc/gshdow

vim /etc/group
这里写图片描述

四个字段:    组名,组密码,GID即组ID,组中的附加用户

/etc/gshdow
这里写图片描述这里写图片描述

四个字段:组名,组密码,组管理员用户名,组中附加用户注解:发现一般情况下,组都没有组密码。组密码用的并不多,也不推荐使用,会带来安全性问题。    需要组密码干什么呢? 答:root太忙了,就会给一个组设置组密码,在从组中选出一个(组长:拥有root权限),让组长代替root执行root的功能

===================================================

【7.2用户管理的相关信息】

1.用户的家目录(添加用户时,默认自动生成。)    普通用户的家目录$:/home/用户名/,所有者所属组都是此用户,权限700    超级用户的家目录#:/root/,所有者所属组都是root,权限550注:如果通过修改普通用户的UID使它变成超级用户,那么该用户的家目录不会改变。2.用户邮箱(每个用户的邮箱默认在:/var/spool/mail/用户名/) var可变3.用户模板目录(/etc/skel/)    注:如果在/etc/skel/目录下新建(目录或文件),那么当创建新用户时,会在新用户的家目录中出现上面新建的(目录或文件)。

=======================================================================
【7.3.用户管理命令】
这里写图片描述

1.useradd 添加用户选项    -u UID    -d 家目录    -c 用户说明    -g 初始组(主组)    -G 附加组(用逗号分隔多个附加组)    -s 手工指定用户的登陆shell,默认是/bin/bash添加用户后,系统到底默认干了什么?用下面的命令查看干了什么,命令见下图

这里写图片描述

介绍两个用户创建时,默认的配置文件(里面存放着创建用户时选项的默认值)
这里写图片描述这里写图片描述

2.passwd 修改用户密码选项:    -S 查询用户密码和密码状态 (仅root用户可用)    -l 暂时锁定用户 (仅root用户可用) 就是把    -u 解锁用户 (仅root用户可用)    --stdin 可以通过管道输出的内容作为密码 (批量添加100个用户)注解:普通用户怎么修改自己的密码?    passwd 回车3.(1)修改用户信息usermod(即usermodify)usermod选项:    -u UID    -d 家目录    -c 用户说明    -g 初始组(主组),不推荐修改    -G 附加组(用逗号分隔多个附加组)    -s 手工指定用户的登陆shell,默认是/bin/bash    -L 临时锁定用户    -U 解锁用户(2)修改用户密码状态changechange选项:    -l 列出系统的出错时间    -d 修改密码最后一次更新时间(shadow的字段3    -m 修改密码时间间隔(字段4    -M 密码有效期    -W 密码过期前的警告时间    -I 宽限天数    -E 账号失效日期在实际开发中,最常用的change命令:    change -d 0 用户名        作用:此时用户第一次登录时,就提示要修改密码4.(1)userdel 删除用户    userdel -r 用户   删除用户以及用户的家目录(2)su切换用户选项:    - 连带用户的环境变量(env)一起切换    -c 仅执行一次命令,而不切换用户身份su - root -c "useradd user1"  不切换成root身份,只执行一次root的useradd命令添加一个user1用户5.(1)groupadd 添加用户组        groupadd 选项 组名选项:    -g  组IDGID(2)groupmod 修改新组选项:    -g 组ID    -n 修改新组名(3)groupdel 删除组        groupdel 组名注:要想删除组,这个组里边不允许有(初始组),但是附加用户不影响。(4)gpasswd 把已经存在的用户添加入组或移除组gpasswd 选项 组名选项:    -a 把用户加组    -d 把用户从组中移除
1 0