Linux用户管理、组管理及文件权限管理

目录

Linux用户管理

 whoami指令

who指令

useradd指令

passwd指令

Linux用户组管理

groupadd 指令

gpasswd指令

groupdel指令

groups指令 - 显示用户所属组

Linux权限的概念

su指令

Linux权限管理

文件访问者的分类(人)

文件类型

基本权限

文件权限值的表示方法

文件访问权限的相关设置方法(修改事物属性)

chmod指令 - 控制用户对文件的权限

通过数字变更权限

修改文件的拥有者/所属组(修改人)

chown指令

粘滞位


 

41庞鸿霞

Linux用户管理

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员(root用户)申请一个账号,然后以这个账号的身份进入系统。每个用户账号都拥有一个唯一的用户名和各自的密码。Linux 的用户需要至少要属于一个组,也可以属于多个组。

 whoami指令

查看当前系统当前账号的用户名

3838c1b7a68644419a39a1cc09566f22.png

who指令

查看当前所有登录系统的用户信息。

7bc1f0cb74a54f6999866117574f2bf6.png

useradd指令

功能:添加用户
语法:useradd [选项] 用户名
常用选项:

(1)-c comment :指定一段注释性描述。

(2)-d 目录 :指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。若不指定目录,默认会自动在home目录下创建一个和用户名相同的目录。

(3)-g 用户组 :添加用户时指定用户所属的用户组。

(4)-G 用户组,用户组 :指定用户所属的附加组。

(5)-s Shell文件 :指定用户的登录Shell。

(6)-u 用户密码:指定用户的密码,如果同时有-o选项,则可以重复使用其他用户的标识号。

示例:
创建用户名为jinan的用户

b311b319ec3146eab409c7b4f37459e4.png

passwd指令

用户管理的一项重要内容是用户密码的管理。用户账号刚创建时没有密码,但是被系统锁定,无法使用,必须为其指定密码后才可以使用(此时由root用户指定密码),即使是指定空密码。

超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。

功能:指定用户密码或者修改用户密码
语法:passwd [选项] 用户名
常用选项:

(1)-l :锁定密码,即禁用账号。
(2)-u :密码解锁。
(3)-d :使账号无密码。
(4)-f :强迫用户下次登录时修改密码。

例如新建一个用户marry,密码自定义

a66e921821ff455c902b534179136a1b.png

Linux用户组管理

用户组类似于角色,系统可以对有共性的多个用户进行统一的管理。每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

groupadd 指令

功能:增加一个新的用户组
语法:groupadd [选项] 用户组

常用选项:
(1)-g GID :指定新用户组的组标识号(GID)。
(2)-o :一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

例如:将jinan用户添加到city用户组

fd01bf8ad6cc4d108eeb2fe03c4e589b.png

gpasswd指令

gpasswd命令用于管理/etc/group和/etc/gshadow。每个组都可以有管理员、成员和密码。系统管理员可以使用-A选项定义组管理员,使用-M选项定义成员。他们拥有组管理员和成员的所有权利。由组管理员使用组名调用的gpasswd仅提示输入组的新密码。如果设置了密码,则成员仍然可以在没有密码的情况下使用newgrp(1),非成员必须提供密码。组密码是一个固有的安全问题,因为允许多人知道密码。然而,组是允许不同用户之间合作的有用工具。

gpasswd命令的一些常用选项

03f505ab3b924f53bd0ce4472dc48e1b.png

例如:新建 student 用户组,将 mary 用户加入到 student 用户组中。查看组文件,看 mar用户是否在 student用户组中。

016095fef3ba46feb03a10c5ef00c200.png

groupdel指令

功能:删除一个已有的用户组
语法:groupdel 用户组

55108e4cb9634e50ae99bf364a31e046.png

groups指令 - 显示用户所属组

例如:

d8d3de0fb37e424abbcd6a80fec5d249.png

Linux权限的概念

Linux下默认有两种用户:超级用户(root)、普通用户。

root:超级管理员,具有非常高的权限,可以再linux系统下做任何事情,不受限制.

普通用户:具有一般权限,需要受权限约束(由root用户创建的)

超级用户:可以在linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

su指令

(1)普通用户切换到root用户:su

输入密码切换成管理员用户权限登录

2ddbd643ebc947b387f5c4b9e3a310b6.png

(2)root用户切换到普通用户

root用户切换回普通用户不需要密码。使用exit变回普通用户(或者快捷方式ctrl+d)

3007192d5fbf4815b7b27307ddc07bdc.png

Linux权限管理

什么是权限?一件事情是否允许被特定的人做,权限约束的是人,文件本身是具有天然的权限属性的(r,w,x),权限等于人+事物的属性。权限要么约束特定的人群,要么修改事物的属性,所以权限的操作,要么修改人,要么修改事物的属性

文件访问者的分类(人)

在 linux 中的每个用户必须属于一个组,不能独立于组外(用户组)。在 linux 中每个文件有所有者、所在组、其它组的概念(文件组)。

Linux中的用户类别:

1.拥有者 owner
2.所属组 group (为了组内协同)
3.其他 other

8651aa91c2f640708909695cf1951a23.png

root和普通用户指的是具体的一个人。
拥有者、所属组、other指的是一种角色身份。某一个人可能拥有这些身份中的一个或多个。

c60369ffcfec4ee3b7f3959ea09fa3c8.png

文件类型

