linux命令(16)---文件权限管理命令

在之前使用过windows系统的都知道,可为文件设置权限,那么这权限是怎么设置的,之前在"linux(15)---用户管理命令"中提到,系统中的用户主要是实现资源分享,那在系统中的文件权限自然也是针对用户而言设置的权限,如果没有系统没有用户,那设置权限也无意义,文件权限彻底是"某用户针对该文件有哪些权限"可对文件进行哪些相关操作。

在linux系统中具有着"一切皆文件的概念",当然也分了很多文件类型,但是在文件权限设置上只分为"文件权限和目录权限"

linux系统中针对文件而言,文件的权限可分为{readable(可读),简写为"r"、weitable(可写),简写为"w"、excutable(可执行)"x"}三类,

可操作文件的用户分类分别为{owner:属主"u",   group :属组 "g" ,  other:其他 "o"}三类

系统中对文件的权限和操作用户:

-rw-r--r--. 1 root root   45 Apr 22 09:19 a.txt      前十位的第二位至第十位为可设置权限,分别先后表示为第二位到第4位为:u属主的权限,第五位至第七位为:g属组的权限,第八位至第十位为:o其他用户的权限。第三段和第四段分别为root,表示文件的属主和属组,在文件中并不直接表现出文件o用户,只在权限设置位体现。

针对文件用户可操作权限方式:

r:可使用文件查看工具获取文件内容

w:可修改其内容

x:可以把此文件提交给内核启动为一个进程

针对目录用户可操作权限方式:

r:可以使用ls 查看此目录中的列表

w:可在此目录中创建文件,也可以删除此目录中的文件

x:可以使用ls -l查看此目录中文件列表,可cd进如此目录

八进制表示文件权限方式:

r=4,w=2,x=1,那么总合是7,又因为用户分为u,g,o三类用户可对文件操作权限,即可每一类用户对文件权限都可占有7的权限,那么文件权限的最高权限表示为"777"

chamod命令:change file mode bits

【功能】修改文件权限,以文件为参照修改权限,使其用户对文件权限操作,

【语法】

chmod [OPTION]... MODE... FILE.. //该方式是指定"xwr"修改
chmod [OPTION]... OCTAL-MODE FILE... //该方式是以"八进制"方式修改文件文件权限
chmod [OPTION]... --reference=RFILE FILE...  //该方式是"参照某文件"修改指定文件权限

【常用选项】

-R,--recursive:表示递归修改文件权限,常用于目录下有多个子文件时使用

【实例1】为a.txt文件的o用户添加w权限,属主添加x权限

[[email protected] tmp]# ll
total 16
-rw-r--r--. 1 root root   45 Apr 22 09:19 a.txt
-rw-r--r--. 1 root root   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root root 1336 Apr 22 03:21 passwd
-rw-r--r--. 1 root root  128 Apr 22 08:40 testfile
-rw-------. 1 root root    0 Apr 22 00:13 yum.log
[[email protected] tmp]# chmod u+x,o+w a.txt 
[[email protected] tmp]# ll
total 16
-rwxr--rw-. 1 root root   45 Apr 22 09:19 a.txt
-rw-r--r--. 1 root root   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root root 1336 Apr 22 03:21 passwd
-rw-r--r--. 1 root root  128 Apr 22 08:40 testfile
-rw-------. 1 root root    0 Apr 22 00:13 yum.log

【实例2】最常用的八进制方式设置文件权限,修改b.txt文件权限位444

[[email protected] tmp]# ll
total 16
-rwxr--rw-. 1 root root   45 Apr 22 09:19 a.txt
-rw-r--r--. 1 root root   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root root 1336 Apr 22 03:21 passwd
-rw-r--r--. 1 root root  128 Apr 22 08:40 testfile
-rw-------. 1 root root    0 Apr 22 00:13 yum.log
[[email protected] tmp]# chmod 444 b.txt 
[[email protected] tmp]# ll
total 16
-rwxr--rw-. 1 root root   45 Apr 22 09:19 a.txt
-r--r--r--. 1 root root   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root root 1336 Apr 22 03:21 passwd
-rw-r--r--. 1 root root  128 Apr 22 08:40 testfile
-rw-------. 1 root root    0 Apr 22 00:13 yum.log

【实例3】参照某文件设置指定文件权限,

