更改文件权限(二)
==============================

(参考于千锋教育教学笔记)

命令umask

[root@aminglinux ~]# umask

0022

[root@aminglinux ~]# touch 6.txt
[root@aminglinux ~]# mkdir dir6
[root@aminglinux ~]# ll 6.txt
-rw-r--r-- 1 root root 0 6月 24 22:54 6.txt
6 4 4
[root@aminglinux ~]# ll -d dir6
drwxr-xr-x 2 root root 6 6月 24 22:54 dir6
7 5 5

规则:
若用户建立普通文件,则预设没有可执行权限,只有r,w权限,最大值为666(-rw-rw-rw-);
若用户建立目录,则预设所有权限均开放,即777(drwxrwxrwx).
umask数值代表的含义为以上两条规则中的默认值(文件为666,目录为777)需要减掉的权限。
目录的权限为rwxrwxrwx(777)- ----w--w-(022) = rwxr-xr-x(755)
普通文件的权限为rw-rw-rw-(644) - ----w--w-(022) = rw-r--r--(644)

[root@aminglinux ~]# umask 002 //umask值设为002
[root@aminglinux ~]# touch 7.txt
[root@aminglinux ~]# ll 7.txt
-rw-rw-r-- 1 root root 0 6月 24 23:10 7.txt //文件权限变为664
[root@aminglinux ~]# mkdir dir8
[root@aminglinux ~]# ll -d dir8
drwxrwxr-x 2 root root 6 6月 24 23:10 dir8 //目录权限变为775

[root@aminglinux ~]# umask 022 //umask值设为正常值022
[root@aminglinux ~]# touch 8.txt
[root@aminglinux ~]# ll 8.txt
-rw-r--r-- 1 root root 0 6月 24 23:11 8.txt //文件权限就变为正常的644了

默认情况下,root的umask值为022,而一般普通用户的则为002。

修改文件的特殊属性

1,chattr (change attribute)change file attributes on a Linux file system(更改Linux文件系统上的文件属性)

选项:

a:增加该属性后,表示只能追加不能删除,非root用户不能设定该属性

i : 增加该属性后,表示文件不能删除,重命名,设定链接,写入以及新增数据。(不可改变的)

lsattr ( list attribute) list file attributes on a Linux second extended file system(列出Linux第二个扩展文件系统上的文件属性)

选项:

-a:连同隐藏文件一同列出

-R:连同子目录的数据一同列出。

示例:

[root@aminglinux ~]# touch file100 file200

[root@aminglinux ~]# lsattr file100 file200

---------------- file100

---------------- file200

[root@aminglinux ~]# chattr +a file100

[root@aminglinux ~]# chattr +i file200

[root@aminglinux ~]# lsattr file100 file200

-----a---------- file100

----i----------- file200

[root@aminglinux ~]# echo > 111 file100[

root@aminglinux ~]# cat file100

[root@aminglinux ~]# rm -rf file100

rm: 无法删除"file100": 不允许的操作

[root@aminglinux ~]# echo 222 >> file100

[root@aminglinux ~]# cat file100

222

[root@aminglinux ~]# echo 111 > file200

-bash: file200: 权限不够

[root@aminglinux ~]# echo 222 >> file200

-bash: file200: 权限不够

[root@aminglinux ~]# rm -rf file200

rm: 无法删除"file200": 不允许的操作

[root@aminglinux ~]# chattr -a file100

[root@aminglinux ~]# chattr -i file2002

,set uid、set gid、sticky bit

set uid: 该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。passwd命令就具有该权限

set gid: 任何用户在此目录下创建文件都具有和该目录所属组相同的组。

sticky bit: 就算用户对目录具有写权限,也不能删除其他用户的文件。

suid: 4; sgid: 2; sticky: 1


设置特殊权限
a,字符
chmod u+s file →suid
chmod g+s dir →sgid
chmod o+t dir →sticky

b,数字
chmod 777 file -rwsrwxrwx
chmod 770 dir drwxrws---
chmod 770 dir drwxrws--t
chmod 777 dir drwsrwsrwt

示例:
[root@aminglinux ~]# ll /usr/bin/passwd
-rw777 /home/dir2
[root@aminglinux ~]# ll -d /home/dir2
drwxrwxrwt 2 root root 19 6月 25 01:44 /home/dir2
[alice@aminglinux home]$ touch dir2/1.txt
[alice@aminglinux home]$ ll dir2
总用量 0
-rw-rw-r-- 1 alice alice 0 6月 25 01:44 1.txt
[it@aminglinux home]$ rm -v dir2/1.txt
rm:是否删除有写保护的普通空文件 "dir2/1.txt"?y
rm: 无法删除"dir2/1.txt": 不允许的操作

