Linux下有两种用户:管理员用户(root用户)、普通用户。
- 管理员用户:可以做Linux下做任何事情,不受限制。
- 普通用户:在Linux下做有限的事情。
Linux权限管理
1.文件访问者的分类
—文件和目录的拥有者:u
—文件和目录文件的拥有者所在的组的用户:g
—其他用户:o
2.文件访问权限的种类(重要区分文件和文件加)
①读(r):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
②写(w):Write对文件而言,具有修改文件内容的权限;对于目录来说,具有删除移动目录内文件的权限。
③执行(x):Execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。所以对于文件夹来说x是rw的前提
④“-”表示不具有该项选项
3.文件权限值的表示方法
①字符表示方法
②八进制数值表示方法
Chmod命令详解
更改文件拥有者(chown命令)
chown [可选项] user[:group] file
更改文件权限 (chmod命令)
参数说明:
[可选项]
-c, --changes like verbose but report only when a change is made (若该档案权限确实已经更改,才显示其更改动作)
-f, --silent, --quiet suppress most error messages (若该档案权限无法被更改也不要显示错误讯息)
-v, --verbose output a diagnostic for every file processed(显示权限变更的详细资料)
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's mode instead of MODE values
-R, --recursive change files and directories recursively (以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)
--help 显示此帮助信息
--version 显示版本信息
[mode]
权限设定字串,详细格式如下 :
[ugoa...][[+-=][rwxX]...][,...],
其中
[ugoa...]
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。
[+-=]
+ 表示增加权限,- 表示取消权限,= 表示唯一设定权限。
[rwxX]
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
[file...]
文件列表(单个或者多个文件、文件夹)
范例:
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
chown tommy:tommy所属用户组 -R /opt (文件夹)