//参照yum.log文件权限位b.txt a.txt 和testfile设置权限
[[email protected] tmp]# ll
total 16
-rwxr--rw-. 1 root root   45 Apr 22 09:19 a.txt
-r--r--r--. 1 root root   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root root 1336 Apr 22 03:21 passwd
-rw-r--r--. 1 root root  128 Apr 22 08:40 testfile
-rw-------. 1 root root    0 Apr 22 00:13 yum.log
[[email protected] tmp]# chmod --reference=yum.log b.txt a.txt testfile 
[[email protected] tmp]# ll
total 16
-rw-------. 1 root root   45 Apr 22 09:19 a.txt
-rw-------. 1 root root   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root root 1336 Apr 22 03:21 passwd
-rw-------. 1 root root  128 Apr 22 08:40 testfile
-rw-------. 1 root root    0 Apr 22 00:13 yum.log

chown命令:change file owner and group

【功能】修改文件属主和属组,在有些时候需要修改文件的属主和属组,如某脚本文件需要某用户运行时,此时只修改文件权限是无法满足的。

【语法】

chown [OPTION]... [OWNER][:[GROUP]] FILE...   //表示指定修改文件的属主和属组,可单改
chown [OPTION]... --reference=RFILE FILE...   //参数某文件修改指定文件的属主和属组

【常用选项】

-R,--recursive:表示递归修改文件的属主和属组,常用于目录下有多个子文件时使用

【实例1】修改a.txt文件的属主为zhangsan用户

[[email protected] tmp]# ll
total 16
-rw-------. 1 root root   45 Apr 22 09:19 a.txt
-rw-------. 1 root root   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root root 1336 Apr 22 03:21 passwd
-rw-------. 1 root root  128 Apr 22 08:40 testfile
-rw-------. 1 root root    0 Apr 22 00:13 yum.log
[[email protected] tmp]# tail -n 3 /etc/passwd
zhangsan:x:501:501::/home/zhangsan:/bin/bash
lisi:x:503:503::/home/lisi:/bin/bash
user1:x:505:505:tell 110:/home/testuser1:/bin/tcsh
[[email protected] tmp]# chown zhangsan a.txt 
[[email protected] tmp]# ll
total 16
-rw-------. 1 zhangsan root   45 Apr 22 09:19 a.txt
-rw-------. 1 root     root   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root     root 1336 Apr 22 03:21 passwd
-rw-------. 1 root     root  128 Apr 22 08:40 testfile
-rw-------. 1 root     root    0 Apr 22 00:13 yum.log

【实例2】修改b.txt文件的属主和属组都为zhangsan

[[email protected] tmp]# ll
total 16
-rw-------. 1 zhangsan root   45 Apr 22 09:19 a.txt
-rw-------. 1 root     root   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root     root 1336 Apr 22 03:21 passwd
-rw-------. 1 root     root  128 Apr 22 08:40 testfile
-rw-------. 1 root     root    0 Apr 22 00:13 yum.log
[[email protected] tmp]# chown zhangsan:zhangsan b.txt 
[[email protected] tmp]# ll
total 16
-rw-------. 1 zhangsan root       45 Apr 22 09:19 a.txt
-rw-------. 1 zhangsan zhangsan   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root     root     1336 Apr 22 03:21 passwd
-rw-------. 1 root     root      128 Apr 22 08:40 testfile
-rw-------. 1 root     root        0 Apr 22 00:13 yum.log

【实例3】复制b.txt文件的属主和属组给testfile文件

[[email protected] tmp]# ll
total 16
-rw-------. 1 zhangsan root       45 Apr 22 09:19 a.txt
-rw-------. 1 zhangsan zhangsan   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root     root     1336 Apr 22 03:21 passwd
-rw-------. 1 root     root      128 Apr 22 08:40 testfile
-rw-------. 1 root     root        0 Apr 22 00:13 yum.log
[[email protected] tmp]# chown --reference=b.txt testfile 
[[email protected] tmp]# ll
total 16
-rw-------. 1 zhangsan root       45 Apr 22 09:19 a.txt
-rw-------. 1 zhangsan zhangsan   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root     root     1336 Apr 22 03:21 passwd
-rw-------. 1 zhangsan zhangsan  128 Apr 22 08:40 testfile
-rw-------. 1 root     root        0 Apr 22 00:13 yum.log

【实例4】递归修改文件的属主和属组,使其test目录及子文件属主和属组都为zhangsan

