二周第三次课(3月28日)
2.14 文件和目录权限chmod
# ls -l
-rw-r--r--. 1 root root 0 8月 9 10:53 1.txt # 该文件权限:可读、可写、不可执行。
# 权限位末尾有'.',则表示该文件受制于selinux(防火墙)
# 临时开关
# setenforce 0 #0为关闭,1为开启
# getenforce # 查看是否开关
Permissive #Permissive为关闭,Enforcing为开启
- 如果要彻底关闭selinux需要改配置文件
# vi /etc/selinux/config# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # '强制开启' # permissive - SELinux prints warnings instead of enforcing. # '警告,不会强制开启' # disabled - No SELinux policy is loaded. # '关闭' SELINUX=enforcing # '更改=号后面的值';更改完毕再重启。然后创建新的文件就不会带'.'了。 # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
- -|rwx|r--|r--:文件权限信息;第一节为类型;第二节为所有者权限:包含可读、可写、可执行;第三节为该文件所属用户组用户对该文件的权限。第四节为其他用户对该文件的权限。
- 权限可以用数字表示:r = 4 ; w = 2 ; x = 1 ; rwx = 7 ; rw- = 6 ; --x = 1 ; rw-r--r-- = 644 ;(每3个是一个权限位,自己的权限相加。)
- rwx:w:可写;r:可读;x:可执行。(没有该权限用-表示)
- r--:表示所属用户组:可读,不可写,不可执行。
- r--:其他用户:可读,不可写,不可执行。
chmod = change mode
- chmod nnn xxx:更改权限 (只对于目录本身,其下的子目录及文件权限不会做修改)
# chmod 700 1.txt #更改1.txt权限 # ls -l 1.txt -rwx------. 1 root root 0 8月 9 10:53 1.txt #权限从rw-r--r--变更为rwx------
- chmod -R nnn xxx:更改权限,该目录及子目录和文件都做权限修改。
- 其他用法
# 这个方法不推荐。写数字多方便 # chmod u=rwx,g=rw,o=r 1.txt # ls -l 1.txt -rwxrw-r--. 1 root root 0 8月 9 10:53 1.txt# 把所有项都加上x权限 # chmod a+x 1.txt # ls -l 1.txt -rwxrwxr-x. 1 root root 0 8月 9 10:53 1.txt# chmod a-x 1.txt # ls -l 1.txt -rw-rw-r--. 1 root root 0 8月 9 10:53 1.txt
2.15 更改所有者和所属组chown
chown = change owner
- chown uuu xxx :更改文件所有者
# ls -l 1.txt # 查看原所有者 root -rwxrw-r--. 1 root root 0 8月 9 10:53 1.txt# chown longlong 1.txt # 更改所有者# ls -l 1.txt # 查看更改后所有者 longlong -rwxrw-r--. 1 longlong root 0 8月 9 10:53 1.txt
- chown uuu:ggg xxx:更改用户和组
- chown :ggg xxx:只更改组
- 加上 -R;也会把子目录及文件的用户和组更改
# ls -l 2.txt # 查看原用户和组 -rw-r--r--. 1 root root 0 8月 9 12:14 2.txt# chown longlong:long 2.txt # 更改用户和组# ls -l 2.txt # 查看更改后用户和组 -rw-r--r--. 1 longlong long 0 8月 9 12:14 2.txt
- 加上 -R;也会把子目录及文件的用户和组更改
- chown :ggg xxx:只更改组
chgrp = change group
- chgrp ggg xxx :更改文件所有者
# chgrp long 1.txt # 更改所属组 # ls -l 1.txt # 查看所属组 long -rwxrw-r--. 1 longlong long 0 8月 9 10:53 1.txt
2.16 umask
为什么创建目录和创建文件的权限不一样?
# umask # 查看默认权限 0022 # 默认值0022# umask 0002 # 更改默认权限;首位0可以省略 # umask 0002 #更改后的默认权限# 更改默认权限前后创建文件和目录的权限值对比 # mkdir bb # 创建bb目录 # touch 2.txt # 创建2.txt # ls -l -rw-r--r--. 1 root root 0 8月 9 16:17 1.txt # 更改前文件 -rw-rw-rw-. 1 root root 0 8月 9 16:19 2.txt # 更改后文件 drwxr-xr-x. 2 root root 6 8月 9 16:16 aa # 更改前目录 drwxrwxrwx. 2 root root 6 8月 9 16:19 bb # 更改后目录
- 目录必须有x权限,因为目录要执行了,才能看到目录下的子目录及文件。
- 更改前计算公式:
- 目录:777(rwxrwxrwx) - 022(----w--w-) = 755(rwxr-xr-x)
- 文件:666(rw-rw-rw-) - 022(----w--w-) = 644(rw-r--r--)
- 更改后计算公式:
- 目录:777(rwxrwxrwx) - 002(-------w-) = 775(rwxrwxr-x)
- 文件:666(rw-rw-rw-) - 002(-------w-) = 664(rw-rw-r--)
- 第二次更改umask后再创建文件和目录
# umask 0003 # 更改默认权限 # mkdir cc # 创建cc目录 # touch 3.txt # 创建3.txt # ls -l -rw-r--r--. 1 root root 0 8月 9 16:17 1.txt # 更改前的文件 -rw-rw-rw-. 1 root root 0 8月 9 16:19 2.txt # 第一次更改后的文件 -rw-rw-r--. 1 root root 0 8月 9 18:22 3.txt # 第二次更改后的文件 drwxr-xr-x. 2 root root 6 8月 9 16:16 aa # 更改前的目录 drwxrwxrwx. 2 root root 6 8月 9 16:19 bb # 第一次更改后的目录 drwxrwxr--. 2 root root 6 8月 9 18:22 cc # 第二次更改后的目录
- 更改后计算公式:
- 目录:777(rwxrwxrwx) - 003(-------wx) = 775(rwxrwxr--)
- 文件:666(rw-rw-rw-) - 003(-------wx) = 664(rw-rw-r--)
2.17 隐藏权限lsattr/chattr
- lsattr xxx:查看是否有隐藏权限。
- lsattr -R xxx:可以查看目录及所有子目录和文件的隐藏权限。
- lsattr -a xxx:可以查看目录及所有子目录和文件的隐藏权限包括隐藏的。
# lsattr -----a---------- ./aa ---------------- ./1.txt ---------------- ./bb ---------------- ./2.txt ---------------- ./cc ---------------- ./3.txt # lsattr -R -----a---------- ./aa./aa: ---------------- ./aa/11.txt ---------------- ./aa/11_txt.swp ---------------- ./aa/4913 ---------------- ./aa/11.tx~ ---------------- ./aa/22_txt.swp ---------------- ./aa/22.txt -----a---------- ./aa/33.txt ---------------- ./aa/33_txt.swp ---------------- ./aa/5036 ---------------- ./aa/33.tx~---------------- ./1.txt ---------------- ./bb./bb:---------------- ./2.txt ---------------- ./cc./cc:---------------- ./3.txt
- chattr +i xxx:增加一个隐藏权限。给文件或目录增加i权限(谁都无法增删改,但是可以复制该目录),把其变成只读。(可以修改目录下原有文件内容和复制该文件,不能增加、删除、移动、重命名文件。)
- chattr +a xxx:给文件或目录增加a权限;该权限只能复制该文件和追加内容,不能删除和更改文件内容及重命名文件名。(目录下只能增加文件和复制目录,不能删除、移动、重命名文件)。
- 可以touch该文件。但是只更改创建时间,内容不变。
- chattr -i xxx:删除一个隐藏权限。给文件或目录删除i权限
# tree . ├── aa │ ├── 1.txt │ └── 2.txt ├── bb │ ├── 11.txt │ └── 22.txt └── cc├── a.txt└── b.txt # chattr +i aa/ # 给aa目录增加i权限 # chattr +a bb/ # 给bb目录增加a权限 # chattr +i cc/a.txt # 给a文件增加i权限 # chattr +a cc/b.txt # 给b文件增加a权限 # lsattr -R ----i----------- ./aa./aa: ---------------- ./aa/1.txt ---------------- ./aa/2.txt-----a---------- ./bb./bb: ---------------- ./bb/11.txt ---------------- ./bb/22.txt---------------- ./cc./cc: ----i----------- ./cc/a.txt -----a---------- ./cc/b.txt# mv aa dd # i权限的aa目录无法重命名 mv: 无法将"aa" 移动至"dd": 不允许的操作 # mv aa/1.txt aa/3.txt # i权限的aa目录下的文件无法重命名 mv: 无法将"aa/1.txt" 移动至"aa/3.txt": 权限不够 # mv aa/1.txt cc/ mv: 无法将"aa/1.txt" 移动至"cc/1.txt": 权限不够 # aa目录下的文件无法移动 # vi aa/1.txt # 可以修改aa目录下文件的内容 # cat aa/1.txt qq # rm aa/1.txt # 不可以删除aa目录下的文件 rm:是否删除普通文件 "aa/1.txt"?y rm: 无法删除"aa/1.txt": 权限不够 # mkdir aa/aa # 不可以在aa目录下创建目录 mkdir: 无法创建目录"aa/aa": 权限不够 # touch aa/3.txt # 不可以在aa目录下创建文件 touch: 无法创建"aa/3.txt": 权限不够 # rm bb/11.txt # 不可以删除a权限的bb目录下的文件 rm:是否删除普通空文件 "bb/11.txt"?y rm: 无法删除"bb/11.txt": 不允许的操作 # mv bb/11.txt cc/d.txt # a权限的bb目录下的文件无法移动 mv: 无法将"bb/11.txt" 移动至"cc/d.txt": 不允许的操作 # mv bb/11.txt bb/33.txt # a权限的bb目录下的文件无法重命名 mv: 无法将"bb/11.txt" 移动至"bb/33.txt": 不允许的操作 # touch bb/33.txt # 可以在bb目录下创建文件 # lsattr -R ----i----------- ./aa./aa: ---------------- ./aa/1.txt ---------------- ./aa/2.txt-----a---------- ./bb./bb: ---------------- ./bb/11.txt ---------------- ./bb/22.txt ---------------- ./bb/33.txt---------------- ./cc./cc: ----i----------- ./cc/a.txt -----a---------- ./cc/b.txt
- chattr +a xxx:给文件或目录增加a权限;该权限只能复制该文件和追加内容,不能删除和更改文件内容及重命名文件名。(目录下只能增加文件和复制目录,不能删除、移动、重命名文件)。
转载于:https://www.cnblogs.com/ksqinglong/p/8666893.html
二周第三次课(3月28日)相关推荐
- 三周第三次课(12月27日)
三周第三次课(12月27日) 3.7 su命令 su 切换用户 whoami id su -aming su aming 切换用户,但是没有切换家目录 su - -c "touch /tmp ...
- Linu20180415三周第三次课(4月4日)
3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 su就是切换用户的命令 su - username 切记要使用 - . 我经常使用的时候是不加上-的,这样的话切换的不彻底,尚在之 ...
- 三周第三次课(11月1日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录
2019独角兽企业重金招聘Python工程师标准>>> 3.7 su命令 su - 用户名 切换用户(加-彻底切换用户包括一些配置文件) 不加 - 的话 还会在root 家目录下 加 ...
- 三周第五次课(4月10日)
4.5/4.6 磁盘格式化 df -Th 查看分区的文件系统 [root@test220 ~]# df -hT Filesystem Type Size Used Avail Use% Mounted ...
- 【2017 数据技术嘉年华】10月28日广州站即将华丽来袭!
还有 8 天 我们就要 到达广州站 啦 在各位业界同仁的支持下,ACOUG 已经成功举办六届千人规模的 Oracle 技术嘉年华.今年,秉承"云 • 数据 • 智能 - 数聚价值 智胜未来& ...
- linux五周第三次课(3月7日)笔记
五周第三次课(3月7日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 搜索看一下有没有这两个shell,不安装. 8.2 命令历史 用过的 ...
- 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(11月28日-12月4日)
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(11月28日-12月4日) 本周Silverlight学习资源更新 Silverlight HttpUtil 封 ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(8月28日-9月3日)
分享Silverlight/WPF/Windows Phone一周学习导读(8月28日-9月3日) 本周Silverlight学习资源更新: Silverlight动画 cutylongshen Si ...
- Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月28日-2月3日)
Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月28日-2月3日) 本周Windows 8开发学习资源更新 重新想象 Windows 8 Store Apps (7 ...
最新文章
- 模拟命令行自动输入的HTML,HTML5 命令行界面仿真和自动打字动画
- numpy(5)-astype
- [20161031]rman备份与数据文件OS块.txt
- 统计学习方法 第九章笔记: EM 算法
- 字符串换行截取_textwrap 文本自动换行与填充
- 今年不容易,要懂得爱护自己
- “睡服”面试官系列第二十一篇之class基本语法(建议收藏学习)
- BXP3.0安装指南(传统方法)(转)
- 第一章 批判性思维概念
- hitb-2017 1000levels writeup
- 2022年《社区护理学》 试题及答案
- 什么是NVMe硬盘?
- iOS 如何判断静音开关是否打开
- 最强思维导图训练营教程
- 关于HPM126A打印机共享问题-共享之后主机得打印一次后其他电脑才能打印
- 在西安,1000万人的城市,有多少家IT培训机构?
- 区块链智能资产的“硬链接”思考
- RSA算法的Python实现(模幂运算——原始算法)
- 推荐系统遇上深度学习(三十六)--Learning and Transferring IDs Representation in E-commerce...
- HTML开发过程中遇到的尺寸问题