Linux更改文件权限(二)的更多相关文章

  1. linux 更改文件权限命令 chmod

    chmod -change file mode bits :更改文件权限 chmod是用来改变文件或者目录权限的命令,但只有文件的属主和超级用户(root)才有这种权限. 更改文件权限的2种方式: 一 ...

  2. Linux更改文件权限(一)

    更改文件权限(一)============================== (参考于千锋教育教学笔记) 设置权限 1.更改文件的属主.属组chown (change owner)[root@ami ...

  3. Linux更改文件权限命令

    chmod命令 1.格式:chmod [-cfvR][--help][--version]mode file 2.参数 1)必要参数 -c 当发送改变时,报告处理信息 -f 错误信息不输出 -R 处理 ...

  4. linux更改文件权限

    chown –Rh cheat:cheat /home/cheat/task/Cheat

  5. [转]Linux中文件权限目录权限的意义及权限对文件目录的意义

    转自:http://www.jb51.net/article/77458.htm linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括 ...

  6. ubuntu批量更改文件权限

    重装系统之后,把文件从windows分区拷到linux分区发现所有文件的权限全是777,在终端下看到所有文件的颜色都很刺眼,文件有很多,一个一个改不现实,所以写了一段python脚本批量更改文件权限. ...

  7. 第六章、Linux 的文件权限与目录配置

    第六章.Linux 的文件权限与目录配置 1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 ...

  8. linux初学者-文件权限

    linux初学者-文件权限 lunix系统都是以文件的形式存在,自然而然的就会要求不同的用户拥有不同的权限,这也是系统能够运行的根本保证,下文将对文件的权限管理进行简要的介绍. 1.文件属性的查看 - ...

  9. 全面解析Linux数字文件权限

    全面解析Linux数字文件权限 来源:   时间:2013-09-04 20:35:13   阅读数:11433 分享到:0 [导读] 在刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细 ...

随机推荐

  1. POJ 2318 TOYS 利用叉积判断点在线段的那一侧

    题意:给定n(<=5000)条线段,把一个矩阵分成了n+1分了,有m个玩具,放在为位置是(x,y).现在要问第几个位置上有多少个玩具. 思路:叉积,线段p1p2,记玩具为p0,那么如果(p1p2 ...

  2. (转)linux命令总结之ip命令

    linux命令总结之ip命令 原文:https://www.cnblogs.com/ginvip/p/6367803.html linux命令总结之ip命令   Linux的ip命令和ifconfig ...

  3. KBEngine warring项目源码阅读(一) 项目简介和注册

    首先介绍下warring项目,是kbe自带的一个演示示例,大部分人了解kbe引擎也是从warring项目开始的. 项目地址:https://github.com/kbengine/kbengine_u ...

  4. Miner3D Enterprise 企业版

    ——极致的视觉数据挖掘和知识发现解 Miner3D Enterprise 企业版是一个有力的综合数据驱动的三维可视化和数据分析解决方案.金融师.药剂师.生物技术或化学材质科研人员.地质学家.石油开采专 ...

  5. OpenCV之cvAddWeighted直接C语言实现版addWeighted,应对上下平滑融合拼接

    关于OpenCV中的cvAddWeighted的介绍可参见<opencv中的cvAddWeighted函数> cvAddWeighted有个问题,它只能实现两张图片的直接融合,往往产生明显 ...

  6. IIS发布网站出错解决方案

    1.第一类错误(Web服务器被配置为不列出此目录的内容) 问题所在没有为请求的URL设置默认文档,在IIS“默认文档”添加一个你要访问的默认文档名字,如:Default.aspx. 2.第二类错误(请 ...

  7. 《Python高效开发实战》实战演练——建立应用2

    为了在项目中开发符合MVC架构的实际应用程序,需要在项目中建立Django应用.每个Django项目可以包含多个Django应用.建立应用的语法为: #python manage.pystartapp ...

  8. Redis集群维护、运营的相关命令与工具介绍

    Redis集群的搭建.维护.运营的相关命令与工具介绍 一.概述 此教程主要介绍redis集群的搭建(Linux),集群命令的使用,redis-trib.rb工具的使用,此工具是ruby语言写的,用于集 ...

  9. linux打开进程数测试

    查看linux默认打开最大打开进程数 具体参考:https://www.jb51.net/article/143667.htm #include <unistd.h> #include & ...

  10. C#之linq

    本文根据30分钟LINQ教程学习作的笔记. 1.Guid.Empty Guid 结构: 表示全局唯一标识符 (GUID).Empty字段:Guid 结构的只读实例,其值均为零.用来设置初始值.   G ...