一、文件属性

每一行代表对应文件或目录的详细信息。从左到右具体的含义是文件属性、文件数、拥有者、所属的组、文件大小、建立月份、建立日期、建立年份或时间、以及文件名。其中“建立年份或时间”字段,如果文件是今年建立的,则显示具体时间,如果是往年建立的,则显示年份。

文件属性由10个字母组成,其中第一个字母表示文件类型,后九个字母分为三组,表示文件的访问权限。

文件属性的第一个字母是类型标识,用来说明文件的类型。在Linux操作系统中,共有七种文件类型,分别是:

d (directory) 目录文件。

l (link) 符号链接。

s (socket) 套接字文件。

b  (block)块设备文件,二进制文件。

c  (character)字符设备文件。

p (pipe) 命名管道文件。

-  普通文件,或者更准确地说,不属于以上几种类型的文件。

用户对文件的操作权限分为读、写和执行三种,分别用r、w、x表示。若用户没有某个权限,则在相应权限位用“-”占位,代表无此权限。

若文件具有x属性,是可执行的文件。具有x属性的文件一般是二进制程序文件或可执行的脚本文件。若目录具有x属性,则表示允许打开该目录中的文件,并且可用cd命令进入该目录。

只有root用户和文件拥有者才可以修改文件访问权限。

二、修改文件属性

1.修改文件访问权限的chmod命令

(1)绝对权限方法

文件的九位权限除了可用r、w、x来表示外,还可用一个3位的十进制数字来表示。

比如644,其百位上的数字代表文件拥有者的权限,十位上的数字代表所属用户组的权限,个位上的数字代表其他用户对该文件的权限。这种采用数字来表示权限的方法,称为绝对权限表示法也称为数字权限表示法。

由于用户的权限是用rwx来表示的,没有的权限对应位置上用“-”表示,有权限的位置可用1表示,没有权限的位置用0来表示,这样就会形成一个3位的二进制编码,然后将该二进制数转换成对应的十进制数,这样就得到一个0~7的数,从而就可以实现十进制数来表示用户对文件的权限。

具体做法是将r的对应值设为4,w的对应值设为2,x的对应值设为1。

命令格式:chmod   [选项]   绝对权限值   要修改的文件或目录名称

chmod命令常用的选项是-R,其功能是可以递归设置指定目录下的全部文件(包括子目录和子目录中的文件)的权限。

〖例3.18〗修改当前目录下test文件的访问权限使所有用户对该文件均有读写权限。

#chmod  666  test

(2)相对权限方法

使用相对权限方法修改文件权限,命令格式:

chmod   修改对象 运算符 用户权限   要修改的文件或目录名称

其中修改对象位置上可以是u(文件拥有者)、g(同组用户)、o(其他用户)、a(全体用户)的任意组合。运算符位置上可以是+(添加)、-(删除)、=(只赋值)中的任意一个。

用户权限上写的是r、w、x的任意组合。

例如,对文件test的组用户添加写权限,则执行命令:chmod  g + w  aaa。

〖例3.19〗修改当前目录下test文件的访问权限使所有用户对该文件均有读写权限。

#chmod  a+rw  test

或者

#chmod  ugo+rw  test

〖例3.20〗增加组用户对当前目录下file文件的写权限,取消其他用户对file文件的读权限。

#chmod  g+w  file

#chmod  o-r  file

如果修改前file文件的权限是644,那么修改后file文件权限是660。

2.修改文件所有者的chown命令

文件或目录的创建者,一般是该文件或目录的拥有者,对文件具有最高的使用权。

root用户可以将一个文件或目录的拥有权转让给其他用户,使其他用户成为该文件或目录的拥有者。

通过chown命令还可以修改文件所属的组。

命令格式:chown   [选项]   新所有者.新用户组   要修改的文件或目录名称

chown命令常用的选项是-R,其功能是可以递归设置指定目录下的全部文件(包括子目录和子目录中的文件)的所属关系。

〖例3.21〗将当前目录下的file文件的拥有者修改为tom,所属组改为tom组。

#chown  tom.tom  file  或者

#chown  tom:tom  file

〖例3.22〗将当前目录下的file文件的所属组改为tom组。

#chown  .tom  file 或者

#chown  :tom  file

注意“.”或“:”的作用。

3.提升用户权限

1)使用su命令切换用户

在su命令后加用户名称,可以切换系统当前用户身份。在用户切换的时候,从root用户向普通用户可以直接进行切换,反之则需要root账号密码。这是因为root用户是系统中权限最高的用户,可以切换到任意身份不需要密码。普通用户之间切换需要密码验证。

在切换用户身份时,通常需要增加“-”选项,例如#su - tom命令表示切换到tom用户。“-”选项表示:切换用户时,使环境变量(home,Shell,user,logname,path等)和欲切换的用户相同,不使用该选项则取得的只是用户的临时权限。

2)使用sudo命令提升权限

root用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在/etc/sudoers文件中,即完成对该用户的授权(此时该用户称为“sudoer”)。

sudoer用户需要取得特殊权限时,可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行,对于普通用户来讲不需要知道root用户的密码,这样可以提高系统的安全性。

〖例3.23〗root用户需要创建一个普通用户teacherli具有管理员权限,并执行系统的日常维护工作,则可以把teacherli用户设为sudoer。具体方法如下:

第1步:查看是否已经安装了sudo

