文件的权限详解(一)

文件的权限


修改文件的属主和属组

chown

功能:更改属主命令,同时也能更改属组
用法:
  

  • chown  选项  [属主名][:属组名]  文件名  (分隔符改成.也行)

  • chown  选项   参考的文件=要更改的文件

    • chown [OPTION]… –reference=RFILE FILE…

  • -R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

注意:

   chown 用户名 文件名———————表示设置文件的所属主吧
   chown 用户名:  文件名——————-表示设置文件的所属主和跟所属主相同的所属组
   chown 用户名:组名  文件名 —————表示设置文件的属主属组
   chown :组名  文件名 ———————-表示设置文件的属组

chgrp

功能:修改文件的属组
用法:

chgrp [选项] 文件名
chgrp [选项]… –reference=参考文件名  要修改的文件名…
-R 递归



文件的权限:

文件:

r: 可使用文件查看类工具获取其内容
w: 可修改其内容
x: 可以把此文件提请内核启动为一个进程

目录:

r: 可以使用ls查看此目录中文件列表
w: 可在此目录中创建文件,也可删除此目录中的文件
x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录
X:只给目录x权限,不给文件x权限

umask

功能说明:指定在建立文件时预设的权限掩码。
用法:

umask #: 设定

补充:umask是补码模式
新建FILE权限: 666-umask
如果所得结果某位存在执行(奇数)权限,则将其权限+1
新建DIR权限: 777-umask

这种只对当前shell有效
全局设置: /etc/bashrc 用户设置:~/.bashrc

chmod

功能说明:变更文件或目录的权限。
语  法:
chmod
[-cfRv][–help][–version][<权限范围>+/-/=<权限设置…>][文件或目录…] 或
chmod [-cfRv][–help][–version][数字代号][文件或目录…] 或 chmod
[-cfRv][–help][–reference=<参考文件或目录>][–version][文件或目录…]
权限范围:

   u:User,即文件或目录的拥有者。
 g:Group,即文件或目录的所属群组。
 o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
 a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

选项:

   -c或–changes  效果类似"-v"参数,但仅回报更改的部分。
 -f或–quiet或–silent  不显示错误信息。
 -R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
 -v或–verbose  显示指令执行过程。
 –reference=<参考文件或目录>  把指定文件或目录的权限全部设成和参考文件或目录的权限相同

 <权限范围>+<权限设置>  开启权限范围的文件或目录的该项权限设置。
 <权限范围>-<权限设置>  关闭权限范围的文件或目录的该项权限设置。
 <权限范围>=<权限设置>  指定权限范围的文件或目录的该项权限设置。

用法:

设置文件权限方法1
[root@qzx ~]# ll user.txt 
-rw-r--r--. 1 root root 80 Aug  1 16:54 user.txt
[root@qzx ~]# chmod g-r user.txt 
You have new mail in /var/spool/mail/root
[root@qzx ~]# ll user.txt 
-rw----r--. 1 root root 80 Aug  1 16:54 user.txt
设置文件权限方法2
[root@qzx ~]# chmod 777 user.txt 
[root@qzx ~]# ll user.txt 
-rwxrwxrwx. 1 root root 80 Aug  1 16:54 user.txt
以参考文件设置目标文件
[root@qzx ~]# ll passwd.txt 
-rw-r--r--. 1 root root 26 Aug  1 16:56 passwd.txt
[root@qzx ~]# chmod --reference=passwd.txt user.txt 
[root@qzx ~]# ll user.txt 
-rw-r--r--. 1 root root 80 Aug  1 16:54 user.txt

linux文件系统上的特殊权限

基础介绍:

1、 SUID, SGID, Sticky
2、 三种常用权限:r, w, x user, group, other
3、 安全上下文
4、 前提:进程有属主和属组;文件有属主和属组
(1) 任何一个可执行程序文件能不能启动为进程:取决发起者
对程序文件是否拥有执行权限
(2) 启动为进程之后,其进程的属主为发起者;进程的属组为
发起者所属的组
(3) 进程访问文件时的权限,取决于进程的发起者
(a) 进程的发起者,同文件的属主:则应用文件属主权限
(b) 进程的发起者,属于文件属组;则应用文件属组权限
(c) 应用文件“其它”权限

SUID权限

可执行文件上SUID权限

1、 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
2、 启动为进程之后,其进程的属主为原程序文件的属主
3、 SUID只对二进制可执行程序有效
4、 SUID设置在目录上无意义
5、  权限设定:

  • chmod u+s FILE…

  • chmod u-s FILE..

  • chmod 4xxx FILE…

SGID权限

可执行文件上SGID权限

1、 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
2、 启动为进程之后,其进程的属组为原程序文件的属组
3、 权限设定:

  • chmod g+s FILE…

  • chmod g-s FILE…

  • chmod 2xxx FILE…

2、目录上的SGID权限

1、 默认情况下,用户创建文件时,其属组为此用户所属的主组
2、 一旦某目录被设定了SGID,则对此目录有权限的组用户在此目录中创建的文件所属的组为此目录的属组
3、 通常用于创建一个协作目录
4、 权限设定:

  • chmod g+s DIR…

  • chmod g-s DIR…

  • chmod 2xxx FILE…

用处:可以创建一个SGID的组,给组设置权限后组中所有成员在此目录创建的文件的属组都将属于SGID的组

