文件权限--和练习

文件权限
文件的权限主要针对三类对象进行定义

owner 属主, u
group 属组, g
other 其他, o

注意:
用户的最终权限,是从左向右进行顺序匹配,即,所有者,所属组,其他人,一旦匹配权限立即生效,不再向右查看其权限。
r和w权限对root 用户无效。
只要所有者,所属组或other三者之一有x权限,root就可以执行。

对文件的权限:

r 可使用文件查看类工具,比如:cat,可以获取其内容
w 可修改其内容,文件的是否被删除和文件的权限无关
x 可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)
文件权限常见组合
--- 0
r   4
r-x 5 
rw 6
rwx 7

对目录的权限:

r 可以使用ls查看此目录中文件名列表,但无法看到文件的属性meta信息,包括inode号,不能查看文件的
内容
w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
x 可以cd进入此目录,可以使用ls -l file或stat file 查看此目录中指定文件的元数据,当预先知
道文件名称时,也可以查看文件的内容,属于目录的可访问的最小权限
X 分配给目录或有部分x权限的文件的x权限,对无任意x权限的文件则不会分配x权限
目录权限常见组合
-   不能访问目录
r-x 只读目录
rwx 可读也可写目录

Linux中的目录和文件的权限区别?分别说明读,写和执行权限的区别
1、基本权限三种
(1)r (read) 读
针对目录,有读(r)权限就代表能对此目录有列表功能,就是可以执行ls命令进行查看,另外还有cp的功能。
针对文件,有读(r)权限就代表能对此文件有阅读功能,可以通过cat等命令查看文件内容。
(2)w (write) 写
针对目录,有写(w)权限就代表着在此目录下创建文件和目录,可以通过touch,mkdir等命令创建文件和目录,另外还可以删除此目录下的文件。
针对文件,有写(w)权限就代表着对此文件可以写入新的内容和修改文件内容。
(3)x (execute) 执行
针对目录,有执行(x)权限就代表能进入此目录,利用cd等命令进入此目录
针对文件,有执行(x)权限就代表可以执行此文件。


练习:

  1. 当用户docker对/testdir 目录无执行权限时,意味着无法做哪些操作?
    答:无法进入目录。
[root@rocky-8 test]# chmod 730 test1
[root@rocky-8 test]# ll
drwx-wx--- 2 root root 6 930 22:56 test1
[root@rocky-8 test]# su lixuan
[lixuan@rocky-8 test]$ cd test1/
bash: cd: test1/: 权限不够
  1. 当用户mongodb对/testdir 目录无读权限时,意味着无法做哪些操作?
    答:无法列出文件件的文件,可以新建文件,可以删除文件,不能执行cp,mv等命名。
[root@rocky-8 test]# ll
总用量 0
drwxrwx-wx 2 root root 6 930 22:56 test1
[root@rocky-8 test]# 
[root@rocky-8 test]# su lixuan
[lixuan@rocky-8 test]$ cd test1/
[lixuan@rocky-8 test1]$ ll
ls: 无法打开目录'.': 权限不够
[lixuan@rocky-8 test1]$ touch 1.txt
[lixuan@rocky-8 test1]$ ll
ls: 无法打开目录'.': 权限不够
[lixuan@rocky-8 test1]$ cp /root/test/test1/1.txt /root/1.txt.bak
cp: 无法创建普通文件'/root/1.txt.bak': 权限不够
[lixuan@rocky-8 test1]$ rm -f 1.txt
[lixuan@rocky-8 test1]$ 
#再开一个root窗口
[root@rocky-8 ~]# cd test/test1/ 
#验证是否没有r权限的普通账号新建的文件是否存在。
[root@rocky-8 test1]# ll
总用量 0
-rw-rw-r-- 1 lixuan lixuan 0 930 23:05 1.txt
#验证是否没有r权限的普通账号能否删除文件。
[root@rocky-8 test1]# ll
总用量 0


  1. 当用户redis 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除?
    答:不能修改和删除。
[root@rocky-8 test1]# echo hellword >file1.txt
[root@rocky-8 test1]# ll
总用量 4
-rw-r--r-- 1 root root 9 930 23:16 file1.txt
[root@rocky-8 test1]# cat file1.txt 
hellword
[root@rocky-8 test1]# chmod 664 file1.txt 
[root@rocky-8 test1]# ll
总用量 4
-rw-rw-r-- 1 root root 9 930 23:16 file1.txt
#切换普通账号
[lixuan@rocky-8 test1]$ echo  lixuan >>file1.txt 
bash: file1.txt: 权限不够
[lixuan@rocky-8 test1]$ vim file1.txt 

[已修改但尚未保存]

请按 ENTER 或其它命令继续
[lixuan@rocky-8 test1]$ cat file1.txt 
hellword
[lixuan@rocky-8 test1]$ rm -f file1.txt 
rm: 无法删除'file1.txt': 权限不够
[lixuan@rocky-8 test1]$ 
  1. 当用户zabbix对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除?
    答:不能写入,可以删除,并且可以创建文件和文件夹。
[root@rocky-8 test]# chmod 773 test1/
drwxrwx-wx 2 root root 23 930 23:16 test1
[root@rocky-8 test1]# chmod  664 file1.txt 
[root@rocky-8 test1]# ll
总用量 4
-rw-rw-r-- 1 root root 13 930 23:27 file1.txt
[root@rocky-8 test1]# cat file1.txt 
[root@rocky-8 test1]# echo hellword >file1.txt 
[root@rocky-8 test1]# cat file1.txt 
hellword
[lixuan@rocky-8 test1]$ echo 111 >>file1.txt
bash: file1.txt: 权限不够
[lixuan@rocky-8 test1]$ rm -f file1.txt
[lixuan@rocky-8 test1]$ 
[root@rocky-8 test1]# ll
[lixuan@rocky-8 test1]$ mkdir 123
[lixuan@rocky-8 test1]$ touch 111.txt
[root@rocky-8 test1]# ll
总用量 0
-rw-rw-r-- 1 lixuan lixuan 0 930 23:35 111.txt
drwxrwxr-x 2 lixuan lixuan 6 930 23:35 123
[root@rocky-8 test1]# 
  1. 复制/etc/fstab文件到/var/tmp下,设置文件所有者为tomcat读写权限,所属组为apps组有读写
    权限,其他人无权限
[root@rocky-8 tmp]# cp  /etc/fstab  /var/tmp/
[root@rocky-8 tmp]# useradd tomcat
[root@rocky-8 tmp]# groupadd apps
[root@rocky-8 tmp]# getent passwd tomcat ;getent group apps
[root@rocky-8 tmp]# getent passwd tomcat ; getent group apps
tomcat:x:1005:1006::/home/tomcat:/bin/bash
apps:x:1007:
[root@rocky-8 tmp]#
#验证:
[root@rocky-8 tmp]# ll
总用量 4
-rw-r--r-- 1 tomcat apps 655 930 23:51 fstab
[root@rocky-8 tmp]# 
[root@rocky-8 tmp]# chmod 660 fstab 
[root@rocky-8 tmp]# ll
总用量 4
-rw-rw---- 1 tomcat apps 655 930 23:51 fstab
[root@rocky-8 tmp]# 

  1. 误删除了用户git的家目录,请重建并恢复该用户家目录及相应的权限属性
# mkdir -pv /home/git -m 700

  # cp -a /etc/skel/.[^.]* /home/git

  # chown -R git:git /home/git
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值