Linux系统用户和权限管理

简介:

一、用户

Linux系统上用户分类为两类:分为管理员用户和普通用户;普通用户又分为两类:系统用户和普通用户。在1.root和普通用户:系统用户:仅用于运行服务程序,登录用户:系统资源的正常使用者。

用户标识:16位二进制数,转为十进制为:UIDCentos5Centos7:1-999

普通用户:

665535

1000+(至ID1000,通常是拥有管理员权限但不以管理员身份登录的账号;可以管理员身份执行操作后,再退出管理员身份,以保证系统安全。用户在系统上就有两种表示一种是用户名,一种是用户ID一一对应存起来,以便查询。

解析库:Linux系统上把用户名与用户ID是多少,也能把用户的username <--> uid

解析库就存放在ID还存放了其它属性信息。

Linux用户组分两类:分为管理员组和普通组,普通组又分为两类:分为系统组和登录组。在系统,会把每个用户组用数字来标识,不同系统上数字标识可能不同。

根据用户划分组类别为

管理员组:

普通用户组:

系统用户组

登录用户组:添加登录功能用户的组

组标识:管理员组:0

系统组:

1-499

1-999

登录组:

665535

1000+(至3.4./etc/group

组与组groupname <--> gid,其解析库为二、权限模型

owner

属组:other

这就表示文件也定义了哪些用户有哪些权限,这就与进程树的角度相对应了,用户定义了有哪些权限,文件定义了哪些用户有哪些权限这样一对应,进程以某用户身份运行从而就以某用户的权限来访问文件,而每个文件又定义了哪个用户有哪些访问权限;所以进程能不能访问文件就取决于它所代表的用户。则权限模型的生效机制如下所示:

权限模型是生效机制:

进程的运行者:即用户

是否与文件的属主相同,如果是,则以文件属主身份来访问此文件;否则,判断属组;

是否属于文件的属组,如果是,则以文件属组的身份来访问此文件;否则,判断其它;

则以文件的其它用户的身份来访问此文件。

11)单向加密特点

b.定长输出;无论数据多大,加密后都是定长的。

2)单向加密的应用原理

对数据加密后会得出数据特征码,要想读取文件,就用同样的加密算法计算3)单向加密算法

message digest,定长输出centos5

secure hash algorithm,定长输出3.sha224,定长输出4.sha256,定长输出5.sha384,定长输出6.sha512,定长输出centos6f4de6ffdc3ea56226419ffc252cc0b83  mageedu.txt

这就是通过2salt,添加salt有两种方式产生随机数:熵池和伪随机数。

熵池:是计算机记录敲击键盘的时间间隔产生的,或是通过硬盘的两次中断时间间隔产生的,(有可能会耗尽)。

伪随机数:是软件模拟产生的随机数,这种产生的随机数是有规律可循的。

/dev/random和伪随机数/dev/random:仅从熵池返回随机数,随机数耗尽时会阻塞进程。

lsj:$6$ikOMkVDW$HuSusr/MfG3Bcn6OLbwLLS53DksXI2GZj4.rVkXd.mMoCYghz6lO9w1AN9V9jne6uQ.jv.4E4M5l28f6Yy4qv0:16866:0:99999:7:::

密码部分解释:

$符号中的的数字代表$ikOMkVDW$salt随机数。

三、管理用户的命令

(一)命令:添加用户

语法格式

