参考谷粒学院Linux教程:http://www.gulixueyuan.com/course/300/task/7084/show#
linux权限,什么用户可以操作什么.
1.基本权限的作用: 1.1.权限对文件的读,写,执行,对文件和目录是不一样的. 1.1.权限对文件:读(r)可以对文件执行cat,more,less,head,tail等查看命令. 写(w)对文件有写(w)权限,代表可以修改文件中的数据,可以用vim,echo等修改文件数据的命令,注意:对文件有写的权限,是不能删除文件本身的,只能修改文件中的数据,如果想 删除文件,则需要对文件的上级目录拥有写的权限. 执行(x):对文件有执行(x)权限,有这个权限,就可以运行,只是这个文件能不能执行,不仅需要(x)执行权限,还要看文件中的代码是不是正确的语言代码,对文件来说(x)权限是最 高权限. 1.2.权限对目录:读(r)对目录有读(r)的权限,代表可以查看目录下的内容,也是可以查看目录下有那些子文件和子目录.如果把权限对应到命令上,那么一旦对目录有了读(r)的权限,就可以在目录 下执行ls命令,查看目录下的内容. 写(w)对目录有写(x)的权限,代表可以修改目录下的数据,也就是可以在目录中新建,删除,复制,剪切子文件或子目录,如果把权限对应到目录上,那么一但对目录拥有了写的权限(w) 就可以在目录下执行touch,rm,cp,mv命令.对目录来说,写w权限是最高权限. 执行(x):目录上是不能运行的,那么对目录拥有了执行(x)权限,就可以对目录执行cd命令,进入目录. 1.3.目录的可用权限: 0:任何权限都不赋予. 5:基本的目录浏览和进入权限. 7:完全权限. 提示:root 是超级用户想干嘛干嘛.
常用的权限命令:
1.基本的权限命令: 1.chmod 1.1.Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。 1.2.语法:chmod [-cfvR] [--help] [--version] mode file... chmod [选项] 权限模式 文件名. 1.4.参数说明: [ugoa...][[+-=][rwxX]...][,...] 1.5.其中: u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。 1.6.其他参数说明: -c : 若该文件权限确实已经更改,才显示其更改动作 -f : 若该文件权限无法被更改也不要显示错误讯息 -v : 显示权限变更的详细资料 -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更) --help : 显示辅助说明 --version : 显示版本 1.7.例子:chmod u+x xxxx 给所有者加上执行的权限. 原来:-rw-r--r-- 执行命令后:-rwxr--r-- Linux执行文件是绿色的. 1.8.例子:chmod g+w,o+w xxx 给组和其他赋值写入(x)权限. 原来:-rw-r--r-- 执行命令后:-rw-rw-rw- Linux可以允许用","分隔,给组,其他赋值权限. 1.9.例子:chmod g-w,o-w xxx 给组和其他减去写入(x)权限. 原来:-rw-rw-rw- 执行命令后:-rw-r--r-- 1.10.例子:chmod 755权限 解释一下7=所属者权限,4(读)+2(写)+1(执行) 5=组的权限,4(读)+1(执行) 5=其他的权限,4(读)+1(执行) 2.chown 2.1.利用chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID.组可以是组名或者组ID,文件是以空格分开的要改变权限的文件列表,支持通配符. 一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限把自己的文件拥有者改设为别人.只有系统管理者(root)才有这样的权限. 使用权限:root 2.2.语法: chown [-cfhvR] [--help] [--version] user[:group] file... 2.3.参数: user : 新的文件拥有者的使用者 ID group : 新的文件拥有者的使用者组(group) -c : 显示更改的部分的信息 -f : 忽略错误信息 -h : 修复符号链接 -v : 显示详细的处理信息 -R : 处理指定目录以及其子目录下的所有文件 --help : 显示辅助说明 --version : 显示版本 2.4.实例:chown username1(用户名) 文件. 原来:-rwxrwxrwx 2 root root 25 Dec 6 17:49 a.txt 执行后:-rwxrwxrwx 2 username1 root 25 Dec 6 17:49 a.txt 3.useradd 3.1.添加用户命令 3.2.语法: useradd name 4.password 4.1.设置用户密码命令 4.2.语法: password username1 回车,输入密码就行. 5.chgrp 5.1.Linux chgrp命令用于变更文件或目录的所属群组。 在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。 5.2.语法: chgrp [-cfhRv][--help][--version][所属群组][文件或目录...] 或 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...] 5.3.参数: -c或--changes 效果类似"-v"参数,但仅回报更改的部分。 -f或--quiet或--silent 不显示错误信息。 -h或--no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。 -R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。 -v或--verbose 显示指令执行过程。 --help 在线帮助。 --reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。 --version 显示版本信息。 提示:可以设置=权限,(这样就不用管之前是什么权限) u=rwx,g=rwx,o=rwx 可以用数字代表权限:数字权限:4代表"r",2代表"w"权限,1代表"x"权限. 常用权限:644这是文件的基本权限:代表所有者拥有读写的权限,其他人只拥有只读的权限. 755这是文件的执行权限和目录的基本权限,代表所有者拥有读,写和执行的权限,而所属组和其他人拥有读和执行的权限. 777这是最大权限.在实际生产环境中避免给这么大的权限,会造成很大的隐患.当然一个人负责一个linux服务器,一个项目除外. 创建用户就创建对应用户的组. 普通用户可以修改所有者是自己的文件权限. 普通用户不能修改文件的所有者(哪怕文件是属于普通用户的),只有超级用户才能修改所有者.
权限提示:
权限有10位: 第一位: -普通文件 d目录文件 l软连接文件 b块设备文件. c字符设备文件. s套接字文件. p管道符文件. 第二到第四位:所有者 第五到第七位:所属组的权限. 第八到第10位:其他人的权限. r = 读,w = 写,x = 执行 提示-代表没权限.