博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
8. 比权量力-chmod,chown,umask,lsattr,chattr命令
阅读量:7162 次
发布时间:2019-06-29

本文共 4878 字,大约阅读时间需要 16 分钟。

二周第三次课(12月20日)

2.14 文件和目录权限chmod

2.15 更改所有者和所属组chown

2.16 umask

2.17 隐藏权限lsattr/chattr

一 chmod

mark

root后的点.表示

[root@xavi-001 ~]# r=4 w=2 x=1  rwx=7  // 类似于2进制
[root@xavi-001 ~]# ls -l总用量 12-rw-r--r--  1 root root 2322 12月 19 21:37 2.txt-rw-------. 1 root root 1422 8月   9 05:35 anaconda-ks.cfg.1-rw-r--r--. 1 root root 1647 8月   9 00:17 initial-setup-ks.cfg-rw-r--r--  1 root root    0 12月 13 00:01 [root@localhost[root@xavi-001 ~]# r=4 w=2 x=1  rwx=7  类似于2进制^C[root@xavi-001 ~]# chmod == change mode^C[root@xavi-001 ~]# chmod 700 2.txt  //改为root可读可写可执行[root@xavi-001 ~]# ls -l 2.txt-rwx------ 1 root root 2322 12月 19 21:37 2.txt
[root@xavi-001 tmp]# chmod 777 xavi2[root@xavi-001 tmp]# ls -l xavi2总用量 0-rw-r--r-- 1 root root 0 12月 19 22:51 1.txt[root@xavi-001 tmp]# ls -ld xavi2drwxrwxrwx 2 root root 19 12月 19 22:51 xavi2
[root@xavi-001 tmp]# ls -l xavi2总用量 0-rw-r--r-- 1 root root 0 12月 19 22:51 1.txt
  • 从以上命令看出,chmod只能改变目录或文件本身的权限,而不能改变其下的子目录或子文件

  • chmod - R 批量修改所有目录或文件
    [root@xavi-001 tmp]# chmod -R 770 xavi2[root@xavi-001 tmp]# ls -l xavi2总用量 0-rwxrwx--- 1 root root 0 12月 19 22:51 1.txt[root@xavi-001 tmp]# ls -ld xavi2drwxrwx--- 2 root root 19 12月 19 22:51 xavi2
  • 还有一种写法 u= ,g= ,o= ,
    [root@xavi-001 tmp]# chmod u=rwx,g=r,o=r xavi2
  • chmod +x/-x
    [root@xavi-001 tmp]# chmod a+x xavi2[root@xavi-001 tmp]# ls -ld xavi2drwxr-xr-x 2 root root 19 12月 19 22:51 xavi2[root@xavi-001 tmp]# chmod a-x xavi2[root@xavi-001 tmp]# ls -ld xavi2drw-r--r-- 2 root root 19 12月 19 22:51 xavi2

二 chown 即change ower

[root@xavi-001 tmp]# chown xavi /tmp/yum.log[root@xavi-001 tmp]# !ls-rw-r--r-- 1 xavi root  0 12月 20 22:30 yum.log
  • chgrp 改变所属组
  • chown :root /tmp/yum.log 也变所有组为root
    [root@xavi-001 tmp]# chgrp user1 /tmp/yum.log[root@xavi-001 tmp]# !lsls -l /tmp/-rw-r--r-- 1 xavi user1  0 12月 20 22:30 yum.log
  • chown 所有者:所属组 文件或目录
    [root@xavi-001 tmp]# chown user1:xavi /tmp/yum.log[root@xavi-001 tmp]# !lsls -l /tmp/-rw-r--r-- 1 user1 xavi  0 12月 20 22:30 yum.log
  • 这里chown -R的用法和chmod -R的用法是一样的
    [root@xavi-001 tmp]# chown -R user1:xavi /tmp/xavilinux[root@xavi-001 tmp]# ls -ld /tmp/xavilinuxdrwxr-xr-x 4 user1 xavi 28 12月 19 22:43 /tmp/xavilinux

    ls-ld用法是对目录时要加d,文件只加l.

三 umask 确定目录或文件的权限

分别创建文件和目录,文件的权限默认644,而目录为755

[root@xavi-001 tmp]# touch 11.txt[root@xavi-001 tmp]# ls -l 11.txt-rw-r--r-- 1 root root 0 12月 20 23:02 11.txt[root@xavi-001 tmp]# mkdir 123[root@xavi-001 tmp]# ls -ld 123drwxr-xr-x 2 root root 6 12月 20 23:03 123
[root@xavi-001 tmp]# touch 22.txt[root@xavi-001 tmp]# ls -l 22.txt-rw-rw-r-- 1 root root 0 12月 20 23:07 22.txt[root@xavi-001 tmp]# mkdir 234[root@xavi-001 tmp]# ls -ld 234drwxrwxr-x 2 root root 6 12月 20 23:09 234
  • 一直umask计算文件或目录权限的方法
    [root@xavi-001 tmp]# umask0003[root@xavi-001 tmp]# 666-003 = (rw-rw-rw-)-(--------wx)=rw-rw-r--=664[root@xavi-001 tmp]# 777-003 = (rwxrwxrwx)-(--------wx)=rwxrwxr----=774
