chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1. 命令格式
chmod [-cfvR] [—help] [—version] mode file
2. 命令功能
用于改变文件或目录的访问权限,用它控制文件或目录的访问权限。
3. 命令参数
必要参数:
-
-c
当发生改变时,报告处理信息 -
-f
错误信息不输出 -
-R
处理指定目录以及其子目录下的所有文件 -
-v
运行时显示详细处理信息选择参数:-
--reference=
<目录或者文件> 设置成具有指定目录或者文件具有相同的权限 -
--version
显示版本信息
<权限范围>+<权限设置> 使权限范围内的目录或者文件具有指定的权限
<权限范围>-<权限设置> 删除权限范围的目录或者文件的指定权限
<权限范围>=<权限设置> 设置权限范围内的目录或者文件的权限为指定的值
权限范围: -
u
:目录或者文件的当前的用户 -
g
:目录或者文件的当前的群组 -
o
:除了目录或者文件的当前用户或群组之外的用户或者群组 -
a
:所有的用户及群组
权限代号:
-
r
:读权限,用数字4
表示 -
w
:写权限,用数字2
表示 -
x
:执行权限,用数字1
表示 -
-
:删除权限,用数字0
表示 -
s
:特殊权限
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。- (1). 文字设定法:
chmod [who] [+ | - | =] [mode] 文件名 - (2). 数字设定法
我们必须首先了解用数字表示的属性的含义:0
表示没有权限,1
表示可执行权限,2
表示可写权限,4
表示可读权限,然后将其相加。所以数字属性的格式应为3
个从0
到7
的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4
(可读)+2
(可写)=6(读/写)。
数字设定法的一般形式为:chmod [mode] 文件名
Shell数字与字符对应关系如下:
r=4
,w=2
,x=1
若要rwx
属性则4+2+1=7
若要rw-
属性则4+2=6
;
若要r-x
属性则4+1=7。
4. 使用实例
实例1:增加文件所有用户组可执行权限
- 命令:
chmod a+x run.py
实例2:同时修改不同用户权限
命令:
chmod ug+w,o-x run.py
实例3:删除文件权限
命令:
chmod a-x run.py
实例4:使用“=”设置权限
命令:
chmod u=x run.py
实例5:对一个目录及其子目录所有文件添加权限
命令:
chmod -R u+x scripts/
其他一些用法
- 命令:
chmod 751 file
Shell说明:给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
- 命令:
chmod u=rwx,g=rx,o=x file
Shell说明:上例的另一种形式
- 命令
chmod =r file
Shell说明:为所有用户分配读权限
- 命令:
chmod 444 file
Shell说明: 同上例
- 命令:
chmod a-wx,a+r file
chgrp命令示例
1.命令格式
chgrp [选项] [组] [文件]
Shell2.命令功能
chgrp
命令可采用群组名称或群组识别码的方式改变文件或目录的所属群组。使用权限是超级用户。3.命令参数
必要参数:
-
-c
当发生改变时输出调试信息 -
-f
不显示错误信息 -
-R
处理指定目录以及其子目录下的所有文件 -
-v
运行时显示详细的处理信息 -
--dereference
作用于符号链接的指向,而不是符号链接本身 -
--no-dereference
作用于符号链接本身
选择参数:
-
--reference=
<文件或者目录> -
--help
显示帮助信息 -
--version
显示版本信息
4.使用实例:
实例1:改变文件的群组属性
命令:
chgrp -v bin run.py
实例2:根据指定文件改变文件的群组属性
命令:
chgrp --reference=run.py run.pl
实例3:改变指定目录以及其子目录下的所有文件的群组属性
命令演示及输出:
chgrp -R bin scripts/
实例4:通过群组识别码改变文件群组属性
命令:
chgrp -R 99 scripts/
说明:通过群组识别码改变文件群组属性,99
为nobody
群组的识别码,具体群组和群组识别码可以查看/etc/group
文件中的内容。chown命令示例
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用
chown
命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。1.命令格式
chown [选项]... [所有者][:[组]] 文件...
Shell2.命令功能
通过
chown
改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。3.命令参数:
必要参数:
-
-c
显示更改的部分的信息 -
-f
忽略错误信息 -
-h
修复符号链接 -
-R
处理指定目录以及其子目录下的所有文件 -
-v
显示详细的处理信息 -
-deference
作用于符号链接的指向,而不是链接文件本身
选择参数:
-
--reference=
<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组 -
--from=
<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变 -
--help
显示帮助信息 -
--version
显示版本信息
4.使用实例
实例1:改变拥有者和群组
命令:
chown yiibai:yiibai newfile.txt
实例2:改变文件拥有者和群组
命令:
chown root: newfile.txt
实例3:改变文件群组
命令:
chown :yiibai newfile.txt
实例4:改变指定目录以及其子目录下的所有文件的拥有者和群组
命令:
chown -R -v root:yiibai scripts/
-
- 命令:
- (1). 文字设定法:
-
Shell记录-Shell命令(文件权限)的更多相关文章
-
stat命令--文件权限属性设置
stat命令文件权限属性设置 stat命令用于显示文件的状态信息. stat命令的输出信息比ls命令的输出信息要更详细. 语法 stat(选项)(参数) 选项 -L:支持符号连接: -f:显示文件系统 ...
-
Shell记录-Shell命令(文件查找)
常见解压/压缩命令 tar文件格式解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) .gz文件格式解压1:g ...
-
Shell记录-Shell命令(其他)
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. .命令格式 top [参数] Shell 2.命令功能 显示当前系统正在执行的 ...
-
Shell记录-Shell命令(find)
Linux中的find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花 ...
-
Shell记录-Shell命令(定时任务)
在Linux系统中, at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron(crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因 ...
-
Shell记录-Shell命令(磁盘)
inux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式 df [选项] [文件] Shell ...
-
Shell记录-Shell脚本基础(四)
while循环,使您能够重复执行一组命令,直到某些条件发生.它通常用于当你需要反复操纵的变量值. 语法 while command do Statement(s) to be executed if ...
-
Shell记录-Shell脚本基础(一)
Shell 注释: 你可以把注释,在你的脚本如下: #!/bin/bash # Author : Zara Ali # Copyright (c) Tutorialsyiibai.com # Scri ...
-
【记录】linux 文件权限的查看和修改
从上图可以看出每个文件权限与类型都是不一样的,如果对各个字母表达的含义不了解,那么看的真是一脸懵逼. 别急,具体解释如下: d rwx rwx rwx - rwx r-- rw- 第一列含义 ...
随机推荐
-
IE11下Forms身份认证无法保存Cookie的问题
ASP.NET中使用Forms身份认证常见的做法如下: 1. 网站根目录下的Web.config添加authentication节点 <authentication mode="For ...
-
批处理之命令补充II
网络命令 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" / ...
-
Pythonic八荣八耻
以动手实践为荣 , 以只看不练为耻; 以打印日志为荣 , 以单步跟踪为耻; 以空格缩进为荣 , 以制表缩进为耻; 以单元测试为荣 , 以人工测试为耻; 以模块复用为荣 , 以复制粘贴为耻; 以多态应用 ...
-
C Primer Plus(第五版)4
第四章 字符串和格式化输入输出 4.2 字符串简介 字符串(character string)就是一个或多个字符的序列.下面是一个字符串的例子: “Zing went the strings of m ...
-
Android小项目之九 两种上下文的区别
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
-
linux对外开放某个端口命令
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /etc/rc.d/init.d/iptables save /etc/rc.d/init.d/ ...
-
用asio的定时器实现带超时的connect,备忘
// test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <boost/asio.hpp> #inclu ...
-
CSS也需要重构
最初接触到的CSS面向对象,是项目里的CSS超过8千行,缺乏约束和管理,在近期或不远的将来,有迫切的要求需要重构.CSS面向对象和模块化. CSS代码遇到的问题: 重用性差,看着一个CSS的名称,很难 ...
-
day84
在建表写字端时,id可以不写,orm会自动创建 表模型如果不写主键,orm会自动创建一个主键 from django.db import models # Create your models her ...
-
一般xcode报错
下面这图报找不到FMDtabaseQueue,其实是把文件拖入xcode的时候xcode没有把.m文件添加进工程路径 解决办法:build phases-> compile sources &q ...