文件和目录权限chmod、更改所有者chown和所属组chgrp、命令umask、 隐藏权限lsattr/chattr...

文件和目录权限chmod

1、文件或目录的权限

文件属性共11位,有的没有最后一位的点 . 共10位;

从左往右数:

第1位:描述文件类型;

第2-10位:表示权限,每3位一组;

第11位:表示是否使用了selinux,或者是否设置了acl。

 

074903_f4PH_3643875.png

1.1、第1位:描述文件类型;

d表示目录

-表示文档(包括文本文件、二进制文件等)

c表示字符串设备(如鼠标、键盘、tty等)

b表示块设备(如光驱、磁盘等 )

s表示socket文件(用于通信的文件)

l表示软连接文件

071230_Ebmk_3643875.png

071128_yveD_3643875.png

1.2、第11位:表示是否使用了selinux,或者是否设置了acl。

使用了selinux,最后一位就是点 . ;

如果设置了acl,最后一位就是 + ;

如果都没有,就是空缺的,文件属性就只有10位了;

075043_YjF5_3643875.png

1.3、第2-10位:表示权限,每3位一组;

r:可读,数值等于4(二进制0100);

w:可写,数值等于2(二进制0010);

x:可执行,数值等于1(0001);

-:非,放在r位置表示不可读,放在w位置表示不可写,放在x位置表示不可执行,数值等于0(0000);

 

如果一个文件的属性是 -rwxr-xr--.,用数字表示就是754,rwx=4+2+1,r-x=4+0+1,r--=4+0+0,表示文件的所有者(user)有rwx权限,

所属组(group)有r-x权限,

其他用户组(others)有r--权限;

 

命令chmod改变文件权限

1、直接改变文件权限

chmod(change mode),用来改变文件或目录的权限,在没有加-R选项的时候,改变的仅仅是目录本身不会改变目录下文件的权限;

#chmod [-R] xyz 文件名

-R是选项,表示连级更改,比如如果改的是文件夹的属性就连同文件夹下的文件属性一并更改;

xyz,表示数字,777,644等等;

文件名,可以是文件也可以是文件夹;

075202_dz80_3643875.png

chmod除了用数字改变权限外,还有另外一种方式,分别写出user,group,others的权限,如

#chmod u=rwx, g=rx, o=wx 文件名

-不能写,比如不可以写成g=r-x;

 

075214_v638_3643875.png

2、增加或删除权限

chmod a+x 文件名,给文件的user,group,others全部加上x权限(也可以加其他w,r 权限),当然也可以a-x全去掉。

075230_I7at_3643875.png

chmod可以只针对user,grop,others增减某权限;

例如:#chmod u-x 1.txt 删除user用户1.txt的x权限。

 

075242_pome_3643875.png

 

更改所有者chown和所属组chgrp

#cat /etc/passwd命令在末尾看到还有一个colin用户。

070334_X5DK_3643875.png

070344_U84f_3643875.png

通过#chown colin 1.txt可以把所有者改为colin;

070400_nYx8_3643875.png

070411_rbsG_3643875.png

chown不但可以改文件的所有者, 也可以改文件的所属组;

chown AA : BB 1.txt 一次性把1.txt的所有者和所属组;

chown AA 1.txt 只跟一个字符串,默认只改所有者;

chown : BB 1.txt 只跟一个冒号加字符串,只改所属组;

chown -R AA : BB /tmp/a/ 把a/目录和所有子目录和文件的所有者和所属组都更改了;

 

070450_Mzgs_3643875.png

070458_3HPQ_3643875.png

070532_IGba_3643875.png

 

命令umask

1、什么是umask

        当我们登录系统之后创建一个文件总是有一个默认权限的,这个权限是怎么来的呢?这就是umask干的事情。

        umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。

        一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。也可以直接用命令#umask  数字    修改。

1、umask计算

系统默认root用户的umask的值是0022;

普通用户的umask的值是0002;

目录默认都有x权限,这样才能打开,这样权限就是777(rwxrwxrwx);

文件默认没有x权限,不能执行,这样就是666(rw-rw-rw-);

umask值是0022的时候:

创建目录权限就是777-022=(rwxrwxrwx) - (----w--w-)=rwxr-xr-x=755;

创建文件权限就是666-022=(rw-rw-rw-)-(----w--w-)=rw-r--r--=644;

计算的时候一定按照(rw-rw-rw-)-(----w--w-)这种方式计算,以umask的值是0033为例:

如果只计算数字,创建文件就是666-033=633。

实际应该是,创建文件666-033=(rw-rw-rw-)-(----wx-wx)=rw-r--r--=644,这里 - 不论减去r、w还是x,任然是 - ;

2、umask查询

#umask查询umask的值;

074336_uiYn_3643875.png

3、umask数值更改

#umask 数值 改变umask的值;

 

070605_ilSs_3643875.png

070618_YAcy_3643875.png

计算的时候一定按照(rw-rw-rw-)-(----w--w-)这种方式计算,以umask的值是0033为例:

如果只计算数字,创建文件就是666-033=633。

实际应该是,创建文件666-033=(rw-rw-rw-)-(----wx-wx)=rw-r--r--=644

 

070636_hBzd_3643875.png

 

隐藏权限lsattr/chattr

1、lsattr查看附加权限

用来读取文件或者目录的特殊附加权限,用ls不能查看到附加权限;

lsattr [-aR] 文件名或目录

-a:类似于-a选项,显示目录下所有的文件,包括隐藏文件;

-R:相关联的子目录的数据一同列举出来;

-d:和ls命令一样,用于查看目录本身;

070704_moXc_3643875.png

2、chattr修改附加权限

chattr [+-=] [Asaci] [文件或目录名]

用于改变文件在Linux系统中的附加权限。

+:增加;

-:去除;

=:设定为;

i:增加后,使文件不能被删除、重命名、设定连接、写入、新增数据,可以复制,可以做软连接;

a:增加后,文件只能被追加不能被删除,只有root用户能设定该属性;

A:增加该属性后,文件或目录的atime不可被修改;

2.1、i权限

i附加权限,使文件不能被删除、重命名、设定连接、写入、新增数据,可以复制,可以做软连接;

cp的时候不会复制i权限;

 

070735_2NW0_3643875.png

070739_vXyu_3643875.png

070745_9kWS_3643875.png

即使vi打开编辑后也无法保存;

touch更新时间也不行;

070804_Mlhu_3643875.png

当一个目录被赋予i附加权限后,和文件一样,本身和内部文件都不能被删除,不能在目录中添加文件,但是如果目录中的文件没有i附加属性,可以修改这个文件里面的内容,但不能删除或改名字等;

070815_l8lv_3643875.png

070822_fCnV_3643875.png

2.2、a权限

a附加权限增加后,文件只能被追加不能被删除,可以touch更新时间,只有root用户能设定该属性;

070837_M5kn_3643875.png

 

当一个目录被赋予了a附加权限后,可以在目录里添加创建文件,可以修改文件内容,但是不能删除文件,即便是刚刚被添加进来的文件也不能被删除;

070847_2DUl_3643875.png

 

 

 

 

 

转载于:https://my.oschina.net/codepencil/blog/1556420

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值