概述
文章目录
- 基本权限管理
- 1、权限介绍
- 2、权限修改
- 3、基本权限的作用
- 4、默认权限
基本权限管理
1、权限介绍
在前面的Blog中说到过ls命令,通过-l的选项长列表显示出文件的内容,如下所示
[root@localhost ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1742 Sep 5 19:36 anaconda-ks.cfg
下面就对上图这几个框做详细的说明
以下说明从左至右
第1位:文件类型
_ 普通文件
b 块设备文件 一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sdal就是这种文件
c 字符设备文件 这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等
d 目录文件 Linux中一切皆文件,所以目录也是文件的一种
l 软链接文件。
p 管道符文件,这是一种非常少见的特殊设备文件。
s 套接字文件,这也是一种特殊设备文件,一些服务支持Socket访问,就会产生这样的文件
第2-4位:所有者(所属主)权限
r read 读
w write 写
x execute 执行
第5-7位:所属组权限 内容同上
第8-10位:其他人权限,即不属于本文件的所属者,也不属于所属组 内容同上
2、权限修改
对于权限的修改有chmod、chown、chgrp;下面就对其进行详细的解释
- 命令名称:chmod
- 英文原意: change file mode bits
- 所在路径:
/bin/chmod
- 执行权限:所有用户
- 功能描述:修改文件的权限模式
命令格式
chmod [选项] 权限模式 文件名称
选项:
-R 递归设置权限,即给目录其下的子文件与子目录都设置权限
权限模式:
u/g/o/a +/- rwx/0-7
用户身份。
u 代表所有者(user)
g 代表所属组(group)
o 代表其他人(other)
a 代表全部身份(all)
赋予方式
+ 加入权限
- 减去权限
= 设置权限
权限(数字权限)
r 读取权限(read) 4
w 写权限(write) 2
x 执行权限(execute) 1
案例演示
[root@localhost yichen]# ll
total 0
drwxr-xr-x. 2 root root 18 Sep 8 06:36 eichi
#对所属组增加写权限
[root@localhost yichen]# chmod g+w eichi/
[root@localhost yichen]# ll
total 0
drwxrwxr-x. 2 root root 18 Sep 8 06:36 eichi
#将所有权限改为满权限(777)
[root@localhost yichen]# chmod 777 eichi/
[root@localhost yichen]# ll
total 0
drwxrwxrwx. 2 root root 18 Sep 8 06:36 eichi
#删除所属组的写权限
[root@localhost yichen]# chmod g-w eichi/
[root@localhost yichen]# ll
total 0
drwxr-xrwx. 2 root root 18 Sep 8 06:36 eichi
常用权限
- 644 这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限
- 755 这是文件的执行权限和目录的基本权限,代表所有者拥有读、写、执行权限,而所属组和其他人拥有读、执行权限
- 777 这是最大的权限,在真实的生产服务器上,不建议使用满权限,因为会造成安全隐患
[root@localhost yichen]# touch a
[root@localhost yichen]# mkdir eichi
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 9 06:22 a #644
drwxr-xr-x. 2 root root 6 Sep 9 06:22 eichi #755
chown是修改文件和目录的所有者和所属组的命令
- 命令名称:chown
- 英文原意:change file owner and group
- 所在路径:
/bin/chown
- 执行权限:所有用户
- 功能描述:修改文件和目录的所有者和所属组
命令格式
chown [选项] 所有者:所属组 文件或目录
选项:
-R 递归设置权限 即对目录与其下的子文件都修改权限
案例演示
#创建文件
[root@localhost yichen]# touch eichi/{a..d}
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 9 06:22 a
drwxr-xr-x. 2 root root 42 Sep 9 13:20 eichi
#修改eichi以及其下的文件的所属者与所属组 使用—r选项
[root@localhost yichen]# chown -R u1:u2 eichi
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 9 06:22 a
drwxr-xr-x. 2 u1 u2 42 Sep 9 13:20 eichi
[root@localhost yichen]# ll /eichi
ls: cannot access /eichi: No such file or directory
[root@localhost yichen]# ll eichi
total 0
-rw-r--r--. 1 u1 u2 0 Sep 9 13:20 a
-rw-r--r--. 1 u1 u2 0 Sep 9 13:20 b
-rw-r--r--. 1 u1 u2 0 Sep 9 13:20 c
-rw-r--r--. 1 u1 u2 0 Sep 9 13:20 d
注意:
普通用户可以修改所有者是自己的文件的权限;不能修改文件的所有者(哪怕文件是属于这个普通用户的),只有超级用户才能修改所有者
chgrp是修改文件和目录的所属组的命令,且只能修改文件或目录的所属组;chown也可以修改组,记一个即可
- 命令名称: chgrp
- 英文原意: change group ownership
- 所在路径:
/bin/chgrp
- 执行权限:所有用户
- 功能描述:修改文件和目录的所属组
命令格式
chown [选项] 所属组 文件或目录
选项:
-R 递归设置权限 即对目录与其下的子文件都修改权限
案例演示
#修改a文件的所属组
[root@localhost yichen]# chgrp u1 a
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root u1 0 Sep 9 06:22 a
#修改haha目录及其下的文件的所属组
[root@localhost yichen]# mkdir haha
[root@localhost yichen]# touch haha/{1..3}
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root u1 0 Sep 9 06:22 a
drwxr-xr-x. 2 root root 33 Sep 9 13:33 haha
[root@localhost yichen]# chgrp -R u1 haha
[root@localhost yichen]# ll haha
total 0
-rw-r--r--. 1 root u1 0 Sep 9 13:33 1
-rw-r--r--. 1 root u1 0 Sep 9 13:33 2
-rw-r--r--. 1 root u1 0 Sep 9 13:33 3
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root u1 0 Sep 9 06:22 a
drwxr-xr-x. 2 root u1 33 Sep 9 13:33 haha
3、基本权限的作用
权限对文件的作用
-
r(读):对文件有读(r)权限,代表可以读取文件中的数据
文件有r,即可以对文件执行cat、more、less、head、tail等文件查看命令
-
w(写):对文件有写(w)权限,代表可以修改文件中的数据
文件有w,就可以对文件执行vim、echo等修改文件数据的命令
注意:
对文件有写权限,是不能删除文件本身的,只能修改文件中的数据;如果要想删除文件,则需要对文件的上级目录拥有写权限因为文件的文件名是存储在上级目录的block中的,如下图(截选自硬链接的详解)
-
x(执行):对文件有执行(x)权限,代表文件拥有了执行权限,可以运行
Linux中,文件存在x,这个文件就是执行文件了;正确执行的要素 1、需要执行(X)权限 2、文件中的代码是正确的语言代码 对文件来说,执行(X)权限是最高权限。
权限对目录的作用
-
读( r ):对目录有读(r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。
目录拥有了r,就可以在目录下执行ls命令,查看目录下的内容
-
写(w):对目录有写(r)权限,代表可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪切子文件或子目录
目录拥有了写w,可以在目录下执行touch、rm、cp、mv命令对目录来说,写权限是最高权限
-
执行(X):目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入目录
目录拥有了执行x,就可以对目录执行cd命令,进入目录
其实目录的可用权限就三个
- 0 任何权限都不赋予
- 5 基本的目录浏览和进入权限
- 7 完全权限
解释:
要想查看目录的内容,必须要有r,单纯有r也不行,因为要进入目录必须要有x;所以最基础的查看与进入就是r_x权限,即5权限,如果还想要修改目录的内容,就增加w权限即可,即写权限
4、默认权限
说明:
- 对于普通文件来说,最大权限位666,不允许默认有执行权限,执行权限对文件来说是高危权限
- 对于目录来说,最大权限是777,执行仅仅代表可以进入目录,没有什么危险
默认权限为umask:022 使用的二进制的逻辑与和逻辑非联合运算得出
手工计算,用的是每个位的相减,而不是 数字的相减
举例:
普通文件
-rw- rw- rw-
---- -w- -w-
得出
-rw- r-- r-- 即644
目录
drwx rwx rwx
d--- -w- -w-
得出
drwx r-x r-x 即755
案例演示
普通用户的UID大于500;普通用户的umask是002,root用户的umask是022
临时修改umask umask 033
永久修改vim /etc/profile 环境变量配置文件
最后
以上就是聪明口红为你收集整理的Linux常用命令——基本权限管理基本权限管理的全部内容,希望文章能够帮你解决Linux常用命令——基本权限管理基本权限管理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复