[[email protected] tmp]# ls -l test
total 16
-rw-------. 1 root root   45 Apr 23 08:25 a.txt
-rw-------. 1 root root   25 Apr 23 08:25 b.txt
-rw-r--r--. 1 root root 1336 Apr 23 08:25 passwd
-rw-------. 1 root root  128 Apr 23 08:25 testfile
-rw-------. 1 root root    0 Apr 23 08:25 yum.log
[[email protected] tmp]# ls -ld test
drwxr-xr-x. 2 root root 4096 Apr 23 08:25 test
[[email protected] tmp]# chown -R zhangsan:zhangsan test
[[email protected] tmp]# ls -ld test
drwxr-xr-x. 2 zhangsan zhangsan 4096 Apr 23 08:25 test
[[email protected] tmp]# ls -l test 
total 16
-rw-------. 1 zhangsan zhangsan   45 Apr 23 08:25 a.txt
-rw-------. 1 zhangsan zhangsan   25 Apr 23 08:25 b.txt
-rw-r--r--. 1 zhangsan zhangsan 1336 Apr 23 08:25 passwd
-rw-------. 1 zhangsan zhangsan  128 Apr 23 08:25 testfile
-rw-------. 1 zhangsan zhangsan    0 Apr 23 08:25 yum.log

【实例5】只修改文件passwd属组为zhangsan

[[email protected] tmp]# ll
total 20
-rw-------. 1 zhangsan root       45 Apr 22 09:19 a.txt
-rw-------. 1 zhangsan zhangsan   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root     root     1336 Apr 22 03:21 passwd
drwxr-xr-x. 2 zhangsan zhangsan 4096 Apr 23 08:25 test
-rw-------. 1 zhangsan zhangsan  128 Apr 22 08:40 testfile
-rw-------. 1 root     root        0 Apr 22 00:13 yum.log
[[email protected] tmp]# chown :zhangsan passwd 
[[email protected] tmp]# ll
total 20
-rw-------. 1 zhangsan root       45 Apr 22 09:19 a.txt
-rw-------. 1 zhangsan zhangsan   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root     zhangsan 1336 Apr 22 03:21 passwd
drwxr-xr-x. 2 zhangsan zhangsan 4096 Apr 23 08:25 test
-rw-------. 1 zhangsan zhangsan  128 Apr 22 08:40 testfile
-rw-------. 1 root     root        0 Apr 22 00:13 yum.log

chgrp命令:change group ownership

【功能】修改文件或目录的属组

【语法】

chgrp [OPTION]... GROUP FILE...               //修改文件属组

chgrp [OPTION]... --reference=RFILE FILE..    //指定参照文件修改指定文件属组

【常用选项】

-R,--recursive:表示递归修改文件的属组,常用于目录下有多个子文件时使用

【实例】修改文件属组

[[email protected] tmp]# ll
total 20
-rw-------. 1 zhangsan root       45 Apr 22 09:19 a.txt
-rw-------. 1 zhangsan zhangsan   25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root     zhangsan 1336 Apr 22 03:21 passwd
drwxr-xr-x. 2 zhangsan zhangsan 4096 Apr 23 08:25 test
-rw-------. 1 zhangsan zhangsan  128 Apr 22 08:40 testfile
-rw-------. 1 root     root        0 Apr 22 00:13 yum.log
[[email protected] tmp]# chgrp root b.txt passwd testfile 
[[email protected] tmp]# ll
total 20
-rw-------. 1 zhangsan root       45 Apr 22 09:19 a.txt
-rw-------. 1 zhangsan root       25 Apr 22 11:08 b.txt
-rw-r--r--. 1 root     root     1336 Apr 22 03:21 passwd
drwxr-xr-x. 2 zhangsan zhangsan 4096 Apr 23 08:25 test
-rw-------. 1 zhangsan root      128 Apr 22 08:40 testfile
-rw-------. 1 root     root        0 Apr 22 00:13 yum.log

umask命令,在linux系统中可查看文件默认权限,

[[email protected] tmp]# umask
0022
[[email protected] ~]$ umask
0002

管理用户默认权限位0022,意思就是文件默认权限位666去除x权限,表示在创建普通文件是默认权限位644,在创建目录时默认权限位755,表中在创建文件时默认是不能给文件有执行(x)权限的默认如果有x权限那么会自动+1,普通用户默认创建文件权限位664。

【实例1】管理用户创建文件和目录默认权限

[[email protected] tmp]# touch filenamelog
[[email protected] tmp]# mkdir testfile
[[email protected] tmp]# ll
total 4
-rw-r--r--. 1 root root    0 Apr 23 08:47 filenamelog
drwxr-xr-x. 2 root root 4096 Apr 23 08:48 testfile
-rw-------. 1 root root    0 Apr 22 00:13 yum.log

【实例2】普通用户创建文件和目录默认权限

