在Linux中文件时十分重要的,那今天就分享一下如果查看文件,和修改文件权限的方法
首先,如何查看文件,很简单,一个命令:
ls -l
就可以查看文件类型了
效果如上图
接下来就有很多东西要讲解了,首先,打头一个d,然后他有一大堆wrx-组成的9位下面列个表格讲解
文件类型 | 属主权限 | 属组权限 | 其他用户权限 |
---|---|---|---|
0位 | 1-3位 | 4-6位 | 7-9位 |
d:目录 | r:读 | r:读 | r:读 |
- :文件 | w:写 | w:写 | w:写 |
l:链接 | x:执行 | x:执行 | x:执行 |
–代表没有该权限
举个上图的例子,就拿图片举例吧
drwxr-xr-x 2 young young 4096 7月 27 17:56 图片
意思为 图片 是一个目录,属主权限为可读,可写,可执行,属组和其他用户权限都为可读,可执行但不可写,属主和属组都为young,硬链接数为2,大小为4096kb,最后一次修改时间为7月27日,17:56
对照着你就能明白这一行代码是啥意思了
OK再说说更改文件属性!
1.chgrp:更改文件属组
语法:
chgrp [-R] 属组名 文件名
参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2.chown:更改文件属主,也可以同时更改文件属组
语法:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
进入 /root 目录(~)将install.log的拥有者改为bin这个账号:
[root@young ~] cd ~
[root@young~]# chown bin install.log
[root@young ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
将install.log的拥有者与群组改回为root:
[root@young ~]# chown root:root install.log
[root@young ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
3.chmod:更改文件属性
有两种修改方法,一种是数字,一种是字符,先讲数字的吧
文件属性也就是上面提到过的9位由 r w x组成的那一部分,如果想修改那么数字法要记住这几个参数
r:4 w:2 x:1
当有以下情况时
属主权限 = rwx = 4+2+1 = 7
属组权限 = rwx = 4+2+1 = 7
其他用户权限= - - - = 0+0+0 = 0
这就是简单地加法,记住数值就可以了,当想要修改的时候:
ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
chmod 777 .bashrc
ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
看,修改成功了
接下来是字符法
它分为五个部分
命令 | 身份 | 修改方法 | 类型 | 文件或目录 |
---|---|---|---|---|
chmod | u:属主,g:属组,o:其他,a:所有 | +:添加,-:删除,=:设定 | r,w,x | 所要修改的文件或目录名字 |
ls -al test // 查看test默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test
chmod u=rwx,g=rx,o=r test // 修改test权限,属主:读写执行,属组:读写,其他人:读
ls -al test
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test
这样就修改成功了。
而如果是要将权限去掉而不改变其他已存在的权限呢?
例如要拿掉全部人的可执行权限:
ls -al text
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test
chmod a-x test //所有人(a)取消(-)执行权限(x)
ls -al test
-rw-r--r-- 1 root root 0 Nov 15 10:32 test
就成了!