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和执行)