Linux-用户管理

Linux的用户

用户是必须的吗

用户:标识计算机上的资源的归属

保存账号或密码的数据库文件

/etc/passwd:保存系统中的全部用户名

/etc/group:保存系统中的全部用户组名

/etc/shadow:保存系统中的各个用户的密码

/etc/gshadow:保存系统中的各个用户组的密码

用户和用户组

用户:登录系统的用户名

用户组:多个用户的集合

用户组的作用:方便多个用户的批量管理

用户身份标识

计算机每一个用户设置唯一数字

当计算机识别用户的时候,识别的是数字

这个数字是用户的uid

用户组的身份标识:gid

/etc/passwd文件详解

root:x:0:0:root:/root:/bin/bash

第一段:用户名

第二段:密码占位符,为了安全,放到了另一个文件中(/etc/shadow)

第三段:用户的uid

第四段:用户的gid

第五段:用户的描述信息

第六段:用户的家目录

第七段:用户的shell类型

注意点:这个文件的每一行都是一个用户

常见的shell类型

/bin/bash:默认的shell类型,可以登录系统

/sbin/nologin:无法登录系统

用户的分类

一、管理员用户

uid:0

特点:1、默认只有一个,就是root;2、root用户没有任何的权限约束

二、系统用户

uid:1-999

特点:

1、在Linux安装完成后或安装某个程序自动生成的用户;

2、这类用户默认无法登录系统

三、普通用户

uid:1000+

特点:

1、需要命令来创建

2、普通用户的权限非常小,通常仅仅只能在自己的家目录下进行操作

3、默认该用户的家目录是在/home下和用户同名的目录

用户组分类

用户的基本组

在/etc/passwd中的第四段的gid,所指的就是用户的基本组

用户的附加组

除主组以外的组,就是附加组

注意点

1、一个用户可以属于多个组

2、一个用户只能有一个主组,其他就是附加组

3.在用命令创建用户的时候,默认会创建一个组,这个组名和用户名是相同的(默认该组就是用户的主组)

Linux的文件的属性

属主:文件属于谁,谁创建的文件,文件的属组就是谁

属组:设置文件对一个特定用户组所有的权限

属主、属组默认只有一个

如果这个用户不属于属主和属组,那个这个用户就是属于其他用户

三类用户

属主

属组

其他用户

创建用户

命令:useradd

作用:创建新用户

格式:useradd [选项] 用户名

选项

-c "string":设置新用户的描述信息

-d 目录路径:设置用户的家目录

-g gid:这只用户的gid

-G gid:指定用户的附加组

-m:在创建用户的时候,如果家目录不存在,则创建用户的家目录(默认使用该选项)

-M:不自动创建用户的家目录

-r:创建系统用户

此选项创建用户的特点

1、默认该用户能登录系统;2、默认用户无家目录;3、用户uid<999;4、shell类型是:/bin/bash

-s shtype:指定用户的shell类型

sell类型:

/bin/bash

/sbin/nologin

-u uid:指定用户的uid

groupadd命令

作用:新建用户组

格式:groupadd 组名

选项

-g:指定用户组的组id

例:新建一个组,组id是1002

groupadd -g 1002 组名

id命令

作用:显示指定用户的id信息

格式:id [选项] 用户名

选项

-u:显示用户的uid

-g:显示用户的gid

-G:显示用户的全部组id

passwd命令

作用:修改用户的密码(也可以给用户设置密码)

格式:passwd [选项] 用户名

passwd 用户名 :修改指定用户的密码

passwd:修改当前用户的密码

默认只有root(管理员用户)能修改其他用户的密码,其他用户只能修改自己的密码

选项

-l:锁定用户(只有root用户才能进行此操作)

-u:解锁用户

userdel命令

作用:删除用户

格式:userdel 选项 用户名

选项

-r:再删除用户的时候,同时删除用户的家目录

usermod命令

作用:修改用户的基本信息

格式:usermod 选项 用户名

选项

-g:修改基本组(如果这个组不存在,要先创建这个组)

-G:修改附加组

-u:修改用户的uid

-c:修改用户的描述信息

-d:修改用户的家目录

-s:修改用户的shell类型

