主页 > 其他  > 

Linux权限

Linux权限

文章目录 用户管理基本认识用户管理基本指令 权限文件/目录权限权限修改文件/目录权限修改用户权限修改 权限掩码目录的权限粘滞位

用户管理 基本认识

Linux下有两种用户:超级用户(root)、普通用户。 超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

命令:su [用户名] 功能:切换用户。 普通用户切普通用户要密码 普通用户切超级用户要密码 超级用户切普通用户不要密码

每个文件和目录都有一个所有者(owner)和一个所属组(group)。这些属性用于控制对文件的访问权限和管理。

所有者(owner)是指文件或目录的创建者(用户),他拥有对该文件或目录的完全控制权,包括读取、写入和执行权限。只有文件的所有者和root用户才能修改文件的所有者或所属组。

所属组(group)是指文件或目录所属的组,组内的用户拥有与所属组相关的一些权限。例如,如果一个文件的所属组是"developers",那么属于"developers"组的用户可能具有对该文件的读取和写入权限。(可能的含义是如果不做额外设置,同一组内成员对同一文的权限相同)

用户管理基本指令 useradd:用于创建新用户。例如,useradd username会创建一个名为"username"的新用户。userdel:用于删除用户。例如,userdel username会删除名为"username"的用户。usermod:用于修改用户的属性,如用户名、密码、用户ID等。例如,usermod -l newusername oldusername会将"oldusername"修改为"newusername"。passwd:用于设置用户的密码。例如,passwd username会提示您输入新密码并将其与用户名关联。groupadd:用于创建新用户组。例如,groupadd groupname会创建一个名为"groupname"的新用户组。groupdel:用于删除用户组。例如,groupdel groupname会删除名为"groupname"的用户组。usermod -aG:用于将用户添加到其他用户组。例如,usermod -aG groupname username会将"username"添加到"groupname"用户组中。id:用于查看用户的详细信息,包括用户ID、所属组等。例如,id username会显示名为"username"的用户的详细信息 权限 文件/目录权限

ls -l :

文件类型(记不住哒,知道就行) d:文件夹 -:普通文件 l:软链接(类似Windows的快捷方式) b:块设备文件(例如硬盘、光驱等) p:管道文件 c:字符设备文件(例如屏幕等串口设备) s:套接口文件

权限表示方法

权限修改 文件/目录权限修改

chmod 功能:设置文件的访问权限 格式:chmod [参数] 权限 文件名 常用选项:R -> 递归修改目录文件的权限 说明:只有文件的拥有者和root才可以改变文件的权限

使用方法一:用户表示符 +/-= 权限字符

+:向权限范围增加权限代号所表示的权限 -:向权限范围取消权限代号所表示的权限 =:向权限范围赋予权限代号所表示的权限 用户符号: u:拥有者 g:拥有者同组用 o:其它用户 a:所有用户

# chmod u+w /home/abc.txt # chmod o-x /home/abc.txt 使用方法二 : 用三位八进制数 # chmod 664 /home/abc.txt # chmod 640 /home/abc.txt 用户权限修改

chown 功能:修改文件的拥有者 格式:chown [参数] 用户名 文件名 常用选项:-R 递归修改文件或目录的拥有者

chgrp 功能:修改文件或目录的所属组 格式:chgrp [参数] 用户组名 文件名 常用选项:-R 递归修改文件或目录的所属组

file 功能说明:辨识文件类型。 语法:file [选项] 文件或目录…

文件配置分配权限 (很难记住,知道有配置文件可以分配不同用户的登录、执行指令权限即可)

进入配置文件 sudo visudo // 进入配置文件

2.修改

username ALL=(ALL:ALL) command

其中,username是要分配权限的用户名,command是允许执行的命令(因为平时执行的指令都是由环境变量自动补全,所以不用写出完整指令路径,这里要写出指令的完整路径)。

bob ALL=(ALL:ALL) ALL

在sudoers文件中,(ALL:ALL) 表示允许用户在任何主机以任何用户身份执行任何命令。让我们对这个语法进行解释: 第一个 ALL 表示允许用户在任何主机上执行命令。 第二个 ALL 表示允许用户以任何用户身份执行命令。 第三个 ALL 表示允许用户执行任何命令。

示例:

示例: bob ALL=(root:root) /bin/ls:允许用户bob在任何主机上以root用户身份执行/bin/ls命令。 bob localhost=(root) /sbin/reboot:允许用户bob在本地主机上以root用户身份执行/sbin/reboot命令。 bob ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get:允许用户bob在任何主机上以任何用户身份执行/usr/bin/apt-get命令,而且无需输入密码。

sudo指令分配权限 示例:

/usr/sbin/useradd u2

解释一下该命令的各个部分:

sudo:表示以超级用户(root)的身份执行命令。 -u root:表示以root用户的身份执行命令。这是通过sudo命令指定要切换的用户。 /usr/sbin/useradd:是要执行的命令,即创建用户的命令。(要写出指令的完整路径) u2:是要创建的用户名

权限掩码

umask 功能;查看或修改文件掩码 格式:umask 权限值 说明:

将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用 户默认为0002。

新建文件夹默认权限=0666, 新建目录默认权限=0777 , 实际创建的出来的文件权限是: mask & ~umask . (即如果掩码为0022时创建出来目录的权限值为 0 7 5 5 ,即d rwx r-x r-x)

# umask //查看 # umask 044//设置 目录的权限

可执行权限: 如果目录没有可执行权限, 则无法cd到目录中 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容. 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件

粘滞位

概述:可以防止其他用户删除粘滞位目录内用户的文件,如果其他用户具有对文件的写权限,其他用户仍然可以修改文件内容。

用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限。 上述情况可以发生,为了防止这种现象发生,可以设置粘滞位,粘滞位(Sticky Bit)是一种特殊的权限位,用于设置目录的权限。当粘滞位被设置在一个目录上时,只有目录的所有者、文件的所有者和超级用户才能够删除或重命名目录中的文件’

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

记忆:超级管理员是国家、目录所有者是土地局、文件所有者是

设置粘滞位的方法示例:

使用数字模式设置粘滞位为 t: chmod 1777 directory_name 使用符号模式设置粘滞位为 t: chmod +t directory_name 使用符号模式设置粘滞位为 T: chmod +T directory_name

请注意,只有对目录设置粘滞位才有意义,对于文件来说是没有作用的。此外,粘滞位只对目录中的文件生效,对目录本身没有影响。

标签:

Linux权限由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Linux权限