首页 > 系统相关 >【7.0】Linux之基本权限

【7.0】Linux之基本权限

时间:2023-08-22 10:14:57浏览次数:45  
标签:文件 filename 7.0 Linux bgx 权限 root 目录

【一】什么是权限?

  • 我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。

【二】为什么要有权限?

  • 因为系统中不可能只存在一个root用户,一定会存在多个用户,为了保护每个登陆用户的隐私和工作环境,所以就有了权限。(比如三个租客合租同一个房子,a租客要使用b租客的肥皂,那这个事情??)

【三】权限与用户之间的关系?

  • 在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。

  • 用户对文件资源,有三种角色ugo,当一个用户访问文件流程如下

    • 判断用户是否为文件所有者,如果是则按所有者的权限进行访问

    • 判断用户是否为文件所有组成员,如果是则按组的权限进行访问

    • 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问

【四】权限中的rwx分别代表什么含义?

  • 当我们使用ls -l查看一个文件的详细属性时,能看到每个文件都有一个9位基本权限位
    • 比如: rwxr-xr-x其中每三位字符为一组
    • 分别表示属主权限位,属组权限位,匿名权限位。
  • linux中基本权限位则是使用这9位字符来表示
    • 主要控制文件属主(User)、属组(Group)、其他用户(Other)
字母 含义 对应权限
r(read) 读取权限 4
w(write) 写入权限 2
x(execute) 执行权限 1
-(没有权限) 没有权限 0
  • PS: 如果权限位不可读、不可写、不可执行,则全部使用-作为占位符表示。

【五】权限设置示例

  • 文件示例: rwxrw-r– alice hr file1.txt
  • Q1: alice对file1文件拥有什么权限?
  • Q2: jack 对 file1.txt 文件有什么权限? 前提:jack 属于 hr 组
  • Q3: tom 对 file1.txt 文件有什么权限?

【1】为什么要设定权限,我们又如何修改一个文件的权限?

Q1: 为什么要设定权限,可以赋于某个用户或组 – 能够以何种方式 – 访问某个文件
Q2: Linux下使用chmod命令来变更权限,root用户可以变更所有文件的权限,而普通用户仅能变更属于自己的文件。

【2】使用chmod设定权限示例

方式一: user group other

[root@bgx ~]# touch file                    #创建文件
[root@bgx ~]# chmod a=rwx file              #给所有人添加读写执行权限
[root@bgx ~]# chmod a=-rwx file             #取消所有的权限
[root@bgx ~]# chmod u=rwx,g=rw,o=- file     #属主读写执行,属组读写,其他人无权限
[root@bgx ~]# chmod ug=rwx,o=r file         #属主属组读写执行,其他人读权限
[root@bgx ~]# ll file
-rwxrw-r-- 1 root root 0 Apr 13 03:29 file

方式二、number

#选项:  -R递归修改
[root@bgx ~]# touch file
[root@bgx ~]# chmod 644 file
[root@bgx ~]# chmod 600 file
[root@bgx ~]# ll file
-rw------- 1 root root 0 Apr 13 03:29 file

#针对目录设定权限
[root@bgx ~]# mkdir dir
[root@bgx ~]# chmod 777 dir/    #修改目录允许所有人访问
[root@bgx ~]# chmod -R 755 dir/ #修改目录及子目录权限
[root@bgx ~]# ll -d dir/
drwxr-xr-x 2 root root 6 Apr 13 03:34 dir/

【3】权限设置案例

  • 针对 hr 部门的访问目录/home/hr 设置权限,要求如下:
    • 1.root 用户和 hr 组的员工可以读、写、执行
    • 2.其他用户没有任何权限
[root@bgx ~]# groupadd hr
[root@bgx ~]# useradd hr01 -G hr
[root@bgx ~]# useradd hr02 -G hr
[root@bgx ~]# mkdir /home/hr
[root@bgx ~]# chgrp hr /home/hr
[root@bgx ~]# chmod 770 /home/hr
[root@bgx ~]# ll -d /home/hr
drwxrwx--- 2 root hr 6 Apr 13 03:26 /home/hr

【六】权限设置案例

  • 在Linux中权限对文件和对目录的影响是有不同区别的。
权限 对文件的影响 对目录的影响
读取权限(r) 具有读取阅读文件内容权限 具有浏览目录及子目录
写入权限(w) 具有新增、修改文件内容的权限 具有增加和删除目录内文件
执行权限(x) 具有执行文件的权限 具有访问目录的内容(取决于目录中文件权限)
  • 文件权限实验案例:
