网站规划名词解释,营销型网站服务,河南省重点项目建设网站,做品牌推广用什么网站目录
一、Linux中权限的概念
二、 Linux下的用户
2.1 用户的类型
2.2 用户创建、切换和删除
2.2.1 useradd或adduser命令创建用户
2.2.2 passwd命令设置用户密码
2.2.3 userdel命令删除用户
2.2.4 su命令切换用户身份等来管理和操作用户
2.3 注意事项
三、权限的管理…目录
一、Linux中权限的概念
二、 Linux下的用户
2.1 用户的类型
2.2 用户创建、切换和删除
2.2.1 useradd或adduser命令创建用户
2.2.2 passwd命令设置用户密码
2.2.3 userdel命令删除用户
2.2.4 su命令切换用户身份等来管理和操作用户
2.3 注意事项
三、权限的管理
3.1 文件类型和基本权限
3.2 文件访问者的分类
3.3 文件权限值的表示方法
3.4 文件访问权限的相关设置方法
3.4.1 chmod命令来设置文件的访问权限
3.4.2 chown修改文件或目录的所有者
3.4.3 chgrp修改文件或目录的所属组
3.4.4 umask查看或修改文件掩码
3.5 目录的权限
3.6 粘滞位
3.7 普通用户使用sudo提权 一、Linux中权限的概念
Linux权限是保证系统安全性的重要手段也是Linux系统的基础之一。
Linux权限是指对文件和目录所具有的操作权限涉及到文件和目录的读(r)、写(w)和执行(x)权限。Linux文件访问者有三种分别是所有者(User)、所属组(Group)和其他用户(Others)。文件的访问者可以根据其角色和权限的不同进行分类每个类别的访问者拥有不同的权限来访问或操作文件。这种分类和权限设置机制有助于提高文件的安全性和保护用户的隐私。
下面来详细介绍以上信息。 二、 Linux下的用户
2.1 用户的类型
在Linux系统中每个用户都有一个唯一的用户名和用户IDUID用于标识和管理用户。Linux下的用户可以分为以下几种类型
1. 超级用户root超级用户拥有系统中最高权限并可以执行系统级别的管理任务。超级用户可以访问和修改系统的所有文件和设置。
2. 普通用户普通用户是指一般的系统用户它们是由管理员创建并分配给系统的普通用户账户。普通用户具有较低的权限只能访问和修改自己的文件和一些共享的资源。
除了上述类型的用户之外还可以有其他用户类型如系统用户、组用户、FTP用户等以满足特定的需求。 设置不同类型用户的好处 通过为不同用户分配适当的权限可以控制他们对系统资源的访问和操作范围从而提高系统的安全性和管理效率。 注 超级用户的命令提示符是“#”普通用户的命令提示符是“$”。输入命令时要注意。
2.2 用户创建、切换和删除
在Linux系统中可以使用useradd命令创建用户userdel命令删除用户passwd命令设置用户密码su命令切换用户身份等来管理和操作用户。每个用户都有自己的家目录(Home Directory)用于存储其个人文件和配置信息。
2.2.1 useradd或adduser命令创建用户
adduser和 useradd的区别 root 用户执行 adduser user1 或 useradd -m user2 普通用户执行sudo adduser user1 或 sudo useradd -m user2 useradd选项 -d 指定用户的主目录-m 如果目录存在不再创建但是此目录并不属于新创建用户 如果主目录不存在则强制创建-M 不创建主目录 执行 # sudo useradd -m user2 时需要输入普通用户的密码。 2.2.2 passwd命令设置用户密码 在root用户输入passwd 用户名 接着会让你输入密码和确认密码此时密码是不显示的输入时要注意密码的正确。 2.2.3 userdel命令删除用户 在root用户输入userdel [选项] 用户名 常用的选项是 -r它的作用是把用户的主目录一起删除。
# userdel -r user1 此命令删除用户user1在系统文件中主要是/etc/passwd, /etc/shadow, /etc/group等的记录同时删除用户的主目录。
2.2.4 su命令切换用户身份等来管理和操作用户
su是switch user的缩写表示用户切换 例如要从root用户切换到普通用户user1使用 su user1。 要从普通用户user1切换到root用户则使用 su rootroot可以省略此时系统会提示输入root用户的密码 2.3 注意事项
创建用户时要指定合适的用户名和密码并设置适当的用户组和权限。通常情况下应该为每个用户创建一个单独的帐户并设置强密码以保证安全。切换用户时要确保已经正确退出当前用户的所有进程和程序。否则可能会导致权限问题或数据损坏等问题。使用su命令进行用户切换在完成操作后应及时退出当前用户。删除用户时要谨慎操作并确保备份了该用户的数据和配置文件。一旦删除用户其所有的数据和文件都将被永久删除无法恢复。因此在删除用户之前应该先备份重要数据和文件并仔细考虑是否真的需要删除该用户。用户密码的管理也是非常重要的。管理员应该鼓励用户使用强密码并定期更换密码。同时还可以设置密码策略来限制密码的长度、复杂度和有效期等以提高系统的安全性。定期清理定期审查系统中的用户账户删除已经不再需要的账户以防止废弃账户被滥用。 三、权限的管理
3.1 文件类型和基本权限
在之前的练习中不知道大家有没有注意到.c文件编译生成可执行程序时不用或者写错可执行程序的后缀也可以执行该程序。可执行程序改后缀名后仍可运行 这是因为Linux区分文件类型与后缀无关用文件属性中第一列的第一个字符来区分文件的类型加上后缀是为了让用户区分。 文件的权限由一串符号表示如drwxr-xr-x其中第一个字符表示文件类型后面的三组字符分别表示所有者、所属组和其他人的权限。 文件类型 d文件夹 -普通文件 l软链接类似Windows的快捷方式 b块设备文件例如硬盘、光驱等 p管道文件 c字符设备文件例如屏幕等串口设备 s套接口文件 基本权限 读 -rRead对文件而言具有读取文件内容的权限对目录来说具有浏览该目录信息的权限写 -wWrite对文件而言具有修改文件内容的权限对目录来说具有删除移动目录内文件的权限执行 -xexecute对文件而言具有执行文件的权限对目录来说具有进入目录的权限“-”表示不具有该项权限 注
Linux区分文件类型与后缀无关不代表gcc不根据后缀区分文件为了保持一致性和便于区分文件类型命名时推荐加上后缀。需要注意的是对于目录来说执行权限有特殊含义。执行权限x对于目录来说表示能否进入该目录和访问其中的文件。因此如果想要在一个目录下创建或删除文件必须具有该目录的执行权限。 3.2 文件访问者的分类 前面讲到 Linux文件访问者有三种分别是所有者(User)、所属组(Group)和其他用户(Others)。文件的访问者可以根据其角色和权限的不同进行分类每个类别的访问者拥有不同的权限来访问或操作文件。这种分类和权限设置机制有助于提高文件的安全性和保护用户的隐私。 所有者 -uUser所有者是创建文件的用户或进程拥有对文件的完全控制权(root用户拥有完全控制权)。所有者可以读取r、写入w和执行x文件也可以更改文件的权限和属性。所属组 -gGroup所属组是指与文件相关联的用户组。所有属于该组的用户都被称为文件的所属组成员。所属组具有一定的权限来访问文件权限可以是读取r、写入w或执行x具体权限由文件的权限设置决定。其他用户 -oOthers其他用户指的是既不是文件的所有者也不是文件的所属组成员的用户。其他人的权限也受到文件的权限设置的限制。同样权限可以是读取r、写入w或执行x。 为什么要有所属组 ①方便共享资源。将多个用户归为一个组可以方便地共享资源如文件、目录等避免重复创建和管理。 ②方便管理和控制。将多个用户归为一个组可以方便地管理和控制他们对某些文件或目录的访问权限避免不必要的混乱和冲突。 ③提高安全性。通过设置所属组的权限可以限制某些用户对关键文件或目录的访问提高系统的安全性。 注
只有文件的所有者才能修改文件的权限和所有者。一个组内可以只有一个人也可以有很多人用组长的名字来对组的命名。每个文件都有一个所有者和一个所属组同时还有一组权限控制了不同类别的访问者对文件的访问权限。所有者可以设置文件和目录的读、写、执行权限用来控制其他用户对这些文件和目录的访问。
总之在Linux中文件的访问者可以根据其角色和权限的不同进行分类每个类别的访问者拥有不同的权限来访问文件。这种分类和权限设置机制有助于提高文件的安全性和保护用户的隐私。
3.3 文件权限值的表示方法
1、字符表示方法 Linux表示 说明Linux表示说明r--只读-w-仅可写--x仅可执行rw-可读可写-wx可写和可执行r--可读可执行rwx可读可写可执行---无权限
2、8进制数值表示方法
权限符号读写执行八进制二进制r4100w2010x1001rw6110rx4101wx3011rwx7111---0000
3.4 文件访问权限的相关设置方法
3.4.1 chmod命令来设置文件的访问权限
chmod命令可以通过数字模式或符号模式来设置权限。
1、数字模式三位8进制数字 命令格式chmod [XYZ] fileName其中XYZ是三个8进制数字分别表示所有者、所属组和其他人的权限。 每个权限有一个对应的数字值r读取 4w写入 2x执行 1。 使用数字模式时将各个权限的数字值相加即可得到所需的权限组合。 例如将文件example.txt的所有者权限设置为读写rw所属组权限设置为读取r其他人权限设置为无---可以使用命令chmod 640 example.txt
2、符号模式、-、
使用符号模式时可以使用加号和减号-来添加或移除权限同时使用字母表示权限。 符号表示法由3部分组成谁u、g、o、a做什么、-、和权限字符。u表示所有者g表示所属组o表示其他人a表示所有人。 表示添加权限-表示移除权限表示设置权限为指定值。 例如要将文件example.txt设置为所有者具有写权限所属组和其他人具有执行权限可以使用命令chmod uw,gox example.txt 其中uw表示给所有者添加写权限gox表示给所属组和其他人添加执行权限。
3.4.2 chown修改文件或目录的所有者
功能修改文件或目录的所有者。 格式chown [参数] 用户名 文件或目录使用-R选项来递归修改目录及其子目录中的所有文件的所有者
例如要将文件file.txt的所有者修改为user2
sudo chown -R user2 file.txt 还可以通过指定用户和组的组合来修改所有者使用冒号:分隔 例如 chown zzx:root file.txt 拥有者为zzx,所属组为root 3.4.3 chgrp修改文件或目录的所属组
功能修改文件或目录的所属组。 格式chgrp [参数] 所属组 文件或目录
使用-R选项来递归修改目录及其子目录中的所有文件的所属组
要将文件file.txt的所属组修改为group
chgrp group file.txt
同样地可以通过指定用户和组的组合来修改所属组
chgrp user:group file.txt
递归修改目录及其子目录中的所有文件的所属组
chgrp -R group directory/
注只有root用户或文件的所有者才能使用chown和chgrp命令修改文件的所有者和所属组。此外修改文件的所有者和所属组可能需要管理员权限。所以上面命令不能执行时要加上sudo。
3.4.4 umask查看或修改文件掩码
新建文件默认权限0666新建目录默认权限0777 但实际上你所创建的文件和目录看到的权限往往不是上面这个值。 原因就是创建文件或目录的时候权限还要受到umask的影响。 权限掩码umask是一个用来设置新创建文件或目录默认权限的参数三位八进制数。它决定了在创建新文件或目录时要屏蔽掉的权限位。 umask中的每一位对应一个权限位如果对应位设置为1则表示对应权限位被屏蔽不会出现在新创建文件或目录的默认权限中。 假设默认权限是mask则实际创建的出来的文件权限是: mask ~umask 例如如果umask值为022则表示屏蔽掉组和其他用户的写权限。 那么在创建新文件时默认权限就会去掉写权限即644rw-r--r-- 在创建新目录时默认权限会去掉写和执行权限即755rwxr-xr-x。 注意
umask值只影响新创建的文件和目录的默认权限不会影响已经存在的文件和目录的权限。通过合理设置umask值可以控制新创建文件和目录的默认权限从而提高系统的安全性。 umask的使用 使用umask命令可以查看当前的umask值
umask
使用umask命令可以设置新的umask值例如将umask设置为022
umask 022 最终权限值 默认权限值 (~umask)
3.5 目录的权限 -x 可执行权限: 目录没有可执行权限, 则无法cd到目录中.-r 可读权限: 目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.-w 可写权限: 目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件. 注意
目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限则无法对目录执行任何命令甚至无法cd 进入目, 即使目录仍然有-r 读权限这个地方很容易犯错认为有读权限就可以进入目录读取目录下的文件而如果目录具有-x权限但没有-r权限则用户可以执行命令可以cd进入目录。但由于没有目录的读权限所以在目录下即使可以执行ls命令但仍然没有权限读出目录下的文档。
一个文件一定是属于一个目录的 一个文件属性能不能查看是由目录是否具有r权限决定的. 一个文件能不能被创建或删除由文件所属目录是否有w权限决定与文件本身的权限无关。 一般而言不同的账号是不会在同一个目录的但是如果我们多个账号想互相协同共享一些数据呢那他们就有了目录的w权限岂不是他们就可以随意在该目录里面新建和删除了吗 答案是可以的。 [rootlocalhost ~]# chmod 0777 /home/
[rootlocalhost ~]# ls /home/ -ld
drwxrwxrwx. 3 root root 4096 11月 23 15:58 /home/
[rootlocalhost ~]# touch /home/root.c
[rootlocalhost ~]# ls -l /home/
总用量 4
-rw-r--r--. 1 root root 0 11月 23 15:58 abc.c
drwxr-xr-x. 27 user1 user1 4096 11月 23 15:53 user1
-rw-r--r--. 1 root root 0 11月 23 15:59 root.c
[rootlocalhost ~]# su - litao
[user1localhost ~]$ rm /home/root.c #user1可以删除root创建的文件
rm是否删除有写保护的普通空文件 /home/root.cy
[user1localhost ~]$ exit
logout 为了解决这个不科学的问题, Linux引入了粘滞位的概念
3.6 粘滞位
功能限制对目录的删除操作。
格式chmod -t 目录
当一个目录被设置为粘滞位,则该目录下的文件只能由
超级管理员删除该目录的所有者删除该文件的所有者删除
[rootlocalhost ~]# chmod t /home/ # 加上粘滞位
[rootlocalhost ~]# ls -ld /home/
drwxrwxrwt. 3 root root 4096 11月 23 16:00 /home/
[rootlocalhost ~]# su - litao
[litaolocalhost ~]$ rm /home/abc.c #litao不能删除别人的文件
rm是否删除有写保护的普通空文件 /home/abc.cy
rm: 无法删除/home/abc.c: 不允许的操作
注意
粘滞位只对目录起作用对文件没有影响。因此不能将粘滞位应用于文件。粘滞位常常用于公共目录如/tmp目录以防止其他用户删除其他用户的文件。
3.7 普通用户使用sudo提权
前面在创建用户和修改文件时用到了sudo指令下面来详细介绍。 sudo是linux系统管理指令允许系统管理员让普通用户执行一些或者全部的root命令。 格式sudo [命令]
实例
$ sudo useradd -m user2
$ sudo chown -R user2 file.txt
当我们使用非root用户且不在信任列表中sudo命令进行提权输入的是用户的密码而不是root的密码。当没有添加用户到信任列表中用户就无法进行sudo 添加用户到信任列表的步骤 切换为root用户(需要知道root用户的密码)执行命令vim /etc/sudoers然后在一个配置文件目录下的信任列表文件里进行修改按照相同格式添加用户,wq!强制保存退出。