linux修改message权限,18_Linux基础知识及命令————改变文件的权限

一、权限的分类

Linux中,文件的权限主要有三类:

r:读权限(read)

w:写权限(write),创建新文件也属于w权限

x:执行权限(excute),如果文件具有x权限,则表示文件可以发起进程;若目录具有x权限,表示目录可以使用ls-l查看,可以使用cd切换至该目录中。

针对具体的文件,权限一共有9位,前三位属主,用u表示(user);中间三位属组,用g表示(group),最后三位属于其他,用o表示(other)。因此所有的权限如下表:

字母表示二进制表示八进制表示描述

---0000无权限

--x0011执行权限

-w-0102写权限

-wx0113写和执行权限

r--1004只读权限

r-x1015读和执行权限

rw-1106读写权限

rwx1117读、写和执行权限

三位2进制数可以表示一个八进制数,因此在实际操作中,我们可以用阿拉伯数字数字来表示三类用户对文件的权限。例如:

777: rwxrwxrwx// 属主u:读、写和执行;属组g:读、写和执行;其他o:读、写和执行

755: rwxr-xr-x// 属主u:读、写和执行;属组g:读和执行;其他o:读和执行

750: rwxr-x---// 属主u:读、写和执行;属组g:读和执行;其他o:无权限

700: rwx------// 属主u:读、写和执行;属组g:无权限;其他o:无权限

644: rw-r--r--// 属主u:读写;属组g:读;其他o:读

640: rw-r-----// 属主u:读写;属组g:读;其他o:无权限

600: rw-------// 属主u:读、写;属组g:无权限;其他o:无权限

440: r--r-----// 属主u:只读;属组g:只读;其他o:无权限

400: r--------// 属主u:只读;属组g:无权限;其他o:无权限

二、改变文件权限(mode):

在Linux中,改变文件权限的常用命令如下所示:

# chmod [option] MODE FILE_NAME

权限定义的方式主要有如下两种:

1.同时修改三类用户的权限:采用8进制数字方式

2.修改某一类或某些类用户的权限:u,g,o, a

采用的形式可以是:

u=rw

u=rwx,g=r--

ug=r---wx

ugo=-w-r----x

a=rwx

如改变文件message的其他权限为只读:

# chmod o=r message

改变文件message的属组权限为读写:

# chmod g=rw message

改变文件message三类用户的权限为只读权限:

# chmod ugo=r message

改变文件message属主属组为读写权限:

# chmod ug=rw message

同时改变三类用户的权限,可以用 a(All)来表示ugo,如改变文件message三类用户为读写权限:

# chmod a=rw message

可以用逗号分隔,来同时改变多类用户的不同权限,如改变文件message的属组为只读权限,其他用户没有任何权限:

# chmod g=r,o=--- message

e0506eb93f7f4bf6177259b4181b0fb7.png

3.只操作某类用户的某位权限或某些权限

可以使用u,g,o,a和+/-等符号来进行此项操作:

如给message的属组加上写权限:

# chmod g+w message

如给message的所有用户都加上/去掉执行权限,注意a可以省略:

# chmod +x message

# chmod -x message

如去掉message属主用户的读写权限:

# chmod u-rw message

c375e5bb3871521cbec547c77650cc4f.png

注意以上的权限修改改的是文件本身的权限,如果文件是目录,那么修改的就是目录的权限,而非目录里的文件权限。

如进行以下操作:

# ls /var/log

# cp /etc/inittab /var/log/cups

# cp /var/log/cups ./ -r

# ls -l

# ls -l cups

就会发现目录 cups和cups里的文件各类用户的权限是不一样的

5340e844c17a4249861329df5091e0e5.png

下面我们可以分别对目录cups 和其中的文件进行权限修改:

# chmod o=--- cups/

# ls -l

此时可以看到cups目录的权限已经被修改了,但是输入以下命令:

# ls -l cups

则会发现其中的文件权限没有受到影响

d8f28aa80a2523ab296b110d4f132171.png

如果想要修改目录权限的同时也修改目录中文件的权限,则可以使用-R选项进行递归修改:

如同时去掉目录cups和其中的文件inittab的全部属组权限,可以进行如下操作:

# chmod -R g=--- cups/

#ls -l

#ls -l cups

9f899d55e96870079ede1ca7caefc93a.png

改变文件权限时可以使用--reference选项。此选项的使用格式为:

#chmod --reference=[PATH]/FILE_NAME1 FILE_NAME2

它的作用是将 FILE_NAME2的权限改为FILE_NAME1的权限,例如:

# ls -ld /etc   // -ld 选项是用来查看目录本身的权限的,这里查看的是目录/etc的权限

# ls -l       // 查看当前目录下cups的目录权限,可以发现cups和/etc的权限不一致

# chmod --reference=/etc cups   //将cups的权限改为etc的权限

# ls -l      // 此时可以看到cups和/etc的权限一致了

11443a42805ded32600270f5c64255dc.png

-R 和--reference两个选项可以一起使用,但这种情况并不常见,因为多数时候文件的权限并不相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值