dede免费网站模板下载,三字顺口名字公司,seo门户,做那个的网页一、用户与用户组概念
Linux是一个多用户、多任务的服务器操作系统#xff0c;多用户多任务指可以在系统上建立多个用户#xff0c;而多个用户可以在同一时间内登录同一个系统执行各自不同的任务#xff0c;而互不影响。
Linux用户是根据角色定义的#xff0c;具体分为三…一、用户与用户组概念
Linux是一个多用户、多任务的服务器操作系统多用户多任务指可以在系统上建立多个用户而多个用户可以在同一时间内登录同一个系统执行各自不同的任务而互不影响。
Linux用户是根据角色定义的具体分为三种角色
超级用户拥有对系统的最高管理权限默认是root用户。
普通用户只能对自己目录下的文件进行访问和修改具有登录系统的权限例如www用户、ftp用户等。
虚拟用户也叫“伪”用户这类用户最大的特点是不能登录系统它们的存在主要是方便系统管理满足相应的系统进程对文件属主的要求。
用户和用户组的对应关系有一对一、一对多、多对一和多对多。
Linux系统中每一个用户都至少属于一个用户组管理员可以通过对用户组的管理来设置用户对系统的访问权限从而在一定程度上保证了对系统访问的安全性。
在使用useradd命令创建用户的时候系统除创建该用户外默认情况下还会创建一个同名的用户组作为该用户的用户组同时还会在/home目录下创建同名的目录作为该用户的主目录。如果一个用户属于多个组那么记录在/etc/passwd文件中的组称为该用户的主组其他的组称为附属组。
主要组主组每个用户有且只有一个主要组。
附属组补充组用户可以是零个或多个附属组成员。一般用于帮助确保用户具有对系统中文件 及其他资源的访问权限。
二、与用户管理相关的系统文件
1用户信息配置文件/etc/passwd
在Linux系统中用户信息被存放在系统的/etc/passwd文件中系统的每一个合法用户对应于该文件中的一行记录。这行记录定义了该用户的属性。由于所有的用户对passwd文件均有读取的权限因此密码信息并未保存在该文件中而是保存在了/etc/shadow配置文件中。
在passwd配置文件中每行均由7个字段构成各个字段之间用“”分隔每个字段都代表该用户某方面的信息。 在passwd配置文件中从左到右各个字段的含义如下
用户名用户登录系统时使用的用户名。
口令存放加密的口令被/etc/shadow文件保护。
用户标识号(UID)系统内部用它来标识用户每个用户的UID都是唯一的。
用户组标识号(GID)系统内部用它来标识用户所属的组这里的GID是主组GID。
注释性描述为了方便管理和记忆该用户而添加的信息。
用户主目录也称家目录用户登录系统后所进入的目录。
命令解释器指示该用户使用的ShellCentOS Linux 8默认的是bash。如果指定Shell为/sbin/nologin则代表用户无法登录系统。
2用户密码配置文件/etc/shadow
为了加强系统安全性Linux操作系统提供了专门的密码管理文件。
该文件对一般用户不可读只有root用户才能够读取。
在/etc/shadow文件中一行对应一个用户的密码信息每行均由9个字段构成各个字段之间用“”分隔。 在shadow配置文件中从左到右各个字段的含义如下
用户名用户账户名。
密码用户的加密密码。
最后一次修改的时间从1970年1月1日起到用户最后一次更改密码的天数。
最小时间间隔从1970年1月1日起到用户可以更改密码的天数(0表示随时可以变更)。
最大时间间隔从1970年1月1日起到必须更改密码的天数否则密码将过期(99999表示永远不过期)。
警告时间在密码过期之前多少天提醒用户更新默认值是7天。
不活动时间在用户密码过期之后到禁用账户的天数。
失效时间从1970年1月1日起到账户被禁用的天数。
标志保留位。
3用户组配置文件/etc/group
将用户进行分组是Linux系统对用户进行管理及控制访问权限的一种手段。一个组中可以有多个用户一个用户也可以属于多个组。系统中所有的组信息存放于/etc/group文件其中一行对应一个用户组的信息每行均由4个字段构成各个字段之间用“”分隔。 /etc/group文件中各字段的含义从左到右分别是
组名组的名称。
组口令用户组的口令用x表示口令是被/etc/gshadow文件保护的。
组标识号(GID)系统内部用它来标识用户组每个用户组的GID都是唯一的。
组成员该组的成员。
4用户组密码配置文件/etc/gshadow
该文件用于定义用户组口令、组管理员等信息该文件只有root用户可读。 /etc/gshadow文件中各字段的含义从左到右分别是
组名组的名称。
组口令用户组的口令保存已加密的口令。
组的管理员帐号组的管理员帐号管理员有权对该组添加、删除帐号。
组成员该组的成员多个用户用“”分开。
三、用户管理
1用useradd命令创建用户
创建或添加新用户要用useradd命令来实现。
命令格式 useradd [选项] 用户名 选项 功能说明 -d 指定用户主目录 -g 指定用户组 -m 若主目录不存在则创建 -M 不创建主目录 -s 指定登录时使用的Shell类型默认为/bin/bash -c 设置对该账号的注释说明文字 -r 创建系统账号(用户ID小于1000从999起按照递减的顺序创建)默认不创建对应的主目录 -u 手工指定新用户的ID值该值必须唯一且大于999。
〖例3.1〗创建用户tom。
#useradd tom
在使用useradd命令创建用户tom由于没有为tom指定用户组和主目录所以系统会创建同名用户组tom作为tom用户的用户组同时在/home目录下创建同名tom目录作为tom的主目录并且在/var/spool/mail和/var/mail下创建与tom同名的文件作为tom用户的邮件日志文件和备份。 〖例3.2〗创建一个名为zhangqi的用户设置主目录为/var/zhangqi作为root组的成员加注释101school指定用户Shell为/bin/sh。
#useradd –d /var/zhangqi –g root –c 101school –s /bin/sh zhangqi
创建完成后可以查看/etc/passwd的最后一行。 2用usermod命令修改用户属性
对于已经创建好的用户可以使用usermod命令来修改和设置账户的各项属性包括用户名、用户主目录、用户所属组、使用Shell类型等。
命令格式 usermod 选项 用户名
〖例3.3〗修改用户zhangqi为zhangqiming。
#usermod -l zhangqiming zhangqi
注意原用户名和新用户名的顺序。
〖例3.4〗修改zhangqiming的主目录为/var/zhangqiming。
#usermod -d /var/zhangqiming zhangqiming
注意如果新的主目录不存在则需要先创建该主目录。
〖例3.5〗修改zhangqiming的注释信息为neusoft。
#usermod -c neusoft zhangqiming
操作完成后查看passwd文件zhangqiming用户可以发现相关信息都已经做出了修改因此可以发现uesrmod命令是对passwd文件的修改。 3用userdel命令删除用户
在Linux操作系统当中可以在userdel命令后直接加用户名删除指定的用户。若使用选项-r则在删除该用户的同时将该用户对应的主目录一起删除。
命令格式userdel [-r] 用户名
〖例3.6〗删除zhangqiming用户及其主目录以及该用户的相关文档。
#userdel -r zhangqiming
删除zhangqiming用户后查看passwd文件发现该文件中已经不存在zhangqiming用户的信息。
4用passwd命令管理用户登录密码
用户必须设置密码之后才能登录系统。
root用户有权设置指定用户的密码
普通用户只能设置或修改自己的密码。
passwd不加用户名可以设置当前用户的密码。
命令格式 passwd [选项] [用户名称]
passwd还可以选项管理用户的密码。 选项 功能说明 -l 锁定用户密码 -u 解锁用户密码 -S 查询用户密码状态 -d 删除用户密码
〖例3.7〗root管理员创建bob用户并为其设置密码为“123456”然后查看/etc/shadow文件中bob用户的密码。然后将bob的密码锁定使bob无法登录系统查看/etc/shadow文件的变化再解锁bob的密码恢复bob对系统的访问权再次查看/etc/shadow文件的变化。 〖例3.8〗查询bob用户的密码状态加锁后再查询bob用户的密码。 若用户密码的当前状态是解锁状态则结果是“Password setSHA512 crypt”。其中“SHA512 crypt”指的是密码加密方式。若用户密码被锁定则查询用户密码状态的结果是“Password locked.”。
四、用户组管理
1用groupadd命令创建用户组
用户组是用户的集合通常将用户进行分类归组便于进行访问控制。
用户与用户组属于多对多的关系一个用户可以同时属于多个用户组一个用户组可以包含多个不同的用户。
命令格式groupadd [选项] 用户组名称
常用选项是-r功能是创建系统用户组。
〖例3.9〗创建用户组student。
#groupadd student
2用groupmod命令修改用户组属性
对于已经创建好的用户组可以使用groupmod命令来修改其属性。
命令格式groupmod 选项 组名 选项 功能说明 -n 修改组名 -g 修改组标识号GID
〖例3.10〗修改用户组student为teacher。
#groupmod -n teacher student
3用groupdel命令删除用户组
在Linux系统当中可以在groupdel命令后直接加用户组名删除指定的用户组。
命令格式
groupdel 组名
在删除用户组时被删除的用户组不能是某个用户的主组否则无法删除。若必需删除则应先删除该用户然后再删除用户组。
4用gpasswd命令维护组中成员
gpasswd命令可用于把一个用户添加到组、把一个用户从组中删除、把一个用户设为组管理员。
命令格式 gpasswd 选项 用户名 组名 选项 功能说明 -a 添加用户到组。 -d 将用户从组中删除。 -A 设置用户为组管理员。
〖例3.11〗将lili用户添加到tescher组。
#gpasswd -a lili teacher
〖例3.12〗将lili设置为teacher组的管理员。用户组管理员具有可以向该组添加用户和移除用户的权限。作为组的管理员也可以使用gpasswd命令给组设置口令只有设置了组口令其他用户才可以通过newgrp命令切换成该组的成员身份否则只有本组成员才能使用该组身份。
#gpasswd -A lili teacher
〖例3.13〗将lili从teacher组中删除。
#gpasswd -d lili teacher
五、知识扩展
1查看用户信息的id命令
id命令用于显示用户当前的UIDGID以及所属群组的组列表。
命令格式id [选项] [用户名称]
直接执行id命令不带选项表示显示当前用户的ID信息否则只需要在id命令后面直接加上要查询的用户名即可。 选项 功能说明 -g 显示用户所属群组的ID -G 显示用户所属附加群组的ID -u 显示用户ID
〖例3.14〗查看lili用户的ID信息。 通过命令执行结果可以清楚地看到lili用户UID和GID信息。
2输出指定用户所在组的groups命令
命令格式groups [选项] [用户名] 选项 功能说明 --help 显示命令帮助信息 --version 显示版本号
例如显示用户lili所在的组。 3查看当前登录用户whoami命令
whoami命令用于显示登录者自身的用户名称本指令相当于执行“id –un”指令whoami显示当前用户更详细的登录信息。这一系列相关的还有wwhowhoami。 4.查看当前用户的w命令
系统管理员在任何时刻都可以查看用户的行为在终端提示符下输入w命令。
第一行显示系统的汇总信息字段分别表示系统当前时间、系统运行时间、登录用户总数及系统平均负载信息。 5查看登录用户who命令
系统管理员若想知道某一时刻有哪些用户登录到系统可以使用系统提供的who命令该命令可以查看当前登录系统的用户及其他相关系统信息。
6查看登录用户历史last命令
系统管理员可以随时查看用户登录的历史行为。
7用于修改用户口令有效期限的chage命令。
密码时效是通过chage命令来管理的。
命令格式chage [选项] 用户名 选项 功能说明 -m 密码可更改的最小天数。为零时代表任何时候都可以更改密码 -W 用户密码到期前提前收到警告信息的天数 -M 密码保持有效的最大天数 -E 账号到期的日期。过了这天此账号将不可用 -d 上一次更改的日期 -i 停滞时期。如果一个密码已过期这些天那么此账号将不可用 -l 列出当前的设置。由非特权用户来确定他们的密码或账号何时过期
〖例3.15〗查看root用户的密码信息。 8修改用户注释信息的chfn命令
chfn命令可以修改用户的注释信息。
命令格式
chfn [选项] [用户名] 选项 功能说明 -f 设置真实姓名。 -h 设置家中的电话号码。 -o 设置办公室的地址。 -p 设置办公室的电话号码。
9修改用户Shell类型的chsh命令
命令格式
chsh [选项] [用户名]
〖例3.16〗查看系统安装的Shell。 〖例3.17〗将tom用户的Shell修改为/bin/csh。 本例还可以执行#chsh -s /bin/csh tom 命令来完成。如果只执行chsh命令那么修改的是当前用户的Shell。
使用chsh命令修改用户Shell其实修改的就是/etc/passwd文件里和该用户名相对应的那一行所定义的Shell字段。 项目四用户账号与用户组的创建
操作过程
#groupadd dgroups01
#useradd -g dgroups01 dguser0101
#passwd dguser0101
#useradd -g dgroups01 dguser0102
#passwd dguser0102
#groupadd dgroups02
#useradd -g dgroups02 dguser0201
#passwd dguser0201
#useradd -g dgroups02 dguser0202
#passwd dguser0202
#tail -4 /etc/passwd