day08-linux权限(chmod chown umask chattr)

上次学习整理了linux的文档的基本操作,今天我们学习linux下的权限:

1、文件或目录的权限chmod:

chmod主要用于修改文件和目录的权限,主要参数:-R(级联修改下级目录)。

1、那我们如何来查看这个目录或文件的权限呢:

[[email protected] ~]# ls -l

总用量 136

drwxr-xr-x  2 root root     64 10月 24 15:28 1     #rwx为所属主:r-x为所属组:r-x为其他:

-rw-r--r--  1 root root    841 10月 24 17:31 1.txt

drwxr-xr-x  2 root root      6 10月 25 17:36 2

-rw-r--r--  1 root root      0 10月 24 15:28 22

如上所述:第一部分的第二位到第十位分别以三位一组:第十一位(.)是selinux(只有selinux打开时才会添加.)

所属主(user)     #文件的拥有者:创建文件/目录的那个人:

所属组(group)    #文件的所属组:创建文件/目录的那个用户所在的组:

其他(other)      #其他外来人员:

1.2 那我们如何给目录和文件添加权限呢:一般有两种方式(操作的结果都相同)

上图中的rwx的权限用数字表示如下:

r===4        #表示可读的权限:     查看这个文件:则表示对这个文件可以读:

w===2        #表示可写的权限:     可以往文件里写入内容:则表示对这个文件可写:

x===1        #表示可执行的权限:   可以打开这个目录,则表示对这个目录可执行:

1、chmod  777   filename/dir    通过数字的方式来添加:如下:


1

2

3

4

5


[[email protected] ~]# chmod 777 1.txt     #给文件添加777(可读可写可执行)的权限:

[[email protected] ~]# chmod 777 1         #给目录也添加777权限:

[[email protected] ~]# ls -l

drwxrwxrwx  2 root root     64 10月 24 15:28 1    #此文件对主(组)其他:可读可写可执行:

-rwxrwxrwx  1 root root    841 10月 24 17:31 1.txt

2、chmod  u=rwx,g=rw,o=rx  filename/dir   #u表示主,g表示组,o表示其他:a=所有:


1

2

3

4

5


[[email protected] ~]# chmod u=rwx,g=rw,o=rx 1.txt

[[email protected] ~]# chmod u=rwx,g=rw,o=rx 1

[[email protected] ~]# ls -l

drwxrw-r-x  2 root root     64 10月 24 15:28 1

-rwxrw-r-x  1 root root    841 10月 24 17:31 1.txt

当然:还可以通过+ -  =对分别对权限进行增减:#加号表示增加权限,减号表示减少权限,等号表示等于权限:  chmod   u-r  1


1

2

3

4

5


[[email protected] ~]# chmod u-r,g+w,o-x 1.txt   #分别减去u权限和加上g的权限:

[[email protected] ~]# chmod u-r 1

[[email protected] ~]# ls -l

d-wxrwwr-x  2 root root     64 10月 24 15:28 1

--wxr--r--  1 root root    841 10月 24 17:31 1.txt

1.3 chmod还有一个参数: -R:表示级联选项:会把此目录下所有文件/目录的权限都改变:

chmod  -R  filename/dir


1

2

3

4


[[email protected] ~]# chmod -R 777 1       #权限级联下面文件

[[email protected] ~]# ls -l 1

-rwxrwxrwx 1 root root 0 10月 24 15:28 11      #目录下文件的权限已改变:

-rwxrwxrwx 1 root root 0 10月 25 18:08 1.txt   #目录下目录的权限已改变:

1.4 既然权限可以用数字来表示,那么权限是如何定义的呢:umask值:

[[email protected] ~]# umask     #查看umask的值:

0022

我们会发现普通文件或目录的权限不一样:这是因为umask值定义的:并且umask值是可以修改的:


1

2

3


[[email protected] yuan]# ls -la

-rw-r--r--  1 root root    0 10月 25 18:53 1.txt      #文件的权限为644.

drwxr-xr-x  2 root root    6 10月 25 18:53 dir        #目录的权限为755.

这是因为文件不需要执行权限:而目录需要:进入一个目录==执行这个目录:

所以文件的权限计算:

666    -          022        644                 #文本不需要执行权限

(rw-rw-rw-)  -  (----w--w-)  =  (rw-r--r--)

目录的权限计算:

777     -       022         755                  #目录需要执行权限

(rwxrwxrwx)  -  (----w--w-)  =  (rwxrw-rw-)

不过以数字相减的方式容易出现错错误:

如:我们把umask值设置成003,那么文件的权限应该是664,则减下来是603,所以此方法不建议使用:

2、更改文件的所有者和所属组:chown

chown主要用于修改文件的所属主和所属组:主要参数: -R

2.1 那我们如何来查看文件/目录的所属主和所属组:

[[email protected] ~]#  ls -l

总用量 136

drw-r--r--  2 root root     90 10月 25 18:08 1

-rw-r--r--  1 root root    841 10月 24 17:31 1.txt

