1、查看文件权限:
1.1、 ls -l 命令
eg.:
[root@centos6 zyq]
总用量 4
-rw-r--r--. 1 root root 51 7月 30 15:09 hello.txt
1.2、rwx权限
1.2.1、rwx作用到文件
(1)、r代表可读:用户可以读取查看文件内容。
(2)、w代表可写:用户可以修改文件内容,但是不一定可以删除文件,删除文件需要对该文件所在目录具有写权限。
(3)、x代表可执行:可以被用户执行
1.2.2、rwx作用到目录
(1)、r代表可读:用户可以读取,用ls查看目录内容。
(2)、w代表可写:用户可以修改目录,目录内创建、删除文件,重命名目录
(3)、x代表可执行:用户可以进入该目录
1.3、高级权限suid、sgid、sticky
1.1、suid
(1)、功能:只作用于文件,其他用户执行文件时,已文件属主身份执行文件
(2)、添加权限:
chmod u+s file
chmod 4xxx file
(3)、实例:
##查看文件passwd具有suid权限,且文件属主是root
[hack@centos6 dir1]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 11月 24 2015 /usr/bin/passwd
[hack@centos6 dir1]$
##用户hack执行passwd
[hack@centos6 dir1]$ passwd
更改用户 hack 的密码 。
为 hack 更改 STRESS 密码。
(当前)UNIX 密码:
##查看passwd进程执行情况,可以看到执行用户是root
[root@centos6 home]# ps aux|grep passwd|grep -v grep
root 2487 0.0 0.0 167732 1924 pts/1 S+ 10:53 0:00 passwd
1.2、sgid
(1)、功能:作用于文件,让执行文件的用户具有与文件属组相同的权限;作用于目录,该目录以后创建的文件会继承目录的属组;
(2)、添加权限:
chmod g+s file/dir
chmod 2xxx file/dir
(3)、实例:
##给目录添加sgid权限
[root@centos6 home]# chmod g+s dir1
##目录属组为root
[root@centos6 home]# ll -d dir1
drwxrwsrwx. 2 root root 4096 8月 13 10:40 dir1
[root@centos6 home]#
##切换到hack用户,进入目录
[hack@centos6 ~]$ cd /home/dir1
[hack@centos6 dir1]$ ls
##创建文件
[hack@centos6 dir1]$ touch hack.txt
#创建目录
[hack@centos6 dir1]$ mkdir dhack
##查看刚创建的文件和目录的属组都是root,继承了dir1目录的属组
[hack@centos6 dir1]$ ll
总用量 4
drwxrwsr-x. 2 hack root 4096 8月 13 10:49 dhack
-rw-rw-r--. 1 hack root 0 8月 13 10:49 hack.txt
1.3、sticky 粘滞位
(1)、功能:只作用于目录,在目录下,普通用户只能删除自己的文件,不能删除不属于自己的文件
(2)、添加权限:
chmod o+t dir
chmod 1xxx dir
(3)、实例:
##创建目录
[root@centos6 home]# mkdir dir1
[root@centos6 home]# chmod 777 dir1
[root@centos6 home]# ll -d dir1
drwxrwxrwx. 2 root root 4096 8月 13 10:37 dir1
##给目录赋权sticky
[root@centos6 home]# chmod o+t dir1
[root@centos6 home]# ll -d dir1
drwxrwxrwt. 2 root root 4096 8月 13 10:38 dir1
[hack@centos6 ~]$ cd /home/dir1
[hack@centos6 dir1]$ id
uid=502(hack) gid=1001(hack) 组=1001(hack) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
##用户hack创建文件
[hack@centos6 dir1]$ touch hack.txt
[hack@centos6 dir1]$ ll
总用量 0
-rw-rw-r--. 1 hack hack 0 8月 13 10:38 hack.txt
-rw-rw-r--. 1 tony tony 0 8月 13 10:38 tony.txt
[hack@centos6 dir1]$
##删除tony的文件,不允许
[hack@centos6 dir1]$ rm tony.txt
rm:是否删除有写保护的普通空文件 "tony.txt"?y
rm: 无法删除"tony.txt": 不允许的操作
[hack@centos6 dir1]$
##删除自己的文件成功
[hack@centos6 dir1]$ rm -f hack.txt
[tony@centos6 ~]$ cd /home/dir1
[tony@centos6 dir1]$ id
uid=503(tony) gid=503(tony) 组=503(tony) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
##用户tony创建文件
[tony@centos6 dir1]$ touch tony.txt
[tony@centos6 dir1]$
[tony@centos6 dir1]$ ll
总用量 0
-rw-rw-r--. 1 hack hack 0 8月 13 10:38 hack.txt
-rw-rw-r--. 1 tony tony 0 8月 13 10:38 tony.txt
##用户tony删除hack的文件,失败
[tony@centos6 dir1]$ rm -f hack.txt
rm: 无法删除"hack.txt": 不允许的操作
[tony@centos6 dir1]$
#用户tony删除自己的文件,成功
[tony@centos6 dir1]$ rm -f tony.txt
[tony@centos6 dir1]$
2、chmod命令
2.1、功能:修改文件权限
2.2、用法:
chmod [选项]... 模式[,模式]... 文件...
或:chmod [选项]... 八进制模式 文件...
每种模式都应属于这类形式"[ugoa]*([-+=]([rwxXst]*|[ugo]))+"
u : 文件所属用户
g :与文件属主同组的其它用户
o :文件属组外其它组的用户
a :所有用户,包括 u , g, o
+ : 添加权限
- : 减少权限
= : 赋值权限
八进制模式: r = 4 ,w = 2 ,x = 1; r-- <==> 4 ,rw- <==> 6 (4+2),rwx <==> 7(4+2+1)
常用选项:
-R :以递归方式更改所有的文件及子目录
eg.:
[root@centos6 zyq]
总用量 4
-rw-r--r--. 1 root root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 4
-rwxr--r--. 1 root root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 4
-rwxrw-r--. 1 root root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 4
-rwxrw-r-x. 1 root root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 4
-rw-rw-r--. 1 root root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 4
-rw-rw-rw-. 1 root root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 4
-r--------. 1 root root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
3、chown 命令
3.1、功能:修改文件的属主或属组
3.2、用法:
chown [选项]... [属主][:[组]] 文件...
常用选项:
-R :递归修改目录下所有的文件及子目录
eg.:
[root@centos6 zyq]
总用量 8
drwxr-xr--. 4 root root 4096 8月 8 15:19 ddd
-rw-r--r--. 1 root root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 8
drwxr-xr--. 4 root root 4096 8月 8 15:19 ddd
-rw-r--r--. 1 cat root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 8
drwxr-xr--. 4 root root 4096 8月 8 15:19 ddd
-rw-r--r--. 1 cat cat 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 8
drwxr-xr--. 4 cat root 4096 8月 8 15:19 ddd
-rw-r--r--. 1 cat cat 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
4、chgrp命令
4.1、功能:修改文件属组
4.2、用法:
chgrp [选项]... 用户组 文件...
常用选项:
-R : 递归修改目录下所有的文件及子目录
eg.:
[root@centos6 zyq]
总用量 8
drwxr-xr--. 4 cat root 4096 8月 8 15:19 ddd
-rw-r--r--. 1 cat cat 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 8
drwxr-xr--. 4 cat root 4096 8月 8 15:19 ddd
-rw-r--r--. 1 cat root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
[root@centos6 zyq]
总用量 8
drwxr-xr--. 4 cat cat 4096 8月 8 15:19 ddd
-rw-r--r--. 1 cat root 51 7月 30 15:09 hello.txt
[root@centos6 zyq]
总用量 8
drwxr-xr--. 2 cat cat 4096 8月 8 15:19 a.txt
drwxr-xr--. 3 cat cat 4096 8月 8 15:19 ccc