# 四 chattr - change file attributes on a Linux file system* chattr +/-  i  限制文件被写入修改

[root@xavi-001 tmp]# touch 1.txt

[root@xavi-001 tmp]# chattr +i 1.txt
[root@xavi-001 tmp]# touch 1.txt
touch: 无法创建"1.txt": 权限不够
[root@xavi-001 tmp]# mv 1.txt 3.txt
mv: 无法将"1.txt" 移动至"3.txt": 不允许的操作

 

[root@xavi-001 tmp]# chattr -i 1.txt

[root@xavi-001 tmp]# touch 1.txt
[root@xavi-001 tmp]# mv 1.txt 3.txt
[root@xavi-001 tmp]# ls
11.txt
123
22.txt
234
3.txt

* chattr +/- a 不能更加,不能删除,不能重命名,但能追加,可以touch

[root@xavi-001 tmp]# chattr +a 3.txt

[root@xavi-001 tmp]# rm 3.txt
rm:是否删除普通空文件 "3.txt"?y
rm: 无法删除"3.txt": 不允许的操作
[root@xavi-001 tmp]# vi 3.txt

 

[root@xavi-001 tmp]# head -n2 /etc/passwd >> 3.txt

[root@xavi-001 tmp]# cat 3.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@xavi-001 tmp]# head -n2 /etc/passwd >> 3.txt
[root@xavi-001 tmp]# cat 3.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

 

[root@xavi-001 tmp]# touch 3.txt

[root@xavi-001 tmp]# ls -l 3.txt
-rw-rw-r-- 1 root root 130 12月 20 23:46 3.txt
[root@xavi-001 tmp]# lsattr 3.txt
-----a---------- 3.txt

* 用chattr -a 恢复

[root@xavi-001 tmp]# chattr -a 3.txt

[root@xavi-001 tmp]# lsattr 3.txt
---------------- 3.txt

* 用chattr +i 目录,也是限制了权限

[root@xavi-001 tmp]# mkdir 123/111

[root@xavi-001 tmp]# chattr +i 123
[root@xavi-001 tmp]# lsattr -d 123
----i----------- 123
[root@xavi-001 tmp]# rm -r 123
rm:是否进入目录"123"? y
rm:是否删除目录 "123/111"?y
rm: 无法删除"123/111": 权限不够
[root@xavi-001 tmp]# mv 123 1212
mv: 无法将"123" 移动至"1212": 不允许的操作
[root@xavi-001 tmp]# touch 123/11.txt
touch: 无法创建"123/11.txt": 权限不够

 

[root@xavi-001 tmp]# chattr +i 123

[root@xavi-001 tmp]# head -n2 /etc/passwd > 123/11.txt
-bash: 123/11.txt: 权限不够 //该文件11.txt不存在123、目录下
[root@xavi-001 tmp]# head -n2 /etc/passwd > 123/111.txt //已经存在的目录

 

[root@xavi-001 tmp]# lsattr -R 123

---------------- 123/111

123/111:

---------------- 123/111.txt

[root@xavi-001 tmp]# lsattr 123
---------------- 123/111
---------------- 123/111.txt

 

转载于:https://blog.51cto.com/12995218/2052769

你可能感兴趣的文章
FOR XML PATH 可以将查询结果根据行输出成XML格式
查看>>
我的第一个 react redux demo
查看>>
[LeetCode] Random Flip Matrix 随机翻转矩阵
查看>>
npm 是干什么的
查看>>
SSL证书问题汇总
查看>>
linux:rsync + inotifywait 实现【准实时】同步
查看>>
volatile
查看>>
elasticSearch6源码分析(11)client
查看>>
SunRain
查看>>
486. Predict the Winner
查看>>
超级账本HyperLedger初体验
查看>>
裁员汹汹,这些技术岗位却需求大涨
查看>>
如何用Uber JVM Profiler等可视化工具监控Spark应用程序?
查看>>
专访《Haskell函数式编程入门》作者张淞:浅谈Haskell的优点与启发
查看>>
MonolithFirst:单体应用优先策略
查看>>
Microsoft在Azure中增添了对更多区块链协议的支持
查看>>
在市场营销中使用敏捷方法:过程、团队与成功案例
查看>>
Rust 1.30带来更多元编程支持,并改进了模块系统
查看>>
React服务端渲染Next.js 8发布,新增无服务器功能
查看>>
监控SRE的黄金信号
查看>>