CentOS8基础篇6:文件属性的读取和修改
一、文件属性
每一行代表对应文件或目录的详细信息。从左到右具体的含义是文件属性、文件数、拥有者、所属的组、文件大小、建立月份、建立日期、建立年份或时间、以及文件名。其中“建立年份或时间”字段,如果文件是今年建立的,则显示具体时间,如果是往年建立的,则显示年份。
文件属性由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:文件属性的读取和修改相关推荐
- CentOS8基础篇1:VMware 安装CentOS8 教程
一.准备工作 1.准备一台服务器 1)下载VMware https://jssoft.bangtengxinxi.com/vmware/index360.html?source=360a&un ...
- windows文件属性信息读取与修改,文件属性标题作者修改
使用 IPropertyStorage interface (Windows) 接口处理,com技术.
- Linux随笔-鸟哥Linux基础篇学习总结(全)
Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...
- R语言与金融大数据处理——基础篇(代码)
# 加百力咨询: <R语言与金融大数据处理> - <基础篇> (v1.0) # 最后修改时间:2014-04-23(17.3)# 加百力咨询: <R语言与金融大数据处理& ...
- 7.3 TensorFlow笔记(基础篇):加载数据之从队列中读取
前言 整体步骤 在TensorFlow中进行模型训练时,在官网给出的三种读取方式,中最好的文件读取方式就是将利用队列进行文件读取,而且步骤有两步: 1. 把样本数据写入TFRecords二进制文件 2 ...
- OpenCV基础篇之读取显示图片
程序及分析 /* * FileName : read.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 13 May ...
- Java基础篇之如何读取字符串
上一篇文章中讲述了如何读取字符,本篇就说说如何读取字符串.从键盘读取字符串,使用readLine().它是BufferedReader 类的成员.它的通常形式如下: String readLine( ...
- 鸟哥的Linux私房菜(基础篇)- 第八章、Linux 磁盘与文件系统管理
第八章.Linux磁盘与文件系统管理 最近升级日期:2009/08/30 系统管理员很重要的任务之一就是管理好自己的磁盘文件系统,每个分割槽不可太大也不能太小,太大会造成磁盘容量的浪费,太小则会产生文 ...
- 鸟哥的Linux私房菜(基础篇)- 第六章、Linux 的文件权限与目录配置
第六章.Linux的文件权限与目录配置 最近更新日期:2009/08/18 Linux最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要 ...
最新文章
- 《需求分析与系统设计》读书笔记1
- Java NIO系列教程(十二) Java NIO与IO
- 计算机对口升学可以报考的学校,对口升学可以报考的学校都在这里,赶快来收藏吧...
- 常量指针、指针常量以及指向常量的指针常量
- 2021年3月程序员工资统计,平均15189元,又涨了
- module.exports与exports
- python使用长ping命令_在Python中调用Ping命令,批量IP的方法
- mysql 如何避免间隙锁_mysql 间隙锁
- 各种常见3D建模软件比较
- 记小程序uniapp 语音播放
- 微分几何笔记(8) —— 切向量,切空间
- tesseract-ocr验证码识别
- mysqldb 安装包 linux,Linux下Python MySQLdb模块安装过程及错误解决
- Xss小游戏通关攻略带解释
- android+高仿视频录制,高仿微信视频录制, 涂鸦水印添加, 基于 ffmpeg 视频编辑
- docker-compose up命令
- c语言volatile含义,c语言中volatile关键字是什么含义怎么办呢?
- element 合计
- TeleGram都有哪些限制?
- 你的网站为什么被黑?