useradd [选项登录名

useradd -D/etc/default/useradduseradd -D 选项/etc/default/useradd2.-c,--comment COMMENT:设定用户的注释信息,一般为用户的-dskel相关文件给用户,默认-gGID

--groups GROUP1[GROUP2-m-M:不创建用户家目录,即使系统在 (CREATE_HOME) -r, --system:创建系统用户。

--shel SHELL:设定用户的默认shell的路径,要位于 shell 名,默认为留空,让系统根据SHELL变量选择默认的登录-u, --uid UID:设定用户的 ID 的数字值。此值必须为唯一的,除非使用了 UID_MIN,且大于任何其他用户-oUID创建用户账号。

]# useradd -c TestUSER -d /home/testuser -g 5001 -G 5000 -u 1010 -s /bin/csh testuser1

TestUSER,家目录为用户的基本组GID为用户的UID为用户的默认登录shell为testuser1。

查看结果为:注意:创建登录用户时,为其自定义的程序必须为可登录,且要位于文件中,但是不能用的,3.-e, --expiredate EXPIRE_DATE:设定禁用日期,用户账号的过期期限,过期后会被锁定;格式为-f, --inactive INACTIVE:设置非活动期,密码过期后,账户被彻底禁用之前的天数。-1 表示禁用这个功能;(详细内容见下:密码文件4.:/etc/passwd

name:password:UID:GID:GECOS:directory:shell

字段解释:

name:用户名。

password:用户密码占位符。

UID:用户4ID

GECOS:用户注释(可选)。

directory:用户家目录路径。

shell:用户默认登录/etc/passwd格式字段说明;

]# tail -1 /etc/passwd

查看结果为:说明:csh,用户名为用户密码占位符x,UID用户的5001,注释为用户路径为用户提供默认配置及相关属性限定的配置文件:

创建用户时的默认配置文件:/etc/login.defs

定义了uid、最大用户uid、最大系统用户gid、最大组gid、最大系统组shell、目录骨架等内容。

创建用户时家目录的环境配置文件:就是创建用户后,系统会自动创建用户家目录且会在里面自动创建几个固定文件即骨架目录(/etc/skel里复制到家目录的。

(二)命令:修改用户

语法格式

usermod [选项登录名

选项

-d, --home HOME_DIR:修改家目录为新的位置,但一般应该同时使用-e, --expiredate EXPIRE_DATE:修改禁用日期;格式为-f, --inactive INACTIVE:修改非活动期。

GID

-a选项,表示为用户追加添加新的附加组。

 -G 选项一起使用。

-s, --shell SHELL:修改用户登录的-u, --uid UID:修改用户-o选项,必须是非负值。

--non-unique:用户-L, --lock:锁定用户密码,这会在用户加密的密码之前放置一个“-U, --unlock:解锁用户的密码;这将移除加密的密码之前的“(三)命令:删除用户

语法格式

userdel [选项登录名

选项

/var/spool/mail/目录下;

]# ls /var/spool/mail/:默认创建用户都会自动为用户创建邮箱。

]# ls /var/spool/mail/:删除用户后,默认邮箱不删除。

t:删除用户后同时删除邮箱;(慎用)。

注意:在生产环境中,要自建回收站!禁用(四)命令

给用户设置密码;存放在1.passwd  [-l] [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [--stdin] [username]

选项

-u:解锁密码;

-d:清除密码;

-n:修改密码最短使用期限;

-w:修改密码过期后警告期限;

--stdin:从标准输入设置密码;

常用方法:

passwd:修改自己的密码;

passwd USERNAME:修改指定用户密码;

密码复杂度

8个字符。

3)应该私有四类字符中的至少三类。

]# passwd:管理员可直接修改密码无需旧密码,且不受密码复杂度的限制。

--stdin:从标准输入接收密码。

(五)命令

查看用户相关UID、基本组1.id [OPTION]... [USER]

选项

UID

GID

ID

ID

suswitch user

语法格式

1)不读取目标用户的配置文件(非登录式切换,半切换);

2)读取并执行用户的配置文件(登录式切换,完全切换);

su - USERNAME

选项

root管理员切换至任何其它用户无需认证密码;普通用户切换至其他用户,都需要密码;

]# su magedu:当前路径目录不会改变。

/root

]# su - magedu -c 'echo $HOME'

显示结果为:magedu用户执行命令;而不切换用户。

/root

3./etc/shadow

密码文件9个字段,用冒号分隔

登录名:加密了的密码:最近一次更改密码的日期:密码的最短使用期限:密码最长使用期限:非活动期:保留字段

字段解释:

2、加密的密码:密码格式为:

$salt$加密的密码字符串

3、最近一次更改密码的日期:表示从10表示用户应该在下次登录系统时更改密码,空字段表示密码年龄功能被禁用。

0表示随时可修改密码。

