Linux权限管理

1 概述

文件或目录的访问权限分为只读,只写和可执行三种

只读权限表示只允许读其内容,而禁止对其做任何的更改操作

可执行权限表示允许将该文件作为一个程序执行

文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限

以便于对文件的阅读和修改

有三种不同类型的用户可对文件或目录进行访问:

文件所有者,同组用户、其他用户

-rwxr-xr-x. 6 root root         120 8月   4 08:58     cpu

第一列:表明权限 10位,4个部分

                 第一部分,1位,文件类型  -

- 表示所有文件

                              d目录

l符号链接

c’字符专门设备文件

b块专门设备文件

p先进先出

s套接字

                 第二部分,2-4位,用户权限

                 第三部分,5-7位,组权限

                 第四部分,8-10位,其它用户权限

第二列:链接数量

第三列:属主用户

第四列:属组

第五列:文件大小

第6、7、8列:最后一次访问时间

第九列:文件名称

            Linux 文件名称不是通过后缀区分,通过文件类型

            文件名称没有限制("/"除外)

            建议命名时候加后缀

数字法权限:
r:对应数值4

w:对应数值2

x :对应数值1

444 r–r–r–

600 rw——-

644 rw-r–r–

666 rw-rw-rw-

700 rwx——

744 rwxr–r–

755 rwxr-xr-x

777 rwxrwxrw

2 文件类型

d 目录文件

目录, 能用 # cd 命令进入的。权限中第一个属性为 d

l 符号链接

类似Windows下面的快捷方式

s 套接字文件

可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。最常在 /var/run目录中看到这种文件类型

b 块设备文件,二进制文件

存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件

c 字符设备文件

即串行端口的接口设备,例如键盘、鼠标等等

p 命名管道文件

FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。

- 普通文件

Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]

3 相关命令

chmod变更文件或目录的权限

概要

chmod [OPTION]... MODE[,MODE]... FILE...

chmod [OPTION]... OCTAL-MODE FILE...

chmod [OPTION]... --reference=RFILE FILE...

主要用途

通过符号组合的方式更改目标文件或目录的权限。

通过八进制数的方式更改目标文件或目录的权限。

通过参考文件的权限来更改目标文件或目录的权限。

参数

mode:八进制数或符号组合。

file:指定要更改权限的一到多个文件。

选项

-c:当文件的权限更改时输出操作信息。

-f,:抑制多数错误消息的输出。

-R:对目录以及目录下的文件递归执行更改权限操作。

返回值

返回状态为成功除非给出了非法选项或非法参数。

例子

# 添加组用户的写权限。

chmod g+w ./test.log

# 删除其他用户的所有权限。

chmod o= ./test.log

# 使得所有用户都没有写权限。

chmod a-w ./test.log

# 当前用户具有所有权限,组用户有读写权限,其他用户只有读权限。

chmod u=rwx, g=rw, o=r ./test.log

chown 变更文件或目录的拥有者或所属群组

只有文件主和超级用户才可以便用该命令。

语法

chown(选项)(参数)

选项

-c:效果类似“-v”参数,但仅回报更改的部分;

-f:不显示错误信息;

-h:只对符号连接的文件作修改,而不更改其他任何相关文件;

-R:递归处理,将指定目录下的所有文件及子目录一并处理;

-v:显示指令执行过程;

参数

用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者;

文件:指定要改变所有者和工作组的文件列表。

实例

将目录/usr/meng及其下面的所有文件、子目录的文件主改成 liu:

chown -R liu /usr/meng

      

      

chgrp 改变文件或目录所属的组。

语法

chgrp [选项] group filename¼

参数:

-c: 效果类似”-v”参数,但仅回报更改的部分。

-f: 不显示错误信息。

-h: 只对符号连接的文件作修改,而不更动其他任何相关文件。

-R: 递归处理,将指定目录下的所有文件及子目录一并处理。

-v: 显示指令执行过程。

该命令改变指定指定文件所属的用户组。

其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。

文件名是以空格分开的要改变属组的文件列表,支持通配符。

如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

更改/tmp/test/1.png 的组为 test

[root@localhost test]# chgrp  -R test /tmp/test/1.png

[root@localhost test]# ll

总用量 24

-rw-r--r--. 1 root test     0 8月   4 14:19 1.png

参考

https://blog.csdn.net/rong0913/article/details/79233956

https://blog.csdn.net/luxunlx123/article/details/104499677

https://www.cnblogs.com/zhangym/p/5826200.html

https://blog.csdn.net/MrDongShiYi/article/details/81625172

原文地址:https://www.cnblogs.com/ZhouJiaHao/p/13439182.html