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

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

命令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. 读书笔记 - 《梦想与浮沉:A股十年上市博弈》

    拿到这本书是个很偶然的事件.有几本软件业书由于太老已经绝版,偶然想到小区的图书馆自动借阅机和读者证的预借功能,就兴冲冲的跑去尝试.没想到预借只能在网页上进行,就随手从机器里借了这本书.没想到细观之下让 ...

  2. GUI的最终选择 Tkinter(五):Text用法

    Text组件 绘制单行文本使用Label组件,多行选使用Listbox,输入框使用Entry,按钮使用Button组件,还有Radiobutton和Checkbutton组件用于提供单选或多选的情况, ...

  3. Handler和Thread线程

    大家都知道,在PC上的应用程序当需要进行一些复杂的数据操作,但不需要界面UI的时候,我们会为应用程序专门写一个线程去执行这些复杂的数据操作.通过线程,可以执行例如:数据处理.数据下载等比较耗时的操作, ...

  4. linux 向文本指定位置写入内容

    sed -i "37 r a.txt" test.txt ====== 向test.txt 的第37行后,也就是38行后写入a.txt的内容 sed -i "38i aa ...

  5. (转)Linux 开机引导和启动过程详解

    Linux 开机引导和启动过程详解 编译自:https://opensource.com/article/17/2/linux-boot-and-startup作者: David Both 原创:LC ...

  6. (转)Linux硬链接、软链接及inode详解

    inode 文件储存在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读 ...

  7. javaweb项目导入myecplise出错

    项目导入出错:移动项目的时候.classpath .project不要删 build path -> use for source floder 把某一文件夹当作源码文件夹 bulid path ...

  8. Maven的学习资料收集--(六) 构建Hibernate项目

    前面我们使用Maven构建了Struts2项目,这里我们来试一下Hibernate项目: 这里的例子,大体框架应该是正确的,但是,对于Maven的很多约定都没有掌握,估计包的命名都不是非常好,等以后, ...

  9. 基于HttpClient的新版正方教务系统模拟登录及信息获取API

    简介 通过HttpClient获取网页数据源,通过Jsoup解析数据.先模拟登录,再获取信息.模拟浏览器正常操作,封装请求头信息获取SESSIONID.模拟登录成功后切勿断开会话,依赖登录请求得到的C ...

  10. 处理 wait millis 60009, active 50 ,maxactive 200 异常 过程

    处理 wait millis 60009, active 50 ,maxactive 200 异常 过程2018年04月19日 16:48:46 守望dfdfdf 阅读数:1910 标签: druid ...