99999天无限制,如果最大密码年龄小于最小密码年龄,用户将会不能更改密码。

7、非活动期:密码过期后账号禁用之前,就是宽限期;登录后必须先改密码;空为没限定;禁用日期。

密码期限设定说明,如图:

wKioL1bj5CTyipSfAAAs2XSyGAs452.png\\"\"

(一)命令:添加组

语法格式

] group

选项

GID

500+

1000+

Centos51-499

1-999

]# groupadd -g 5000 testgrp

testgrp:x:5000:testuser1

testgrp1:x:5001:3./etc/group

组文件GRGNAME:x:GID:user1...

字段解释:

GRGNAME:组名。

x:组密码占位符。

GID:组4user2(二)命令:修改组;

语法格式

] GROUP

选项

GID

(三)命令:删除组

语法格式

] GROUP

]# groupdel testgrp

gpasswd1.gpasswd [选项2.-a, --add USERNAME:向组中添加用户。

3./etc/gshadow

:加密了的组密码:成员

字段解释:

2、加密了的组密码:密码格式为:

$salt$加密的密码字符串

为空时只有组成员可以获取组权限;以叹号开始意味着密码被锁定;

4、成员:必须是一个逗号分隔的用户名列表,成员无需组密码;

以上就是用户和组管理的相关内容,下面介绍用户权限管理。

对此内容还要提到安全上下文的概念:(此处排除例外场景,即特殊权限:suidsticky的情况)

进程的发起者:

判断进程的发起者是否与文件属主相同,如果是,则以属主的身份来访问,从而应用属主权限,否则如下;

判断进程的发起者是否属于文件的属组,如果是,则应用属组权限;否则如下;

应用权限;

使用如下命令,可查看,进程的运行者等相关信息。

root       4111  0.0  0.0 108144   684 pts/0    S+   04:51   0:00 tail

上例tail进程的发起者。

Linux系统中文件系统的文件权限为三类有用户(属主、属组、其它)分别配了三种权限:w(可写)、(一)三类用户

属主:u

属组:g

其它:o

rwx

readablele,可读

writabel,可写

excutable rwx字符表达方式外,这种表达方式也符合二进制、八进制的表示方法,如下:

wKioL1bkJt_wdy8fAAASVXdcxko271.png\\"\"

这三种权限对于文件和目录的意义是不同的。

对于文件而言,三种权限说明

w:可修改文件的数据。

2.r:可使用ls -l获取详细信息,也不可以w:可修改此目录的文件列表,即可子啊此目录下创建或删除文件。

ls -l命令获取其下的详细属性信息,也可Linux文件权限模型中定义了这三类用户的三类权限ls -l命令drwxr-xr-x. 2 root root   84 3drwxr-xr-x依次位置详细说明:

rwxr-xr-xrwx

属组:r-x

注意:]# ll `which cat`

结果为:

  10 2014 /usr/bin/cat

以此结果分析说明:

对于文件root,权限为:root其它r-x(即读、执行)

所以据此文件的权限分配再结合安全上下文的概念,就可以确定其用户对所访问的文件有哪些权限了。

清楚了用户和文件权限,就可继续介绍权限的管理了。

ownership:仅管理员有权限修改

改文件的属主:使用chgrp命令

修改文件的权限:

permission):改文件的权限,仅属主能改,对管理员可不受限制;

使用(一)命令

仅管理员有权限,即能改文件的属主又能改属组,也可同时改。

语法格式

chown [OPTION]... --reference=RFILE FILE...

选项

表示参考权限模型;

常用选项:

(二)命令

语法格式

chgrp [OPTION]... --reference=RFILE FILE...

使用chgrp命令。

chmodchange file mode bits。

语法格式

chmod [OPTION]... OCTAL-MODE FILE...

2.-R, --recursive:递归修改;慎重使用。

在权限模型中用户的表示符:3.MODE1chmod [OPTION]... MODE[,MODE]... FILE...

MODE:有2种表示法

方法一:赋权表示法

直接操作一类用户的所有权限位u=o=

:更改文件权限,赋权表示法。

rwx

两类用户权限收授机制相同:ug+ug-