Linux系统不以文件后缀作为区分文件类型的方式,以前缀(第一位)来区分文件类型。

-:普通文件(文本、动/静态库、可执行程序、源程序)
d:目录文件
c:字符设备文件(键盘与显示器)
b:块设备文件(磁盘)
p:管道文件(通信)
l:链接文件(软链接,类似Windows的快捷方式)
s:套接字文件

基本权限

拥有者、所属组、其他人各自拥有3种权限,分别是 是否具有读权限、 是否具有写权限 、 是否具有可执行权限

r:具有读权限
w:具有写权限
x:具有可执行权限
-:不具有该权限

读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除、移动目录内文件的权限

执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

c52ba49de7ab43d28fb54cf367601224.png

文件权限值的表示方法

a)字符表示方法

3759d8551b8a456ba50eb84fbc9cc0a0.png

b)8进制数值表示方法

因为权限位置固定,而且权限只有两种可能,要么具有要么没有,所以权限可以表示成数字形式。

a79025978ec4421da871bb11f8b6b17e.png

文件访问权限的相关设置方法(修改事物属性)

chmod指令 - 控制用户对文件的权限

功能:通过 chmod 指令,可以修改拥有者、所属组、其他组对文件或者目录的权限

语法:chmod [选项] 权限 文件名

常用选项:
(1)R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限

普通用户只能修改自己是拥有者的文件的权限,修改别人的文件权限,要加上sudo,而超级用户root不受权限约束,可以随意修改所有文件的权限。

chmod修改权限的方式:

(1)使用+ 、-、= 变更权限

chmod 用户表示符+/-/=权限字符   指定文件或目录

用户表示符有如下选项

  • u:所有者
  • g:所在组
  • o:其他人
  • a:所有人(u、g、o 的总和)

操作符+、-、=的含义:

  • +:为指定的用户类型增加权限
  • -:为指定的用户类型减少权限
  • =: 设置指定用户权限的设置,即将用户类型的所有权限重新设置

权限字符有如下选项

a41ef56efb3b4d82b8ee26d5fd49c755.png

例如:设置/root/sdcet文件权限为jinan用户可读、写、执行,city组可读、写,其它成员可读、写。

6a79fdced4ca491491989e8e33828751.png

通过数字变更权限

例如:新建/computer 目录,用数字法设置/computer目录权限,并查看权限是否成功

89e9e5cf28034fa9bb34cbb90cd7f689.png

d7a99ddd7a82468884d97fecd4e212a4.png

a7cde3774b74411faec8cba456ce6d37.png

修改文件的拥有者/所属组(修改人)

chown指令

功能:修改文件或目录的拥有者
格式: chown [选项] 用户名 文件名
常用选项
(1)-R 如果是目录,则使其下所有子文件或目录递归生效

在根目录下创建sdcet空文件,设置/root/sdcet文件的所有者为jinan、属组为city。

463213cd717a4891b1384226ad25d49b.png

8a60ed33be9f4431b9b69c8959cb372b.png

粘滞位

要删除一个文件,你不一定要有这个文件的写权限,但你一定要有这个文件的上一级目录的写权限。也就是说,你即使没有一个文件的写权限,但你有这个文件的上一级目录的写权限,你就可以把这个文件给删除;而如果你没有一个目录的写权限,也就不能在这个目录下创建、删除文件。

我们只要对一个目录有w权限,即使我们不是该目录下所有文件的所有者,而且对这些文件也没有读或写权限,也是可以删除这个目录下的任何文件和子目录。这样在同一个目录下,如果有多个用户建立属于自己的文件,任何只要对该目录有w权限的用户,都可以删除别人在这个目录下建立的属于自己的文件,这样做是很可怕的。但是,如何才能使一个目录既可以让任何用户写入文件,又不让用户删除这个目录下其他人的文件呢?粘滞位就能起到这个作用。粘滞位一般只用在目录上,用在文件上起不到什么作用。

粘滞位用t表示,设置了该位后,其它用户就不可以删除不属于他的文件和目录(root用户除外),这就对 所有用户都能写的目录下的用户文件 启到了保护作用。但是该目录下的子目录不继承该权限,要再设置才可使用。

t权限:可以进入该目录,可以删除、修改该目录下自己的文件,不能修改删除该目录下别人的文件

chmod o+t 目录名

粘滞位只能对目录设置,一般是限制other的权限,因为同一组内的用户即使有人误删了别人的代码,也可以追溯到,但是如果不限制other的权限,other误删文件,追溯不到哪个用户。对设置了粘滞位的目录,在该目录下,只能文件的拥有者可以删除,其他人不能删除(root用户可以随意删除)。

例如:对/hpppp目录的other组设置t权限

10302378654542b9a10bfbe19bdc9642.png

在Linux系统中/tmp目录,用来存放系统产生的临时文件,权限为 “rwx(用户)rwx(用户所属组)rwx(其他)”,允许任意用户、任意程序在该目录中进行创建、删除、移动文件或子目录操作。

若任意一个普通用户都能够删除系统服务运行中使用的临时文件,将会造成多么严重的结果?**所以/tmp目录的other组权限添加了粘滞位,other组设置了t权限后,**该目录下的文件或子目录文件就会受到保护,每个用户可以进入这个目录,修改自己和他人的文件,也可以写入自己的文件,但是不能随便删除他人(root用户除外),只能删除自己的文件。

550478a86f5c44f989ec5514d1073ae0.png

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

 

 

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值