#1.新建文件,并添加内容至文件中,默认文件匿名用户仅有读权限
[root@lqz ~]# echo "date" > filename
[root@lqz ~]# ll filename
-rw-r--r-- 1 root root 5 Jan 24 08:24 filename

#2.切换bgx普通用户
[root@lqz ~]# su - bgx

#3.对文件拥有读取的权限,但bgx用户对文件没有执行和删除的权限
[bgx@lqz ~]$ cat  /root/filename
date

#4.使用root增加x执行权限
[root@lqz ~]# chmod o+x /root/filename
[root@lqz ~]# ll /root/filename
-rw-r--r-x 1 root root 5 Jan 24 08:24 /root/filename

#5.测试x权限是否真的能执行该文件
[bgx@lqz ~]$ /root/filename
Wed Jan 24 08:28:34 EST 2018

#6.增加w执行权限
[root@lqz ~]# chmod o+w /root/filename
[root@lqz ~]# ll /root/filename
-rw-r--rwx 1 root root 5 Jan 24 08:24 /root/filename

#7.测试执行权限
[bgx@lqz ~]$ vim /root/filename
  • PS: 总结rwx对文件的影响

  • 读取权限(r)具有读取阅读文件内容权限

    • 1.只能使用查看类命令cat、head、tail、less、more
  • 写入权限(w)具有新增、修改文件内容的权限

    • 1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
    • 2.使用echo命令重定向的方式可以往文件内写入数据,>>可以进行追加
    • 3.不能删除文件,因为删除文件看的不是文件的属性,需要看上级目录是否有w的权限
  • 执行权限(x)具有执行文件的权限

    • 1.执行权限什么用都没有
    • 2.如果普通用户需要执行文件,需要配合r权限
  • 目录权限实验案例:

#示例1: 创建目录,并在该目录下创建文件,匿名用户对目录没有w权限,对文件有777权限 
[root@lqz ~]# mkdir /dirname
[root@lqz ~]# echo "test" >> /dirname/filename
[root@lqz ~]# chmod 777 /dirname/filename

#普通用户验证权限,能正常查看,但无法删除[奇怪]
[bgx@lqz ~]$ cat /dirname/filename
test
[bgx@lqz ~]$ rm -f /dirname/filename
rm: cannot remove ‘/dirname/filename’: Permission denied


#示例2: 设置目录777权限,相当于匿名用户对目录有w权限,对文件没有任何权限
[root@lqz ~]# chmod 777 /dirname/
[root@lqz ~]# chmod 000 /dirname/filename

#普通用户验证权限
[bgx@lqz ~]$ cat /dirname/filename
cat: /dirname/filename: Permission denied
[bgx@lqz ~]$ rm -f /dirname/filename
[bgx@lqz ~]$ touch /dirname/filename_2
  • PS: 总结rwx对目录的影响

  • 读取权限(r),如果目录只有r权限: 具有浏览目录及子目录权限

    • 1.可以使用ls命令浏览目录及子目录, 但同时也会提示权限拒绝
    • 2.使用ls -l命令浏览目录及子目录,文件属性会带问号,并且只能看到文件名
    • 总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限
  • 写入权限(w),如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x权限配合)

    • PS: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关)

    • 不能进入目录、不能复制目录、不能删除目录、不能移动目录

  • 执行权限(x),如果目录只有x权限

    • 1.只能进入目录
    • 2.不能浏览、复制、移动、删除
  • Linux权限总结与注意事项

    • 文件r权限, 只给用户查看,无其他操作
    • 文件rw权限, 可以查看和编辑文件内容
    • 文件rx权限, 允许查看和执行文件、但不能修改文件—–>PASS
    • 文件rwx权限, 能读,能写,能执行,但不能删除,因为删除需要看上级目录的权限有没有w—–>PASS
    • 目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录
    • 目录wx权限, 能进入目录,能删除内容,能写入内容,但就是无法使用ls cat这样的命令—–>PASS
    • 目录rw权限, 能看,能写,但无法进入目录—–>PASS
    • PS: 文件的 x权限小心给予,目录的 w权限小心给予。
    • PS: 文件通常设定的权限是644,目录设定的权限是755
    • PS: 控制目录权限755, 如果有普通用户需要操作目录里面的文件,在来看文件的权限

【七】属主属组设置

  • 变更文件属主和属组的意义?
  • 比如: 我现在手里有多套房,希望出售其中的A房进行变现,那么我会考虑将A房过户给金主,过户成功后A房就属于金主了,那么此时A房的拥有者就属于金主而不再属于我。

  • 在Linux中如何变更一个文件或者一个资源的属主和属组呢,可以使用chown、chgrp命令实现。
  • chown能设置属主和属组,chgrp仅能设置属组。(所以用哪个你懂的)
