1.权限对应的数值
一开始理解权限对应的数值总是要去用二进制去算例如r-x是多少rwx是多少,后来才知道r就 是4,w就是2,x就是1,不管权限怎么变,他们对应的数值就是对应位相加。。
权限对于文件来说
r 可读,可以使用类似cat等命令查看文件内容
w 可写,可以编辑或删除此文件
x 可执行
权限对于目录来说
r 可以对此目录进行ls以列出内部的所有文件
w 可以在此目录创建文件
x 可以使用cd切换进此目录,也可以使用ls- l来查看目录内部文件的详细内容。目录默认
SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者。
SGID:运行某程序时,相应进程的属组时程序文件自身的属组,而不是启动者自身的属组
不要乱给文件SUID,SGID
2.用户类别
管理员: o root
普通用户:
系统用户:1-499
一般用户:500-60000
3.用户组类别
私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名相同的组
基本组:用户的默认组
附加组:额外组
4.chown 属主 文件[夹] 改变文件属主(管理员命令)
[root@localhost ~]# ls -l /home/admin/a -rw-rw-r--. 1 admin admin 0 Jan 3 12:52 /home/admin/a [root@localhost ~]# chown root /home/admin/a [root@localhost ~]# ls -l /home/admin/a -rw-rw-r--. 1 root admin 0 Jan 3 12:52 /home/admin/a
-R:递归修改,目录内的文件的属主
--reference=文件1 文件2:将文件2的属性改成文件1的属性(属主和属组都改)
[root@localhost ~]# ls -l a /home/admin/a -rw-r--r--. 1 root root 0 Jan 3 13:14 a -rw-rw-r--. 1 admin admin 0 Jan 3 12:52 /home/admin/a [root@localhost ~]# chown --reference=a /home/admin/a [root@localhost ~]# ls -l a /home/admin/a -rw-r--r--. 1 root root 0 Jan 3 13:14 a -rw-rw-r--. 1 root root 0 Jan 3 12:52 /home/admin/a
USERNAME:GRPNAME:同时改变属主属组
[root@localhost ~]# chown admin:admin /home/admin/a [root@localhost ~]# ls -l /home/admin/a -rw-rw-r--. 1 admin admin 0 Jan 3 12:52 /home/admin/a ##可以同时改属主属组 [root@localhost ~]# chown :root /home/admin/a [root@localhost ~]# ls -l /home/admin/a -rw-rw-r--. 1 admin root 0 Jan 3 12:52 /home/admin/a ##也可以单用冒号改属组
5.chgrp 属组 文件[夹] 改变文件属组
[root@localhost ~]# chgrp root /home/admin/a [root@localhost ~]# ls -l /home/admin/a -rw-rw-r--. 1 root root 0 Jan 3 12:52 /home/admin/a
-R:递归修改,目录内的文件的属组
--reference=文件1 文件2:将文件2的属性改成文件1的属性
6.chmod 权限 文件[夹] 更改文件权限
[root@localhost ~]# ls -l a -rw-r--r--. 1 root root 0 Jan 3 13:14 a [root@localhost ~]# chmod 777 a [root@localhost ~]# ls -l a -rwxrwxrwx. 1 root root 0 Jan 3 13:14 a
如果更改权限不全,会在权限前补0
[root@localhost ~]# ls -l a -rwxrwxrwx. 1 root root 0 Jan 3 13:14 a [root@localhost ~]# chmod 6 a [root@localhost ~]# ls -l a -------rw-. 1 root root 0 Jan 3 13:14 a
更改某一类用户的权限
[root@localhost ~]# chmod 000 a [root@localhost ~]# ls -l a ----------. 1 root root 0 Jan 3 13:14 a [root@localhost ~]# chmod u=rwx,g=rw,o=r-x a [root@localhost ~]# ls -l a -rwxrw-r--. 1 root root 0 Jan 3 13:14 a ##也可以在原有权限的基础上+-更改 [root@localhost ~]# chmod 777 a [root@localhost ~]# chmod g-w,o-wx a [root@localhost ~]# ls -l a -rwxr-xr--. 1 root root 0 Jan 3 13:14 a ## a可以代表所有用户 [root@localhost ~]# chmod a-rwx a [root@localhost ~]# ls -l a ----------. 1 root root 0 Jan 3 13:14 a
-R:递归修改,目录内的文件的权限
--reference=文件1 文件2:将文件2的权限改成文件1的权限
***chmod u+s 文件:可以给文件赋予SUID权限,如果原文件属主具有执行权限就变成rws,反之变成rwS
chmod u-s 文件:去掉文件的SUID
[root@bogon ~]# ls -l a b -rwxr--r--. 1 root root 0 Jan 22 19:43 a -rw-r--r--. 1 root root 0 Jan 22 19:43 b [root@bogon ~]# chmod u+s a b [root@bogon ~]# ls -l a b -rwsr--r--. 1 root root 0 Jan 22 19:43 a -rwSr--r--. 1 root root 0 Jan 22 19:43 b
chmod g+s 文件:赋予文件SGID
chmod g-s 文件:去掉文件SGID
7.umask
遮罩码,在新建文件时,文件的默认权限会减去umask值,遮罩码默认为022。而新建文件默认不具有执行权限,也就是x。所以新建文件时权限就是666-022=644=rw-r--r--,文件夹就是777-022=755=rwx-r-xr-x。对于管理员来说umask为002