-l:修改用户的用户名

su命令

作用:切换用户

选项

-c:普通用户用管理员身份执行命令 "

例:su -c"touch /tmp/aa" root

注意点:su命令切换用户后,返回需要执行命令:exit

权限

r:读、w:写、x:执行

文件的权限

r:可以执行cat、head等命令读取文件中的内容

w:可以用vi/vim或重定向等操作向文件中写入内容或修改内容

x:可以执行文件

目录的权限

r:可以执行ls命令,查看目录下的文件

w:可以在目录执行文件创建和删除等操作

x:可以执行cd命令

用户的角色

属主用户:u

属组用户:g

其他用户:o

全部用户:a

文件权限位

-rw-r--r--

解释说明

  • :文件类型:一般文件(d:目录文件;l:链接文件)

rw- :属主的权限,具有读写的权限(2-4位)

r-- :属组的权限,具有读权限(5-7位)

r-- :其他用户的权限,具有读权限(8-10位)

注意点:

每一类用户的权限顺序都是:读、写、执行

如果有相对应的权限,就会出现相对应的字符,没有则会显示-

chown命令

作用:修改文件的属主

格式:chown username 选项 filename

选项

-R:在修改目录的时候,将目录下的文件一并修改

例:修改a.txt文件的属主为tom

chown tom a.txt

chgrp命令

作用:修改文件的属组

格式:chgrp username 选项 filename

选项

-R:在修改目录的时候,将目录下的文件一并修改

例:修改a.txt文件的属组为root

chgrp root a.txt

chmod命令

作用:修改文件的权限

格式:chmod 赋权 文件名

方式

+:增加权限(在原有的基础上增加)

例:chmod o+w a.txt 给其他用户增加写的权限

-:去除权限(在原有的基础上去除)

例:chmod a-w a.txt 给属主用户减去写的权限

=:将权限修改为指定的权限(与原权限无关)

例:chmod a=w a.txt 给全部用户修改为写的权限

数字表示权限

0:无权限

1:执行权限

2:写权限

4:读权限

注意点

如果是一个数字修改的是其他用户

如果是两个数字修改的是其他用户和属组

如果是三个数字修改的是属主、属组和其他用户

用户家目录模版:/etc/skel

新用户的家目录的生成

将/etc/skel复制到/home下,改名与新用户名相同

将这个目录的属主、属组改为该用户

将目录的权限改为700

/etc/login.defs:控制新建用户的默认属性

#QMAIL_DIR /var/spool/mail

制定新用户的邮箱位置

PASS_MAX_DAYS 99999

新用户密码最长有效期

PASS_MIN_DAYS 0

新用户修改密码的最短时间

PASS_MIN_LEN 5

用户的密码最短长度

PASS_WARN_AGE 7

密码到期前警告时间长度

UID_MIN

新建用户的默认uid最小值

UID_MAX

新建用户的默认uid最大值

CREATE_HOME

默认创建家目录

USERGROUPS_ENAB

当前用户组中没有用户,是否删除用户组

ENCRYPT_METHOD SHA512

指定加密算法

相关推荐
K·Herbert3 小时前
最新CentOS 7 yum源失效的解决方案(2025年6月)
linux·运维·centos
别骂我h3 小时前
部署KVM虚拟化平台
linux·运维·服务器
繢鴻3 小时前
紧急救援!Ubuntu崩溃修复大赛
linux·服务器·ubuntu
showmethetime4 小时前
优化nginx参数(基本通用参数)
运维·nginx
老六ip加速器4 小时前
获取ip地址安全吗?如何获取静态ip地址隔离ip
运维·网络·智能路由器
净心净意12 小时前
浅谈DaemonSet
运维·jenkins
Apex Predator19 小时前
jenkins流水线打包vue无权限
运维·jenkins
hujun86101 天前
Ubuntu安装无线网卡
linux
Johny_Zhao1 天前
CentOS Stream 8 高可用 Kuboard 部署方案
linux·网络·python·网络安全·docker·信息安全·kubernetes·云计算·shell·yum源·系统运维·kuboard
卖猪肉的痴汉1 天前
1.1 Linux 编译FFmpeg 4.4.1
linux·ffmpeg