如上所述:第三部分root表示所属主,第四部分表示所属组:

所属主(root)    #文件的创建者及拥有者:

所属组(root)    #文件的拥有者所在那个组:

2.2 那我们如何给文件/目录修改所属主和所属组呢:

chown   username:group    filename/dir


1

2

3

4

5

6


[[email protected] ~]# chown  yuanhh   1       #表示修改目录1的所属主为yuanhh.      

[[email protected] ~]# chown  :yuanhh  1       #表示修改目录1的所属组为yuanhh.

[[email protected] ~]# chown  yuanhh:yuanhh 1.txt    #表示同时修改1.txt的所属主和所属组:

[[email protected] ~]# ls -l

drw-r--r--  2 yuanhh yuanhh     90 10月 25 18:08 1       #查看目录1.

-rw-r--r--  1 yuanhh yuanhh    841 10月 24 17:31 1.txt   #查看文件1.txt.

2.3  此时chown还有一个参数:-R:表示级联选项:会把此目录下所有文件/目录的权限都改变(主要针对目录):

chown  -R  username:group  1    #修改1目录的主和组(同时也会修改其下的目录和文件).


1

2

3

4


[[email protected] ~]# chown -R yuanhh:root 1   #同时修改目录1的所属主和所属组:

[[email protected] ~]# ls -l 1

-rwxrwxrwx 1 yuanhh root 0 10月 24 15:28 11    #其下面的目录也发生变化:

-rwxrwxrwx 1 yuanhh root 0 10月 25 18:08 1.txt   #其下面的文件也发生变化:

3、chgrp: 此命令用于修改文件的所属组(与chown的所属组一样).

chgrp   group    filename/dir      #应用格式


1

2

3


[[email protected] ~]# chgrp yuanhh 2.txt      #修改其所属组为yuanhh:

[[email protected] ~]# ls -l 2.txt

-rw------- 1 root yuanhh 4904 10月 24 17:48 2.txt    #已修改:

3.1 同时,chagr也有级联参数,可直接修改目录下面的文件或目录:

chgrp  -R   group   1     #修改目录1,用级联的方式:


1

2

3

4


[[email protected] ~]# chgrp -R yuanhh 1      #修改目录1,用级联的方式:

[[email protected] ~]# ls -l 1 

-rwxrwxrwx 1 yuanhh yuanhh 0 10月 24 15:28 11     #

-rwxrwxrwx 1 yuanhh yuanhh 0 10月 25 18:08 1.txt    #

4、隐藏权限lsattr/chattr:  参数如下;

-i  :增加了此选项后,文件或目录不能删除、修改、写入等全部操作(连BOSS的root也不可以)

-a  :增加了此选项后:只能追加,不能删除、修改,并且非root用户不能操作(只增不减)

-s  :增加了该选项后:会将数据同步写入到磁盘:#不常用

-c  :自动解压缩:读取文件时自动解压缩:      #不常用

-A  :增加了后,文件的atime不能修改:         #不常用

-d  :只查看当前目录本身:   #相当于ls的-d选项:

-a  :查看隐藏文件:        #用法:lsattr  -a

-R  :查看当前目录下的文件或者目录:

4.1隐藏权限可以保护文件的安全性,一旦设置后,文件连root用户也是不能修改的:

用法1: chattr  +i   filename/dir     #给文件或目录增加i权限:


1

2

3

4

5

6

7


[[email protected] ~]# chattr +i 1.txt        #给1.txt增加i权限:

[[email protected] ~]# rm -fr 1.txt           #无法删除文件:

rm: 无法删除"1.txt": 不允许的操作

[[email protected] ~]# echo 1 > 1.txt         #无法追加文件内容:

-bash: 1.txt: 权限不够

[[email protected] ~]# chmod 777 1.txt

chmod: 更改"1.txt" 的权限: 不允许的操作     #无法修改文件权限:

用法2: chattr  +a   filename/dir    #给文件或目录增加a权限:


1

2

3

4

5

6

7

8


[[email protected] ~]# chattr +a 1.txt         #给1.txt增加a权限    

[[email protected] ~]# rm -fr 1.txt            #无法删除文件:

rm: 无法删除"1.txt": 不允许的操作

[[email protected] ~]# chmod 777 1.txt         #无法修改文件权限。

chmod: 更改"1.txt" 的权限: 不允许的操作

[[email protected]host ~]# echo 1111 >> 1.txt      #可以追加文件内容

[[email protected] ~]# tail -n1 1.txt

1111

4.2 那我们如何取消文件权限呢:

chattr  -a   filename/dir         #给文件或目录取消a权限:

chattr  -i   filename/dir         #给文件或目录取消i权限:

同时也支持lsattr  -R(也是级联选项):用法如下:

lsattr  -R  +i  dir     #主要只针对于目录:

查看命令lsattr: 参数:  -d(目录本身)   -a(隐藏文件)   -R(级联下文件或目录)


1

2

3

4

5