#rpm  –qa | grep  sudo

sudo-1.8.6p7-16.el7.x86_64

如果没有安装sudo,可以在系统光盘中找到sudo的rpm包进行安装:

#rpm  –ivh  /media/Packages/sudo-1.8.6p7-16.el7.x86_64

第2步:编辑/etc/sudoers文件

在文件的最后插入:

teacherli  ALL=(ALL)  ALL

保存退出。此后,以teacherli登录系统,就可以以sudo 命令的方式进行系统的管理了。

例:teacherli向系统添加用户lihua

用户teacherli做为一个普通用户账号,是没有权限执行useradd命令向系统添加用户的,但是做为一个sudoer则可以通过使用$sudo  useradd  lihua然后在系统提示“[sudo] password for teacherli:”时输入teacherli的口令确认后即可。

如果需要指定某个用户只能执行指定的命令,则可以在/etc/sudoers文件中按照如下格式插入一行:

用户账户名  可执行的命令列表

例如,让john用户只具有执行添加用户组的命令权限。

john  localhost=/usr/sbin/goupadd

项目二:文件属性的读取和修改

操作过程:

以dguser0102账号登录系统

$touch  /tmp/ourfile  //此时若其他用户修改文件ourfile,则系统会报“文件只读”,而不能完成修改功能。

$chmod  666  /tmp/ourfile   //修改ourfile文件的访问权限。

CentOS8基础篇6:文件属性的读取和修改相关推荐

  1. CentOS8基础篇1:VMware 安装CentOS8 教程

    一.准备工作 1.准备一台服务器 1)下载VMware https://jssoft.bangtengxinxi.com/vmware/index360.html?source=360a&un ...

  2. windows文件属性信息读取与修改,文件属性标题作者修改

    使用   IPropertyStorage interface (Windows) 接口处理,com技术.

  3. Linux随笔-鸟哥Linux基础篇学习总结(全)

    Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...

  4. R语言与金融大数据处理——基础篇(代码)

    # 加百力咨询: <R语言与金融大数据处理> - <基础篇> (v1.0) # 最后修改时间:2014-04-23(17.3)# 加百力咨询: <R语言与金融大数据处理& ...

  5. 7.3 TensorFlow笔记(基础篇):加载数据之从队列中读取

    前言 整体步骤 在TensorFlow中进行模型训练时,在官网给出的三种读取方式,中最好的文件读取方式就是将利用队列进行文件读取,而且步骤有两步: 1. 把样本数据写入TFRecords二进制文件 2 ...

  6. OpenCV基础篇之读取显示图片

    程序及分析 /* * FileName : read.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 13 May ...

  7. Java基础篇之如何读取字符串

    上一篇文章中讲述了如何读取字符,本篇就说说如何读取字符串.从键盘读取字符串,使用readLine().它是BufferedReader 类的成员.它的通常形式如下: String readLine( ...

  8. 鸟哥的Linux私房菜(基础篇)- 第八章、Linux 磁盘与文件系统管理

    第八章.Linux磁盘与文件系统管理 最近升级日期:2009/08/30 系统管理员很重要的任务之一就是管理好自己的磁盘文件系统,每个分割槽不可太大也不能太小,太大会造成磁盘容量的浪费,太小则会产生文 ...

  9. 鸟哥的Linux私房菜(基础篇)- 第六章、Linux 的文件权限与目录配置

    第六章.Linux的文件权限与目录配置 最近更新日期:2009/08/18 Linux最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要 ...

最新文章

  1. 《需求分析与系统设计》读书笔记1
  2. Java NIO系列教程(十二) Java NIO与IO
  3. 计算机对口升学可以报考的学校,对口升学可以报考的学校都在这里,赶快来收藏吧...
  4. 常量指针、指针常量以及指向常量的指针常量
  5. 2021年3月程序员工资统计,平均15189元,又涨了
  6. module.exports与exports
  7. python使用长ping命令_在Python中调用Ping命令,批量IP的方法
  8. mysql 如何避免间隙锁_mysql 间隙锁
  9. 各种常见3D建模软件比较
  10. 记小程序uniapp 语音播放
  11. 微分几何笔记(8) —— 切向量,切空间
  12. tesseract-ocr验证码识别
  13. mysqldb 安装包 linux,Linux下Python MySQLdb模块安装过程及错误解决
  14. Xss小游戏通关攻略带解释
  15. android+高仿视频录制,高仿微信视频录制, 涂鸦水印添加, 基于 ffmpeg 视频编辑
  16. docker-compose up命令
  17. c语言volatile含义,c语言中volatile关键字是什么含义怎么办呢?
  18. element 合计
  19. TeleGram都有哪些限制?
  20. 你的网站为什么被黑?

热门文章

  1. ping 全网段CMD命令
  2. 乐pro3刷LineageOS 出现错误07
  3. 洛谷P5206/loj2983 [WC2019]数树
  4. 计算机网络二学位实验报告,计算机网络实验报告华科二学位.doc
  5. ORA-32036: 不支持 WITH 子句中串联式查询名的形式 后台报错问题
  6. FPGA市场现状和未来趋势
  7. number precious解决精度问题
  8. 软件测试7年的工程师,讲述当初是怎么突破的瓶颈?少走弯路
  9. 信息的移动应用的机遇:质检局、工商局、药监局等移动执法系统
  10. 告诉你如何应对HR索要薪资证明!