完成:如何更改文件的权限?如何更改文件的默认权限的更改与查询?如何更改文件的所有者、所属组
文件的权限特征:
文件的权限更改者,只有两类人:root 用户 和 文件的所有者
用户权限特征:
一、权限管理命令:chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{ugoa} {+-=} {rwx} ] [文件或目录]
[mode=421] [ 文件或目录】
-R 递归修改 会将该目录下所有文件的权限
注意:
u 表示用户的所有者
g 表示用户的所属组
o 表示除了所有者 所属组的其他人
a 表示所有三类用户
r 表示读权限 w表示 写权限 x表示执行权限
+ 表示添加权限 - 表示减少权限 =表示不管以前权限是什么,当前直接赋值某权限
权限的数字表示:
r ——4 w——2 x——1
rwxrw-r--
7 6 4
功能描述:改变文件或目录权限
范例:
$ chmod g+w testfile 赋予文件testfile 所属组写权限
$ chmod -R 777 testdir 修改目录testfile及其目录或者文件为所有用户具有全部权限
[root@localhost ~]# ls /tmp
gconfd-gdm keyring-DhSa0a keyring-Spao09 pulse-MGzT8wyMASkX
gconfd-root keyring-iYmh4t keyring-yJALZZ virtual-root.EvhOjK
gconfd-zxl keyring-JYi1ma keyring-ZgHSEA virtual-zxl.TJI6ob
issue.hard keyring-Kunc47 orbit-gdm zhangbozhi
issue.soft keyring-KyyPk9 orbit-root
japanlovestory.list keyring-ML3OI8 pulse-dtuDs7nC8qpX
keyring-64ih5K keyring-Muc7EH pulse-KFihLlMUythC
[root@localhost ~]#
[root@localhost ~]# ls -l /tmp/zhangbozhi
-rw-r--r--. 1 root root 0 11月 18 20:56 /tmp/zhangbozhi
[root@localhost ~]# chmod g+w,u+x /tmp/zhangbozhi
[root@localhost ~]# ls -l /tmp/zhangbozhi
-rwxrw-r--. 1 root root 0 11月 18 20:56 /tmp/zhangbozhi
[root@localhost ~]# chmod g-x,o+w /tmp/zhangbozhi
[root@localhost ~]# ls -l /tmp/zhangbozhi
-rwxrw-rw-. 1 root root 0 11月 18 20:56 /tmp/zhangbozhi
[root@localhost ~]# chmod a=rw /tmp/zhangbozhi
[root@localhost ~]# ls -l /tmp/zhangbozhi
-rw-rw-rw-. 1 root root 0 11月 18 20:56 /tmp/zhangbozhi
[root@localhost ~]# chmod o=r /tmp/zhangbozhi
[root@localhost ~]# ls -l /tmp/zhangbozhi
-rw-rw-r--. 1 root root 0 11月 18 20:56 /tmp/zhangbozhi
[root@localhost ~]# chmod chmod 764 /tmp/zhangbozhi
chmod: 无效模式:"chmod"
请尝试执行"chmod --help"来获取更多信息。
[root@localhost ~]# chmod 764 /tmp/zhangbozhi
[root@localhost ~]# ls -l /tmp/zhangbozhi
-rwxrw-r--. 1 root root 0 11月 18 20:56 /tmp/zhangbozhi
[root@localhost ~]#
特例分析: 一个root用户创建的文件,该文件权限为rw- rw- r--, 该文件所在的目录普通用户具有读写权限,请问如果一个普通用户登录linux系统,对该文件是否有删除的权限?
答案是:可以删除
分析:文件目录权限总结:
代表字符 | 权限 | 对文件的含义 | 对目录的含义 |
r | 读权限 | 可以查看文件内容 | 可以列出目录中的内容 |
w | 写权限 | 可以修改文几件内容 | 可以在目录中创建、删除文件 |
x | 执行权限 | 可以执行文件 | 可以进入目录 |
file r:cat/more/head/tail/less
w:vim
x: script command
directory r: ls
w:touch /mkdir/rmdir/rm
x:cd
删除一个文件的权限需要拥有对该文件所在的目录具有写权限!!!
总结:只有两个人可以修改一个文件的权限 root 和 文件所有者
删除一个文件的前提是,拥有对该文件所在目录的读写权限
拥有一个文件的修改权限,需要拥有该文件所在目录的写读写权限
所以,一个文件拥有写权限时,一定拥有读权限
二、权限管理命令:chown
命令名称;chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:chown [用户] [文件或目录]
功能描述:改变文件或目录的所有者
范例:chown zxl fengjie 改变文件 fnegjie的所有者为zxl
[root@localhost ~]# touch /tmp/abcd
[root@localhost ~]# ls -l /tmp/abcd
-rw-r--r--. 1 root root 0 11月 19 01:22 /tmp/abcd
[root@localhost ~]# chmod 777 /tmp/abcd
[root@localhost ~]# ls -ld /tmp/abcd
-rwxrwxrwx. 1 root root 0 11月 19 01:22 /tmp/abcd
[root@localhost ~]# chown zxl /tmp/abcd
[root@localhost ~]# ls -ld /tmp/abcd
-rwxrwxrwx. 1 zxl root 0 11月 19 01:22 /tmp/abcd
[root@localhost ~]#
注意:为一个文件,改变所有者,新的所有者必须是当前系统中存在的用户
三、权限管理命令:chgrp
命令名称:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp [用户组] [文件或目录]
功能描述:改变文件或目录的所属组
范例:$ chgrp lampbrother fengjie 改变文件的所属组为lampbrother
补充:在系统中添加一个用户组的命令为 groupadd 用户组名
四、文件权限管理命令:umask
命令名称;umask
命令英文原意:the user file-creation mask
命令所在路径:shell 内置命令
执行权限:所有用户
语法: umask [-s]
-s 以rwx 形式显示新建的文件缺省权限
功能描述:显示、设置文件的缺省权限
范例:$ umask -S
一个用户可以属于多个所属组,但有一个缺省组
一个文件默认的所有者 默认为该文件的创建者,所属组为该文件创建者的默认缺省组
linux 中新建的文件,默认是没有可执行权限的
Linux中新建的目录,是有可执行权限的
umask 默认所对应的缺省权限值为 0022 表示755
umask 023 表示更改系统中默认的缺省权限,但不建议这么做