惠州网站设计哪家好,seo网络营销外包公司,班级网页网站建设,wordpress设置收费查看1.用户概念及作用
用户#xff1a;指的是Linux操作系统中用于管理系统或者服务的人
Linux下一切皆文件#xff0c;所以用户管理的是相应的文件
基本上分为两种#xff1a;
基本管理#xff1a;文件的创建、删除、复制、查找、打包压缩等#xff1b;文件的权限增加、减…1.用户概念及作用
用户指的是Linux操作系统中用于管理系统或者服务的人
Linux下一切皆文件所以用户管理的是相应的文件
基本上分为两种
基本管理文件的创建、删除、复制、查找、打包压缩等文件的权限增加、减少等高级管理程序文件的安装、卸载、配置等。终极目的是对外提供稳定的服务。
2.用户的分类
2.1 超级用户
超级用户也叫管理员root。该用户(root)具有所有权限UID0并且绝对只能是0
2.2 系统用户
系统用户也叫程序用户。一般都是由程序创建用于程序或者服务运行时候的身份。默认不允许登录系统。1UID499比如后面要学的web服务的管理用户apache文件共享ftp服务的管理用户ftp等
注意Centos7/RHEL8中系统用户UID范围1UID999
2.3 普通用户
普通用户一般都是由管理员创建用于对系统进行有限的管理维护操作。默认可以登录系统。500UID60000
注意Centos7/RHEL8中普通用户UID范围1000UID60000
说明
用户指的是操作系统上管理系统或服务的人是人就有相关的属性信息用户的属性信息包括但不限于如家目录、唯一身份标识(UID)、所属组(GID)等今天我们讨论的用户指的是普通用户即由管理员创建的用户
3.用户的基本管理
3.1 创建用户
基本语法和选项
useradd [选项] 用户名
常用选项
-u 指定用户uid唯一标识必须唯一
-g 指定用户的默认组(主组)
-G 指定用户附加组(一个用户可以加入多个组但是默认组只有一个)
-d 指定用户家目录(每个用户都有一个自己的家并且默认在/home/xxx)
-s 指定用户默认shell查看系统支持的shell(命令解释器)
[rootljy ~]# cat /etc/shells
/bin/sh 软连接文件
/bin/bash 系统默认的解释器
/usr/bin/sh 软连接文件
/usr/bin/bash 系统默认的解释器
其他shell
/sbin/nologin 不能登录操作系统也叫非交互式shell
/bin/dash
/bin/tcsh
/bin/csh
示例操作
id 用户名 查询用户信息命令
创建一个用户stu1
[rootljy ~]# useradd stu1
查看用户信息
[rootljy ~]# id stu1
uid501(stu1) gid501(stu1) groups501(stu1)注意当创建一个默认用户时系统会给该用户以下东西以stu1为例说明
1用户的UID(唯一标识) 501系统自动分配
2用户的默认组(主组) stu1组默认跟该用户的用户名一致组ID(501),默认和用户UID一致
3用户的家目录 /home/stu1
4默认拷贝相应的文件到用户的家里是隐藏文件
[rootljy ~]# su - stu1
[stu1localhost ~]$ ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
根据需求创建用户
/sbin/nologin 表示不能登录系
1. 创建用户stu2但是不能登录操作系统
注意-s 指定用户的默认shell/sbin/nologin表示不能登录系统也叫非交互
[rootljy ~]# useradd -s /sbin/nologin stu2
验证
[rootljy ~]# id stu2
uid502(stu2) gid502(stu2) groups502(stu2)
切换用户失败说明该用户不能登录系统
[rootljy ~]# su - stu2
This account is currently not available.2. 创建用户stu2同时指定该用户的家目录为/rhome/stu2
注意-d 指定用户的家目录前提该用户家目录的上一级目录/rhome必须存在
[rootljy ~]# mkdir /rhome
[rootljy ~]# useradd -d /rhome/stu2 stu2
[rootljy ~]# id stu2
uid502(stu2) gid502(stu2) groups502(stu2)
说明指定stu2家目录/rhome/stu2时只需要/rhome存在即可系统会默认在/rhome下创建stu2目录
注意:
当创建用户指定的家目录不存在是不能切换用户的会报错家目录不存在这时需要root角色下为用户创建家目录并拷贝相关隐藏文件到文件目录下
3.2 设置用户密码
passwd 用户名 表示给指定用户修改密码
passwd 直接回车 表示给当前用户修改密码[rootljy ~]# passwd stu1
Changing password for user stu1.
New password: 密码不显示
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is too simple
Retype new password: 密码不显示
passwd: all authentication tokens updated successfully.说明
1.管理员root可以给任何用户修改密码
2.普通用户可以自己给自己修改密码但是密码复杂度要符合规范[rootljy ~]# echo 123|passwd --stdin stu2
更改用户 stu2 的密码 。
passwd所有的身份验证令牌已经成功更新。
说明使用这种方法不用交互可以直接设置成功一般用于脚本中。
3.3 修改用户信息
基本语法选项
usermod [选项] 用户名
常用选项
-u 指定用户uid唯一标识必须唯一
-g 指定用户的默认组(主组)
-G 指定用户附加组(一个用户可以加入多个组但是默认组只有一个)
-d 指定用户家目录(每个用户都有一个自己的家并且默认在/home/xxx)
-s 指定用户默认shell
-m 移动用户家目录和-d一起使用
1. 修改stu3用户的UID为1100
[rootljy ~]# usermod -u 1100 stu3
[rootljy ~]# tail -5 /etc/passwd
yunwei:x:1001:1001::/home/yunwei:/sbin/nologin
stu1:x:1002:1002::/home/stu1:/bin/bash
stu2:x:1003:1003::/rhome/stu2:/bin/bash
stu3:x:1100:1004::/rhome/stu3:/bin/bash
stu4:x:1005:1005::/home/stu4:/sbin/nologin2.修改stu4用户的默认shell为可登录系统
[rootljy ~]# su - stu4
This account is currently not available.
[rootljy ~]# usermod -s /bin/sh stu4
[rootljy ~]# tail -5 /etc/passwd
yunwei:x:1001:1001::/home/yunwei:/sbin/nologin
stu1:x:1002:1002::/home/stu1:/bin/bash
stu2:x:1003:1003::/rhome/stu2:/bin/bash
stu3:x:1100:1004::/rhome/stu3:/bin/bash
stu4:x:1005:1005::/home/stu4:/bin/sh3.修改stu5用户的家目录
[rootljy ~]# useradd -d /rhome/stu5 stu5
[rootljy ~]# usermod -md /home/stu5 stu5
3.4 删除用户 基本语法选项
userdel [选项] 用户名
常用选项:
-r 删除用户并且移除其家目录和邮箱
-f 强制删除正在登录的用户
说明
创建完用户后家目录默认在/home/用户名下用户的邮箱在/var/spool/mail/用户名1. 删除stu4用户以及家目录
[rootljy ~]# userdel -r stu4
[rootljy ~]# id stu4
id: stu4: No such user2.强制删除一个正在登录的用户
[rootljy ~]# userdel -r stu5
userdel: user stu5 is currently used by process 7998
[rootljy ~]# id stu5
uid1101(stu5) gid1101(stu5) 组1101(stu5)
[rootljy ~]# userdel -rf stu5
userdel: user stu5 is currently used by process 7998
[rootljy ~]# id stu5
id: “stu5”无此用户3. 只删除用户user02不删除其家目录
[rootljy ~]# userdel stu1 4.用户密码信息的文件
4.1 用户文件解析
1. 用户信息保存文件/etc/passwd
了解相关配置文件内容可以通过求man文档解决即 man 5 passwd
以冒号:分割为7列如下
account -- stu1 用户名称
password -- x 密码,将密码单独存放在另外一个文件中
UID -- 501 用户ID
GID -- 501 组ID
GECOS -- 用户自定义,描述说明
directory -- /home/stu1 用户的家目录
shell -- /bin/bash用户的默认shell,其中/sbin/nologin表示非交互不能登录系统2. 用户密码信息保存文件/etc/shadow
了解相关配置文件内容可以通过求man文档解决即 man 5 shadow
以冒号:分隔为9列如下
login name
登录的用户名encrypted password
加密后的密码;!!表示没有设置密码date of last password change
最后一次更改密码的天数距离1970年的1月1日到现在的天数minimum password age
密码的最小生存周期;0表示可以立刻修改密码如果是3则表示3天后才能更改密码maximum password age
密码的最大生存周期;如果30表示每隔30天需要更新一次密码password warning period 密码过期前几天发出警告7表示过期前7天开始警告password inactivity period
密码的宽限期如果3表示允许密码过期3天,3天内还能登录系统但是要求修改密码。3天后密码过期3天后账户被封锁需要联系管理员account expiration date
账户过期的时间账户过期的用户不能登录密码过期用户不能用原来的密码登录。以1970年1月1日算起。reserved field
保留
4.2 用户的账号信息
chage --help
-d 修改用户最后一次更改密码的时间
-m 修改密码的最小存活期几天后才能修改密码
-M 修改密码的最大存活期每隔多少天更新一次密码
-W 修改密码过期前警告过期前几天发出警告
-I 修改允许密码过期几天
-E 修改账户过期时间
-l 列出账户的信息举例说明
查看用户账号的相关信息命令chage -l stu1
[rootljy ~]# chage -l stu1
Last password change : Mar 04, 2019
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7修改用户账号的过期时间2019-03-10过期
[rootljy ~]# chage -E 2019-03-10 stu1
[rootljy ~]# chage -l stu1
Last password change : Mar 04, 2019
Password expires : never
Password inactive : never
Account expires : Mar 10, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7修改用户账号的过期时间为10天以后
[rootljy ~]# chage -E $(date %F -d 10days) stu1
5.Linux下组管理及组和用户的关系
在Linux系统中用户User和用户组Group是通过一种多对多的关系来组织的。这种关系允许灵活地管理权限和资源共享。以下是用户和用户组之间的关系概述
用户User 每个用户在Linux系统中都有一个唯一的用户IDUID通常普通用户的UID从1000开始这可能因发行版而异而系统用户如root的UID通常是0。 - 用户可以拥有一个或多个用户组。
用户组Group 用户组是具有相同权限集合的用户的集合。 每个用户组都有一个唯一的组IDGID。 用户组用于简化权限管理因为可以给组分配权限而组内的所有用户都会继承这些权限。
用户和用户组的关系 主组Primary Group每个用户都有一个主组这是用户创建文件时默认赋予的组。用户的主组通常与用户的用户名相同。 附加组Secondary Groups用户可以属于多个附加组。这意味着用户可以继承多个组的权限。 组文件/etc/group这个文件存储了系统中所有用户组的信息包括组名和组内用户的列表。 密码文件/etc/passwd这个文件存储了系统中所有用户的信息包括用户的主组信息。
权限管理 文件和目录的权限可以设置为用户User、组Group和其他Other。 当用户尝试访问文件或目录时系统会检查用户的UID和GID以及文件或目录的所有者和组以确定是否允许访问。
用户和组的权限 用户对文件的访问权限由该文件的所有者权限决定。 用户组的权限适用于组内的所有用户。 其他用户不属于文件所有者或组的用户的权限是独立设置的。
sudo和su sudo 命令允许授权的用户以另一个用户通常是root的身份执行命令而不必知道该用户的密码。 su 命令用于切换到另一个用户的身份通常需要输入目标用户的密码。
通过这种结构Linux系统管理员可以有效地控制用户对系统资源的访问同时保持系统的安全性和灵活性。 6.组的管理
6.1 创建组
基本语法
groupadd [选项] 组名
常用选项
-g 指定组的GID(编号)默认唯一
1.创建一个组admin
[rootljy ~]# groupadd admin2.查看组信息
[rootljy ~]# tail -1 /etc/group
admin:x:1005:
说明关于/etc/group配置文件说明可以man 5 group找帮助3.创建一个组sysadmin指定组的GID为1111
[rootljy ~]# groupadd -g 1001 sysadmin
[rootljy ~]# tail -1 /etc/group
admin:x:1005:
sysadmin:x:1111
6.2 删除组
基本语法
groupdel 组名
[rootljy ~]# groupdel admin
[rootljy ~]# groupdel stu2
groupdel: cannot remove the primary group of user stu2
注意以上信息说明不能删除属于其他用户的主组
6.3 组的成员管理
基本语法
gpasswd [选项] 组名
常见选项
-a 添加用户到组
-d 从组中删除成员
-A 指定管理员
-M 指定组成员可以批量添加用户到组中
-r 删除密码
gpasswd 组名 给组设置密码
# 添加用户到组里
1. 创建3个用户user01~user03
2. 将user01添加到sysadmin组里方法:1指定user01用户的附加组为sysadmin站在用户角度
# usermod -G sysadmin user01方法2使用gpasswd命令添加用户到组里
# gpasswd -a user01 sysadmin
-a选项表示往组里追加用户
# gpasswd -M user02,user03 sysadmin 设置sysadmin组成员为user02,user03
-M选项表示覆盖设置组成员会覆盖原来的成员列表 # 删除组成员
将user03用户从组sysadmin里移除
# gpasswd -d user03 sysadmin
7.总结
7.1 创建用户useradd
1useradd 用户名——家目录/home/用户名、邮箱、UID、默认组GID[用户主组]
2useradd [选项] 用户名字——常用选项-d/-s/-u/-g/-G
7.2设置用户密码passwd
1passwd 用户名——给指定的用户管理员可以给任何人设置任何密码
2echo 密码|passwd --stdin 用户名——非交互式用于脚本中
3用户基本信息和用户密码信息保存文件——/etc/passwd和/etc/shadow
4扩展chage命令——用来修改用户密码信息账号过期时间、密码最小生存周期等
7.3修改用户信息usermod
1) usermod [选项] 用户名——usermod -md 新家 用户名
4、删除用户(userdel)
1userdel 用户名——只删除用户不删除用户家目录、邮箱等信息
2userdel -r 用户名——删除用户以及用户其他信息
3userdel -f 用户名——强制删除用户删除正在登录的用户
7.4 创建组groupadd
组的信息保存文件——/etc/group和/etc/gshadow
7.5 删除组groupdel
什么样的组不能删除——不能删除属于其他用户的主组
7.6 管理组成员gpasswd
1添加用户到组里——gpasswd -a user1 组名 或 gpasswd -M user1,user2,... 组名
2从组里移除用户——gpasswd -d user1 组名