[qzx@localhost 2770]$ ll -d ../2770/
drwxrws---. 2 xiaoming xiaoming 27 8月   4 12:11 ../2770/
[root@localhost qiuzhaoxian]# su qzx
qzx@localhost 2770]$ touch qzcx
[qzx@localhost 2770]$ mkdir qiun
[qzx@localhost 2770]$ ll
总用量 0
drwxrwsr-x. 2 qzx      xiaoming 6 8月   4 12:14 qiun
-rw-rw-r--. 1 xiaoming xiaoming 0 8月   4 12:10 qww
-rw-rw-r--. 1 qzx      xiaoming 0 8月   4 12:11 qzcx

t权限

Sticky 位

1、 具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
2、 在目录设置Sticky 位,只有文件的所有者或root可以删除该目录内的文件
3、 sticky 设置在文件上无意义
4、 权限设定:

  • chmod o+t DIR…

  • chmod o-t DIR…

  • chmod 1xxx FILE…

例如:

[qzx@localhost 2770]$ ll -d /tmp
drwxr-xr-t. 19 root root 4096 8月   4 12:05 /tmp

权限位映射

1、 SUID: user,占据属主的执行权限位

s: 属主拥有x权限
S:属主没有x权限

2、 SGID: group,占据属组的执行权限位

s: group拥有x权限
S:group没有x权限

3、 Sticky: other,占据other的执行权限位

t: other拥有x权限
T:other没有x权限

提示:如果出现大写字母就是故障状态

其他

设定文件特定属性

1、 chattr +i 不能删除,改名,更改
2、 chattr +a 只能增加
3、 lsattr 显示特定属性

1、用chattr +i防止系统中某个关键文件被修改添加或删除

[root@VM_18_121_centos ~]# chattr -R +i qin
[root@VM_18_121_centos ~]# lsattr qin/
----i----------- qin/qzx
----i----------- qin/qzxa
[root@VM_18_121_centos ~]# echo qweqwww > qin/qzx 
-bash: qin/qzx: Permission denied
[root@VM_18_121_centos ~]# touch qin/qwer
touch: cannot touch 'qin/qwer': Permission denied
[root@VM_18_121_centos ~]# rm -rf qin/*  
rm: cannot remove 'qin/qzx': Permission denied
rm: cannot remove 'qin/qzxa': Permission denied

2、让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:

[root@VM_18_121_centos ~]# chattr -R +a qin
[root@VM_18_121_centos ~]# lsattr qin/
-----a---------- qin/qzx
-----a---------- qin/qzxa
[root@VM_18_121_centos ~]# echo eawdqwdq > qin/qzx
-bash: qin/qzx: Operation not permitted
[root@VM_18_121_centos ~]# echo eawdqwdq >> qin/qzx
[root@VM_18_121_centos ~]# rm -rf qin/qzx
rm: cannot remove 'qin/qzx': Operation not permitted

原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/28777

(0)
qzxqzx
上一篇 2016-08-04
下一篇 2016-08-04

相关推荐

  • 文本处理练习题

    文本处理练习:   1.找出本机ip地址   [root@localhost ~]# ifconfig |head -2 |tail -1 |tr -s ' ' ':' |cut -d: -f3   10.1.252.221   2.查看本机分区最大的利用率   [root@l…

    Linux干货 2016-08-08
  • Linux的文件查找之find的使用

    文件查找   本章节内容:   使用locate命令   使用find命令   使用Gnome搜索工具    一、文件的查找(find和locate的对比): 文件查找:是在文件系统上查找符合条件的文件。 locate find 查找时效性 非实时查找 实时查找 文件索引数据库 需要依赖查询系统上预…

    Linux干货 2016-08-15
  • 博客开始的地方

    来北京挺长时间了,一直都在瞎忙,特别想找个地逛逛,约朋友一起去,结果人家只喜欢吃饭,逛街,来北京瞎逛过两次,第一次是面试路过潘家园,然后进去逛了半天,看各种各样的老古董,当然最多的还是手串,那种核桃,当然还是看到了好多好多有意思的东西,比如下面的小和尚和老和尚,小和尚光着头感觉特别可爱,老和尚还卖萌, 当然还有下面这个关老爷,他的肚子为什么被雕刻的那么大,难…

    2018-03-26
  • cp命令浅析

      cp主要作用    1拷贝文件到指定目录    2拷贝文件到指定文件    3拷贝多个文件到指定目录    4拷贝目录到指定目录    5拷贝多个目录到指定目录 先做些准备工作 &nbs…

    2017-04-04
  • 磁盘管理及文件系统

    磁盘及文件系统管理初步与进阶(重点内容) 磁盘分区及文件系统 linux系统管理 磁盘分区及文件系统管理:分区工具 linux磁盘及文件系统管理 整个操作系统的硬件组成部分,最底层是硬件设备,计算能力得以运行的最根本的基础。 计算机的五大基本部件:cpu,运算器,控制器被整合到一起,由一个硬件部件来提供。 存储器(主存rom可编址的存储单元)。主板上有cpu…

    Linux干货 2016-08-30
  • 引导加载程序grub的使用详解

    引导加载程序grub的使用详解 为运行于虚拟机上的CentOS 6添加一个新硬件,提供两个主分区 为硬盘建两个主分区;并为其安装grub 为硬盘的第一个主分区提供内核和ramdisk文件;为第二个分区提供rootfs 为rootfs提供bash、ls、cat程序以及所依赖的库文件 为grub提供配置文件 将新的硬盘设置为第一启动项并能够正常启动目标主机 1.…

    Linux干货 2017-09-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-04 15:01

    总结的很好,排版也很精美。再接再励