[[email protected] ~]# lsattr -d 1        #只查看目录1的权限:

----i----------- 1

[[email protected] ~]# lsattr -R 1        #查看目录下面的文件选项:

----i----------- 1/2

----i----------- 1/yuan

隐藏文件:


1

2

3


[[email protected] ~]# lsattr -a /root/         #查看隐藏文件:

---------------- /root/.bash_logout

---------------- /root/.bash_profile

今天现学习到这里。

时间: 2024-08-29 16:17:56

day08-linux权限(chmod chown umask chattr)的相关文章

文件或目录的权限chmod,chown更改所有者和所属组,umask及隐藏权限

文件或目录的权限chmod -rwxr--r--. 1 root root 0 6月 8 20:22 2.txt 可读(r)可写(w)可执行(x),第一段是所有者,第二段是所属组,第三段是其他人 r=4,w=2,x=1.rwx=7,rw-=6, --x=1,rw-r--r--=644, rw-r-xr-x=655 chmod === change mode改变权限 如:rwx------=700 chmod 700 2.txt [[email protected] ~]# chmod 700 2

26期20180606 chmod chown umask 隐藏权限

6月6日任务 2.14 文件和目录权限chmod2.15 更改所有者和所属组chown2.16 umask2.17 隐藏权限lsattr/chattr 2.14 文件和目录权限chmod 每个文件都会有属性,权限,通过ls -l可以看到. d 目录 rwx------这9位就是权限位.rwx是所有者权限,---是所属组权限,---是other的权限.后面的3表示和这个目录有关系的文件有几个.第一个root是owner 第二个是所属的组.后面是mtime 以及名字. rwx分别代表的权限是4 2

Linux 文件权限 chmod chown

1. Linux 文件访问权限 chmod 是change mode 的缩写.同理chown是change owner的缩写,一个是改变文件的访问权限,一个是改变文件的所有者. 2. 改变文件访问权限 chmod 对Linux文件来讲,访问权限和文件的所有者是比较重要的两个属性.文件的访问权限大概是这样一个概念.例如文件的访问权限又3中,一个是读,用read 表示,标志位为4,一个是写,用w表示,标志位是2, 另一个是x,标志位是1,表示可执行的意思(对于一个文件,x表示这个文件可以执行,对于一

chmod+chown+umask+lsattr_chattr

chmod rwxrw-r--  代表着不同的三个权限位  分别是:所有者,所属组,其他用户 r=4 w=2 x=1 , rwx=7,rw- =6, r-- =4,  r=读,w=写,x=执行 命令格式: #chmod 755 dir1 #给dir1目录授权755<rwxr-xr-x> #chmod -R 700 dir2  #级联设定dir2及其目录下的子目录或文件同时批量设定权限为 700<rwx------> 以下三种不经常用<建议直接数字 例如 700 755等>

linux命令——chmod/chown

改变文件所有权chown 例如 sudo chown username myfile 1 myfile文件的所有权变为username. chown -R username /files/work 1 加入参数-R,work文件夹以及文件夹里的所有文件和子目录所有权都变为username. 改变文件权限chmod chmod 修改文件或者目录的权限码 语法: chmod [ 选项 ] [ 数字或者字符权限表示 ] filename 选项: -c:类似于-v,仅显示更改部分 -f:不显示错误信息

Linux命令(14)改变文件和目录权限-chmod&amp;chown

chmod 改变一个文件的权限:chmod [mode] file.txt改变一个目录的权限:chmod [mode] dir改变一个目录和其子目录的权限:    chmod [mode] dir -R mode = 777 or 752 and so on.mode的三个数字,分别表示owner,group,others所具备的权限.1=x 执行2=w 写4=r 读比如owner具有所有权限,1+2+4=7,又比如 group 具有读和执行权限1+4=5. ==================

linux的chmod,chown命令详解

指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者.群组.其他.利用 chmod 可以藉 以控制档案如何被他人所存取. mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有 者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表

LINUX 下chmod|chown|chgrp和用法和区别

1.chgrp(转变文件所属用户组) chgrp 用户组 文件名 ###便是这个格了.若是整个目次下的都改,则加-R参数用于递归. 如:chgrp -R user smb.conf 2.chown(转变文件拥有者) 格局: A:chown 用户名 文件/目次 B:chown 用户名:用户组:文件/目次 若是整个目次下的都改,则加-R参数用于递归. 例:chown -R root /etc/config.cfg chown -R root:root /home 3.chmod(变动文件属性) 文件

2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown 2.16 umask 2.17 隐藏权限lsattr/chattr

2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown 2.16 umask 2.17 隐藏权限lsattr/chattr 2.14 文件和目录权限chmod chmod 权限 r=4 w=2 x=1  rwx=7  rw=6 --x=1 rw-r--r--=644 rw-r-xr-x=655 chmod 这个.意味着这个文件受制于selinux 如果selinux 开启,创建的文件或者目录 第一列最后一位就会有个点 ,如果关闭selinux setenforce 0 暂时关