#chown 更改属主以及属组 -R:递归修改

#准备环境,创建文件和目录
[root@bgx ~]# mkdir dir/test1 && touch dir/file

#示例1: 修改所属主为bin
[root@bgx ~]# chown bin dir/

#示例2: 修改所属组为adm
[root@bgx ~]# chown .adm dir/

#示例3: 递归修改目录及目录下的所有文件属主和属组
[root@bgx ~]# chown -R root.root dir/

标签:文件,filename,7.0,Linux,bgx,权限,root,目录
From: https://www.cnblogs.com/dream-ze/p/17647790.html

相关文章

  • 【9.0】Linux之软件管理
    【一】RPM介绍【1】什么是rpm?RPM全称RedHatPackageManager缩写,由红帽开发用于软件包的安装升级卸载与查询【2】rpm包名组成部分?RPM包命名以-将软件分成了若干部分bash-4.2.46-28.el7.x86_64.rpmbash:软件名4.2.46-28.el7:4是大版本,2是小版本,46是修订次数,28是发布次......
  • 【10.0】Linux之系统服务
    【一】Linux启动流程CentOS6启动级别CentOS6VSCentos7开机启动流程图解【二】Linux运行级别【1】什么是运行级别运行级别就是操作系统当前正在运行的功能级别SystemVinit运行级别systemd目标名称作用0runlevel0.target,poweroff.target关机1runlevel......
  • 【11.0】Linux之进程管理
    【一】介绍【1】什么是进程比如:开发写的代码我们称为程序,那么将开发的代码运行起来。我们称为进程。总结一句话就是:当我们运行一个程序,那么我们将运行的程序叫进程。PS1:当程序运行为进程后,系统会为该进程分配内存,以及进程运行的身份和权限。PS2:在进程运行的过程中,系......
  • 【12.0】Linux之计划任务
    【一】计划任务基本概述【1】什么是crondcrond就是计划任务,类似于我们平时生活中的闹钟。定点执行。【2】为什么要使用crondcrond主要是做一些周期性的任务,比如:凌晨3点定时备份数据。比如:11点开启网站抢购接口,12点关闭网站抢购接口。【3】计划任务主要分为以下两种使用......
  • 【3.0】Linux之网络
    【一】网络相关名字【1】子网掩码子网掩码是用于确定IP地址中网络部分和主机部分的标识符。它是一个32位的二进制数字,与IP地址进行按位与运算,用以划分IP地址的网络号和主机号。子网掩码中的1表示对应位置是网络号,而0表示对应位置是主机号。子网掩码的主要作用是用来确定局域......
  • 【2.0】Linux初识
    【一】虚拟环境搭建详解虚拟环境搭建是一种在计算机上创建和模拟多个独立操作系统实例的技术,从而使得一个物理计算机能够同时运行多个虚拟的操作系统环境。这种技术可以提供更好的资源利用、隔离性、灵活性和可移植性。【1】KVM(Kernel-basedVirtualMachine)KVM是一个基于......
  • 【1.0】Linux引入
    【一】什么是操作系统OperatingSystem(操作系统)简称OSWindows,MacOS,Linux都是操作系统操作系统(OperatingSystem)是计算机系统中的核心软件,它管理并控制计算机硬件和软件资源,为用户和应用程序提供统一的接口和环境。操作系统负责调度任务、分配内存、管理文件系统、提供......
  • CSharp在Linux上使用Tesseract-OCR
    CSharp在Linux上使用Tesseract-OCR 1主要思路在Linux环境中使用ASP.NETCore调用TesseractOCR引擎可以按照以下步骤进行操作: 1确保你已经在Linux上安装和配置了TesseractOCR引擎。2在你的ASP.NETCore项目中,使用NuGet包管理器或dotnet命令行工具将Tesseract包添加......
  • linux 单网卡双IP设置
    [root@xinyin-redis-mq-1~]#vim/etc/sysconfig/network-scripts/ifcfg-ens192TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="none"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT=......
  • linux那些事之页迁移(page migratiom)
    Pagemigration页迁移技术是内核中内存管理的一种比较重要的技术,最早该技术诞生于NUMA系统中(Pagemigration[LWN.net]),后续由于内存规整以及CMA和COW技术的出现,也需要用到页迁移技术,逐渐称为内核内存子系统中占有比较重要地位。页迁移在NUMA系统中的应用NUMA系统中,每个cpu运行......