chmod 订阅
chmod是一个计算机函数,功能是改变文件的读写许可设置,如果改变成功返回0,否则返回-1,函数原型是int chmod( const char *filename, int pmode) 展开全文
chmod是一个计算机函数,功能是改变文件的读写许可设置,如果改变成功返回0,否则返回-1,函数原型是int chmod( const char *filename, int pmode)
信息
外文名
chmod
函数功能
改变文件的读写许可设置,
函数原型
int chmod
所属库:
io.h
chmod简介
C语言函数函数名称:chmod函数原型:int chmod( const char *filename, int pmode );所属库:io.h函数功能:改变文件的读写许可设置,如果改变成功返回0,否则返回-1这个例子中实现了把文件sample.txt设置为只读文件:备注:S_IRUSR S_IWUSR S_IXUSR均定义在sys/stat.h头文件下可以使用命令chmod来为文件或目录赋予权限。Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。使用权限:所有使用者格式:chmod [-cfvR] [--help] [--version] mode file...参数说明:mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。-s :在文件执行时把进程的属主或组ID置为该文件的文件属主。-c : 若该档案权限确实已经更改,才显示其更改动作-f : 若该档案权限无法被更改也不要显示错误讯息-v : 显示权限变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本相关函数:fchmod, stat, open, chown头文件:#include #include 定义函数:int chmod(const char * path, mode_t mode);函数说明:chmod()会依参数mode 权限来更改参数path 指定文件的权限。参数 mode 有下列数种组合:1、S_ISUID 04000 文件的 (set user-id on execution)位2、S_ISGID 02000 文件的 (set group-id on execution)位3、S_ISVTX 01000 文件的sticky 位4、S_IRUSR (S_IREAD) 00400 文件所有者具可读取权限5、S_IWUSR (S_IWRITE)00200 文件所有者具可写入权限6、S_IXUSR (S_IEXEC) 00100 文件所有者具可执行权限7、S_IRGRP 00040 用户组具可读取权限8、S_IWGRP 00020 用户组具可写入权限9、S_IXGRP 00010 用户组具可执行权限10、S_IROTH 00004 其他用户具可读取权限11、S_IWOTH 00002 其他用户具可写入权限12、S_IXOTH 00001 其他用户具可执行权限注:只有该文件的所有者或有效用户识别码为0,才可以修改该文件权限。基于系统安全,如果欲将数据写入一执行文件,而该执行文件具有S_ISUID 或S_ISGID 权限,则这两个位会被清除。如果一目录具有S_ISUID 位权限,表示在此目录下只有该文件的所有者或root 可以删除该文件。返回值:权限改变成功返回0, 失败返回-1, 错误原因存于errno.错误代码:1、EPERM 进程的有效用户识别码与欲修改权限的文件拥有者不同, 而且也不具root 权限.2、EACCESS 参数path 所指定的文件无法存取.3、EROFS 欲写入权限的文件存在于只读文件系统内.4、EFAULT 参数path 指针超出可存取内存空间.5、EINVAL 参数mode 不正确6、ENAMETOOLONG 参数path 太长7、ENOENT 指定的文件不存在8、ENOTDIR 参数path 路径并非一目录9、ENOMEM 核心内存不足10、ELOOP 参数path 有过多符号连接问题.11、EIO I/O 存取错误范例/* 将/etc/passwd 文件权限设成S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH */
收起全文
精华内容
下载资源
问答
  • chmod

    2019-05-29 15:43:00
    chmod命令:改变linux系统文件或目录的访问权限。该命令有两种用法:一种是包含字母和操作符表达式的文字表示法;一种是包含数字的数字表示法。 格式:chmod xxxx 文件或目录 1 通过ll命令查看所有文件和目录并...

    chmod命令:改变linux系统文件或目录的访问权限。该命令有两种用法:一种是包含字母和操作符表达式的文字表示法;一种是包含数字的数字表示法。

    格式:chmod xxxx 文件或目录

    1 通过ll命令查看所有文件和目录并显示具体权限信息

    例如:-rwxr-xr-x  共10个字符,第一个字符-表示该文件不是目录,若是d则表示目录文件。剩下的9个从左到右分为3组,分别表示属主用户、与属主同组的用户、其他用户的读、写、可执行权限。

    r 只读,w写,x可执行。

    2 文字表示法

    格式:chmod [权限范围] [操作] [权限设置] 文件或目录

    <权限范围>+<权限设置> 使权限范围内的目录或者文件具有指定的权限
    <权限范围>-<权限设置> 删除权限范围的目录或者文件的指定权限
    <权限范围>=<权限设置> 设置权限范围内的目录或者文件的权限为指定的值

    权限范围:

    u 属主用户,g 与属主同组的用户,o 其他用户,a 所有的用户及群组。

    操作:

    + 添加权限,- 移除权限,= 设置权限。

    权限设置:

    r 只读权限,w 写权限,x 可执行权限,- 删除权限。

    例如:

    chmod a+x xxx.txt  增加所有用户的执行权限

    chmod a-x xxx.txt  所有用户删除执行权限

    chmod g+w a.txt 属主同组用户增加写权限

    chmod o+x b.txt 其他用户增加执行权限

    chmod u-w,g+r,o-x c.txt 属主用户删除写权限,属主同组用户增加只读权限,其他用户删除执行权限

    chmod ug-w, o+x xxx.txt 属主用户和同组用户删除写权限,其他用户增加执行权限

    chmod a=rx xxx.txt 对文件设置所有用户可读可执行权限

    chmod -R a=rx dd.txt 对目录及目录下的所有文件设置权限

    3 数字表示法

    从左到右将用户分为三组:每组用户的权限位为3个,分别为rwx

    r 只读 4,w 写 2,x 可执行 1

    chmod 777 a.txt 设置所有用户具有可读可写可执行的权限

    chmod 744 b.txt 设置属主用户具有可读可写可执行权限,与属主同组的用户具有可读可执行权限,其他用户具有可读可执行的权限。

     

    转载于:https://www.cnblogs.com/mydesky2012/p/10944204.html

    展开全文
  • Chmod

    2019-05-18 10:26:41
    chmod [-cfvR] [–help] [–version] mode file… [ugoa…][[±=][rwxX]…][,…] • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 • + 表示...

    控制文件如何被他人所调用。
    权限分为三级 : 文件拥有者u、群组g、其他o。

    chmod [-cfvR] [–help] [–version] mode file…

    [ugoa…][[±=][rwxX]…][,…]

    • • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
    • • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    • • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

    将文件 file1.txt 设为所有人皆可读取 :

    chmod ugo+r 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 777 file

    数字表示

    语法为:

    chmod abc file

    其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

     r=4,w=2,x=1

    • 若要rwx属性则4+2+1=7;
    • 若要rw-属性则4+2=6;
    • 若要r-x属性则4+1=5。

    chmod a=rwx file
    chmod 777 file

    效果相同

    chmod ug=rwx,o=x file
    chmod 771 file

    若用chmod 4755 filename可使此程序具有root的权限

    chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。
    例如:root用户创建了一个上网认证程序netlogin,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令使其他用户也能运行netlogin。
    但是netlogin执行时可能需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。
    这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。

    展开全文
  • chmod

    2009-03-06 11:34:00
    使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。 参数 : mode ...

    使用方式 : chmod [-cfvR] [--help] [--version] mode file...


    说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。


    参数 :
    mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
    u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
    + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
    -c : 若该档案权限确实已经更改,才显示其更改动作
    -f : 若该档案权限无法被更改也不要显示错误讯息
    -v : 显示权限变更的详细资料
    -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
    --help : 显示辅助说明
    --version : 显示版本


    范例 :

    将档案 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
    若要rwx属性则4+2+1=7;
    若要rw-属性则4+2=6;
    若要r-x属性则4+1=7。
    范例:
    chmod a=rwx file  和 chmod 777 file  效果相同
    chmod ug=rwx,o=x file  和 chmod 771 file  效果相同
    若用chmod 4755 filename可使此程序具有root的权限

    展开全文
  • linux下chmod +x的意思?为什么要进行chmod +x

    万次阅读 多人点赞 2018-05-24 17:14:39
    上周在工作中接触到chmod +x 这个命令,如下图: 首先对start.sh这个启动文件删除,然后使用rz命令上传了新的start.sh,然后发现还有进行下一步,chmod +x start.sh 这一步是什么意思呢?经过上网查询(说的比较...

    上周在工作中接触到chmod +x 这个命令,如下图:

    首先对start.sh这个启动文件删除,然后使用rz命令上传了新的start.sh,然后发现还有进行下一步,chmod +x start.sh

    这一步是什么意思呢?经过上网查询(说的比较复杂,引申太多睡觉)和咨询我们研发(还是研发说的通俗易懂大笑

    chmod +x的意思就是给执行权限

     

    • LINUX下不同的文件类型有不同的颜色,这里

    蓝色表示目录;
    绿色表示可执行文件,可执行的程序;
    红色表示压缩文件或包文件;
    浅蓝色表示链接文件;
    灰色表示其它文件;
    

    红色闪烁表示链接的文件有问题了
    黄色表示设备文件

    • 因此如果只是普通的上传start.sh这个文件,那么上传之后也就是一个普通的文件,不能执行

     

    • 下面实践来看

    首先上传了一个stop1.sh文件,是灰色,然后进行chmod +x给了权限。后来使用chmod -x 去除执行权限,可以明显看到效果

    补充:

    chmod +x 和 chmod u+x的区别?

    就是设置谁拥有执行这个文件权限

    chmod +x 和chmod a+x 是一样的,一般没有明确要求,可以就用chmod +x

     

    展开全文
  • Linux常用命令:chmod修改文件权限 777和754

    万次阅读 多人点赞 2018-05-10 11:34:33
    常用下面这条命令:chmod 777 文件或目录示例:chmod 777 /etc/squid 运行命令后,squid文件夹(目录)的权限就被修改为777(可读可写可执行)。如果是Ubuntu系统,可能需要加上sudo来执行:sudo chmod 777 /etc/...
  • 设置方式: SET位权限可以通过chmod命令设置,给文件加suid和sgid的命令如下(类似于上面chmod赋予一般权限的命令): chmod u+s filename 设置suid位 chmod u-s filename 去掉suid设置 chmod g+s filename 设置...
  • chmod chmod命令

    2017-11-17 10:38:11
    http://man.linuxde.net/chmod
  • linux中 chmod +x 和 chmod u+x的区别

    万次阅读 多人点赞 2016-03-01 17:56:21
    通过man查询可知: u 代表用户. g 代表用户组....o 代表其他....a 代表所有. ... 而 chmod +x somefile 和 chmod a+x somefile 是一样的 Just doing +x will apply it to all flags: [u]ser, [g]roup, [o]
  • chmod a+x和chmod u+x区别

    万次阅读 2019-08-23 20:38:37
    chmod a+x a.txt 等价于 chmod +x a.txt 给所有用户给予a.txt文件可执行权限 chmod u+x a.txt a.txt文件的所有用户可执行权限 chmod g+x a.txt a.txt用户组可执行权限 chmod o+x a.txt a.txt其他用户可执行...
  • chmod指令

    2017-06-19 21:20:36
    chmod指令修改权限sudo chmod -R 777 ...
  • chmod修改权限的用法

    万次阅读 多人点赞 2019-02-27 23:15:50
    一、chmod作用:修改文件、目录的权限 二、语法:chmod [对谁操作][操作符][赋予的权限] 文件名 三、操作对象:u 用户user,表现文件或目录的所有者 g 用户组group,表现文件或目录所属的用户组 o 其他用户...
  • chmod命令

    2020-07-11 17:35:55
    chmod命令 chmod命令用来变更文件或目录的权限,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字...
  • chmod用法:用来修改某个目录或文件的访问权限。语法:chmod [-cfvR] [--help] [--version] [who] [+ | - | =] [mode] 文件名例子:chmod -R 777 /home/linux权限范围的表示法如下:u User,即文件或目录的拥有者;g...
  • 修改权限-chmod

    万次阅读 2018-08-12 09:50:13
    1. chmod指令:可以修改文件或者目录的权限 有两种方式修改权限 (1)+ 、-、= 变更权限 u:所有者 g:所在组 o:其他组 a:所有人(u、g、o的总和) 1. chmod u=rwx, g=rx, o=x 文件目录名 2. chmod o+w 文件目录...
  • 函数chmod

    2019-07-19 23:03:48
    chmod函数是用来更改文件权限的。函数原型和依赖的头文件如下: #include <sys/stat.h> int chmod(const char *pathname, mode_t mode); int fchmod(int fd, mode_t mode); chmod是对指定的文件进行操作...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,408
精华内容 21,363
热门标签
关键字:

chmod