不同类的用户权限收授机制:g+]# chmod u+x /tmp/test/fstab)八进制权限赋权方式

]# chmod 700 /tmp/test/fstabugo700]# chmod 77 /tmp/test/fstab:默认为4.chmod [OPTION]... --reference=RFILE FILE...

RFILE表示参考权限模型。

umask的作用。

umask1.umaskumask决定的。

文件权限:

777-umask

注意:之所以文件用uo有执行权限时,则需要加2.]# umask

设定遮罩码

<span lang=\"\\"en-us\\"\" style=\"\\"background-color:inherit;font-family:Arial,\" xml:lang=\"\\"en-us\\"\">]# umask MASK











本文转自 crystaleone 51CTO博客,原文链接:http://blog.51cto.com/linsj/1750393,如需转载请自行联系原作者
目录
相关文章
|
16小时前
|
Ubuntu Linux 编译器
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
|
19小时前
|
Linux Windows
虚拟机添加新硬盘之linux系统篇
虚拟机添加新硬盘之linux系统篇
|
1天前
|
算法 Linux 数据安全/隐私保护
Linux:权限
Linux:权限
7 0
|
1天前
|
监控 安全 Linux
Linux系统入侵排查(三)
本文介绍了Linux系统入侵排查的相关知识。首先解释了进行系统入侵排查的原因,即当企业遭受黑客攻击、系统崩溃或其他安全事件时,需要迅速恢复系统并找出入侵来源。接着,重点讲述了日志入侵排查的重要性,因为日志文件记录了系统的重要活动,可以提供入侵行为的线索。
|
1天前
|
安全 Linux Shell
Linux系统入侵排查(二)
本文介绍了Linux系统入侵排查的步骤,包括检查历史命令记录、可疑端口和进程、开机启动项以及定时任务。作者强调了了解这些技能对于攻防两端的重要性,并提供了相关命令示例,如查看`/root/.bash_history`记录、使用`netstat`分析网络连接、检查`/etc/rc.local`和`/etc/cron.*`目录下的可疑脚本等。此外,还提到了如何查看和管理服务的自启动设置,以判断是否被恶意篡改。文章旨在帮助读者掌握Linux服务器安全维护的基本技巧。
|
1天前
|
缓存 安全 Linux
Linux系统入侵排查(一)
本文探讨了在遭遇黑客入侵或系统异常时进行应急响应和排查的必要性,重点介绍了基于Kali Linux的入侵排查步骤。排查的目标是找出潜在的恶意活动,恢复系统的安全性,并防止未来攻击。总结来说,进行Linux系统入侵排查需要密切关注账号安全,跟踪历史命令,及时识别并消除安全隐患。同时,保持对最新攻击手段和技术的了解,以便更好地防御和应对潜在的网络安全威胁。
|
1天前
|
Linux C语言
【Linux】 拿下 系统 基础文件操作!!!
怎么样,我们的猜测没有问题!!!所以语言层的文件操作函数,本质底层是对系统调用的封装!通过不同标志位的封装来体现w r a+等不同打开类型! 我们在使用文件操作时,一般都要使用语言层的系统调用,来保证代码的可移植性。因为不同系统的系统调用可以会不一样!
11 2
|
1天前
|
Linux 数据安全/隐私保护
Linux权限管理
Linux权限管理是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:所有者(owner)、群组(group)和其他(others)。 每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文件和文件夹进行更改、读取和删除。群组是一组用户,他们可以共享文件和文件夹的权限。其他用户是除所有者和群组以外的其他用户。 Linux使用三个主要的权限:读、写和执行。读权限允许用户查看文件或文件夹的内容,写权限允许用户更改文件或文件夹的内容,执行权限允许用户运行文件或文件夹中的程序。是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:
4 0
|
2天前
|
Linux 数据安全/隐私保护 Windows
【Linux】权限 !
关于Linux的权限问题,可以理解为不同级别的工作者,分别拥有不同的能力来管理文件。
16 5
|
2天前
|
负载均衡 Linux 应用服务中间件
Linux系统中前后端分离项目部署指南
Linux系统中前后端分离项目部署指南