[[email protected] ~]$ touch filename
[[email protected] ~]$ mkdir directory
[[email protected] ~]$ ll
total 4
drwxrwxr-x. 2 zhangsan zhangsan 4096 Apr 23 08:48 directory
-rw-rw-r--. 1 zhangsan zhangsan    0 Apr 23 08:46 filename
时间: 2024-10-23 20:21:43

linux命令(16)---文件权限管理命令的相关文章

linux命令(17)---文件权限管理命令之ACL控制

在linux系统中文件权限所属可管理的用户类型大致分为三类:u-->属主.g-->属组.o-->其他用 户,那么有没这么一种情况,有一个用户或组既不属于文件的属主.属组呢,当然出了属主.属组就是 其他用户了. 现在有这么一个目录名为"testdr",权限位770,从设置目录文件不难看出属主和属组对目录都有最 高的权限,其他用户对目录并且半点权限,现在要求一个用户既不属于属主或属组可对目录有rx权限, 一个不是目录属组的用户组对文件也有rx权限.针对目录而言rx权限意味

Linux常用命令(第二版) --权限管理命令

权限管理命令 1.chmod[change the permissions mode of a file] : /bin/chmod 语法: chmod [{ugo}{+-=}{rwx}] [文件或目录名] // 直观 e.g. chmod u+wx filename chmod o-x filename chmod g=rwx filename 或者: chmod [mode=421] [文件或目录] // 推荐 权限所对数字: r-4 w-2 x-1 e.g.  rwxr-xr-- 754

Linux用户及文件权限管理

用户及文件权限管理 一.实验介绍 1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 二.Linux 用户管理 通过第一节课程的学习,你应该已经知道,Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁

linux下的文件权限管理

权限管理有两个层面 第一层区分用户:文件属主(u), 组用户(g), 其它(o) 第二层区分权限:读(r),写(w),可执行(x) 这两个层次构成文件权限管理的二维结构 u         g         o r w x 实际中我们用9个bit位来分别表示这张表里九个位置的值 在八进制下就是三位数了 所以最常见到的chmod 777 filename 中777的含义就是将上面九个格子全部置1了:所有用户都具有了读/写/可执行权限 还有三个比较冷门的模式:S_ISUID S_ISGID, 粘滞

linux 用户及文件权限管理

Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看.修改彼此的文件. 下面我们就来学习一下 Linux 下的账户管理的基础知识. 1.首先查看用户的指令: who am i/whoami 输出的第一列

Linux 系统管理 01:文件权限管理

这篇文章主要包括如下主题: 一.基础概念 二.安全上下文 三.基本权限 四.特殊权限 五.文件访问控制列表 一.基础概念 1.文件拥有者:属主 2.文件拥有组:属组 二.安全上下文 1.进程是以某用户发起从而运行的,故进程会以运行其用户的权限完成所有操作 2.进程访问文件的权限应用模型 (1)如果"进程的属主 == 被访问文件的属主",则应用属主的权限,否则进入(2) (2)如果"进程的属主 in 被访问文件的属组中",则应用属组的权限,否则进入(3) (3)直接应

Mac os 下的文件权限管理

Mac os 下的文件权限管理 命令 ls -l -A 结果 -rw-r--r-- 1 user admin 2326156 4 12 15:24 adb 横线代表空许可.r代表只读,w代表写,x代表可执行.注意这里共有10个位置.第一个字符指定了文件类型.在通常意义上,一个目录也是一个文件.如果第一个字符是横线,表示是一个非目录的文件.如果是d,表示是一个目录. 确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限.也可以利用chown命令来更改某

Linux自学第二天(权限管理命令、文件搜索命令、帮助命令)

添加用户两步走:1.useradd username   2.passwd ps  权限管理命令 命令名称:chmod  ->>change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 语法:chmod [{u g o} {+-=}{rwx}][文件或目录] [mode = 421] [文件或目录] +:增加权限 -:减少权限 =:直接赋予权限 掌握的重点是用数字的方式进行权限控制,r=4 w=2 x=1. rwxr-x

Linux命令详解-文件权限管理

1.文件权限管理 1.切换用户身份: su命令 如果从管理员到普通用户,不用使用密码,但是从普通用户到管理员用户,则需要输入密码.该命令只是转换身份,家目录和环境变量是不会变的. su – root  完全转换身份,包括家目录 2.只允许root登录: 在/etc/下面建一个名字为 nologin的文件,不需要写入任何内容. touch nologin 3.权限管理: chmod   用户:a u o g   加减权限 : + – =  读写执行权限:r w x 八进制数字:0:无权限  1:x