linux 文件权限系统
什么是文件权限?
linux 是一个多用户的操作系统在多用户操作系统上我们是需要一种方法可以对文件和目录设置特定权限
文件有所属主和所属组以及其他人的权限
文件只具有三个应用全向的用户类别。 文件的所有者(通常是创建文件目录的用户)文件的所有组(通常是创建文件的用户的主要组)其他用户权限
文件/用户的权限
我们常见也比较常用的权限有哪些?
1. r (读取) --可以读取文件内容,列出目录内容
2. w (写入) --可以更改文件内容,可以删除或者创建目录任意文件
3. x (执行) -- 可以作为命令的执行文件,可以访问目录内容
可以使用ls -l 或者 ls -ld 文件/目录 看文件或目录的权限!
常规权限: r(4) w(2) x(1) 读 写 执行
一般创建文件默认权限为 644 -rw- r-- r--
文件权限
文件:
r 查看文件内容(cat/more/less/head/tail/grep)
w 编辑文件内容(vim)
x shell/python脚本
目录:
r 查看目录下的文件(ls /tmp)
w 修改目录下的文件(新建、删除、mv)
x 切换目录(cd)
eg:[root@localhost dir1]# ls -l 2
-rw- r-- rw-. 1 root root 0 12月 29 11:08 2
属主 属组 其他 拥有者 所属组
属主==拥有者 属组==所属组 其他==除了root的的其他用户
管理文件系统的权限
更改文件/目录的权限
chmod 用法
chmod {u , g , o , a, } { + - =} { r , w, x } 文件/目录
u: 表示用户
g:表示组
o:其他用户
a:所用
+: 添加
-:删除
=:精确设置
r:读取
w:写入
x:执行
管理文件系统的权限
更改文件/目录所属人和所属组
chown 用法: (通常这个命令只有root用户使用)
chown -R 属主:属组 文件/目录 --可以递归更改整个目录所有权
chown 属主:属组 文件/目录 ---修改文件/目录 的属主和属组(属主和属组是用冒号隔开的如果只修改属组 chown :属组 文件)
特殊权限:
suid 4
sgid 2
sticky bit 1
1、suid
作用:普通用户在执行命令期间,会临时获取到命令属主用户对操作系统的权限
[root@server ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
设置suid权限
# chmod u+s 文件名称
2、sgid
针对目录设置
作用:目录拥有sgid权限后,在目录下新创建的文件会继承目录的属组信息
设置sgid权限
# chmod g+s 目录名称
[root@server1 ~]# ls -ldh /linux/
drwxr-sr-x. 2 root caiwu 18 4月 11 15:37 /linux/
3、sticky bit
针对目录设置
作用:
只有目录下文件的属主用户、目录属主用户及root可删除该文件
[root@server1 ~]# ls -ldh /tmp/
drwxrwxrwt. 8 root root 4.0K 4月 11 15:45 /tmp/
设置sticky bit权限
# chmod o+t 目录名称
chmod, chown, chgrp, setfacl
共同选项:-R