Day005_Linux基础之文件权限

test.sh  举例:

[oldboy@luffy001 ~]$ ls -l test.sh
-rw-r--r-- 1 oldboy ops 0 Nov 14 10:42 test.sh  该文件权限用数字表示:644

r   4

w  2

x  1

-  0

1) 改变文件或目录的权限. (Linux下一切皆文件)

chmod 755 test.sh

2)使用owner ,group,other 加减文件的权限来更改文件权限.

chmod u-x,g+w,o-x test.sh 举例:

给文件添加上执行权限  644 权限基础上

chmod 755 test.sh (给文件赋予可执行权限)

chmod ugo+x test.sh (user,group,other 加上x执行权限)

chmod a+x test.sh

chmod +x test.sh 

以上几种方法都是给文件赋予可执行权限的方法.

chown 修改文件的属主和属组.

chown root.root test.sh /chown root:root test.sh

只修改文件的属组, chown .root test.sh (更改属于root组)

目录的权限:

r   查看目录里面的内容  ls,需要x权限配合,  如果没有x 只能显示目录名, 文件的属性是无法显示的

w   可以在目录里面创建 删除 重命名文件权限, 需要有其它权限配合(x权限配合)

    单独用w权限无法在目录中创建,删除文件,w需要x配合.

x   可以进入(cd)到这个目录 即执行权限.

环境 mkdir -p /oldboy/testdir 

chown oldboy.oldboy /oldboy/testdir

cd /oldboy/testdir (创建目录,准备环境)

touch luffy{001..5}.txt  在目录中创建文件

查看目录对应的权限:

[root@luffy001 oldboy]# ls -dl testdir/
drwxr-xr-x 2 root root 4096 Nov 14 11:44 testdir/ (默认目录是755权限)

chmod u=r testdir/  (更改目录权限为user= r)

只具有目录的可读属主:r,属组:r-x,其他:r-x

给予目录rw 权限,chmod u=rw testdir/  使用stat命令读取目录的权限仍然是只能可读.

对应目录而言, r权限需要x权限配合 使用.

chmod u =rx testdir/

ls -ld testdir/   可以读取出目录的相关文件属性和目录下的文件名称和属性.

目录权限之wx权限. w权限

只赋予目录w权限: chmod u=w testdir/  然后查看目录的权限确认

再向目录中创建文件 touch ./testdir/aaa.txt

发现没有权限. (创建文件和删除文件)

 

[oldboy@luffy001 ~]$ rm -f ./testdir/luffy001.txt
rm: cannot remove `./testdir/luffy001.txt': Permission denied

尝试赋予目录权限为chmod u=wx ./testdir/

[root@luffy001 oldboy]# ls -ld ./testdir/
d-wxr-xr-x 2 oldboy ops 4096 Nov 14 12:17 ./testdir/

可以向目录添加文件

可以删除目录中的文件

创建了oldboy.txt 文件, 删除了luffy001.txt 文件

不支持查看目录中的文件.

 目录权限之x权限

chmod u=x ./testdir

 

 

 总结: 文件目录权限

        文件            目录

r      读取文件内容          查看目录的内容(需要x权限)

w      修改文件内容(需要r)       在目录下面创建,删除文件(需要x权限)

x      执行文件(需要r)          进入到目录的权限(cd)

 !!!删除一个文件, 要看你对这个文件所在的目录是否有wx权限. (write和执行)

posted @ 2018-11-14 15:58  柳湖居士  阅读(162)  评论(0编辑  收藏  举报