Linux笔记:权限管理

Linux中对于权限的管理是非常严格的,不同的用户可以拥有不同的操作权限,其中超级管理员root是最大的,几乎拥有所有的权限,如果你是root用户,即使你想把系统给删了也是允许的,所以经常有“rm -rf /*”的玩笑或段子,但也确实需要小心,使用rm -rf命令的时候不要删错东西了。
常用的权限操作可能就是对文件或目录的权限管理操作了,比如有些文件是对普通用户是只读的,此时想要修改它的内容则需要拥有写权限才行,比如脚本文件需要有执行权限才能运行,此时就需要先给它赋予执行权限才行。本文记一些常用的权限管理操作。

 

chmod命令
此命令用于改变文件或目录的权限,并且只有root用户及文件或目录的所有者才能改变它的权限,改变权限通常有两种方式,一种是使用rwx字母的形式,一种是使用它们代表的数字421的形式,但通常后者更常用。
chmod [ugoa][+-=][rwx] 文件或目录:使用rwx方式修改文件或目录的权限,如果进行多个权限操作,则使用逗号连接即可,如“chmod u=rwx,g+w,o-r myfile”。
chmod 数字 文件或目录:使用数字修改文件或目录的权限,rwx与数字之间的对应关系是:

  • r --- 4
  • w --- 2
  • x --- 1
  • 没有权限就是0
  • 权限表示:一个权限位的值是其具体权限对应的权限数字的和,例如rwx对应的值就是7,而5对应的权限就是r-x。

选项:

  • -R:递归更改权限(注意是大写的R)。

 

chown/chgrp命令
chown 用户 文件或目录:修改一个文件或者目录的所有者为指定的用户。但需要注意的是,只有管理员root能改变文件的所有者。
chgrp 用户组 文件或目录:修改一个文件或目录的所属组为指定的所属组。

 

sudo权限
sudo权限的作用是root用户把本来只能root执行的命令赋予权限让普通用户也能执行,并且sudo的操作对象是系统命令。
示例:“sudo /sbin/shutdown -r now”表示普通用户可以执行sudo指定的只有root用户才能执行的命令“/sbin/shutdown -r now”。
visudo:root用户可以执行这个命令来修改sudo可以操作命令,这个命令对应的文件为/etc/sudoers,所以也可以手工去修改这个文件的内容。如:
root ALL=(ALL) ALL:分别表示用户名、被管理主机的地址=(可使用的身份)、授权命令(绝对路径),“用户名”指的是被赋予的用户,“被管理主机的地址”指的不是远程连接时的本机IP,而是远程连接时要访问的IP,“(可使用的身份)”表示这个用户可使用的身份,ALL一般就是指root等用户身份,可以不用指定,默认就是root来执行这个命令,“授权命令(绝对路径)”在实际使用时不应该使用ALL,而应该指定具体的命令。
%wheel ALL=(ALL) ALL:与上一点指定用户可使用的命令时的格式和作用都是相似的,只是%后跟的是用户组名。
sudo -l:查看可以执行的sudo指定的命令。

 

Linux笔记:权限管理

上一篇:Shell笔记:hello world和Shell基础


下一篇:1116 Come on! Let's C (20分)