Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)
一. 概述
如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读取、写入、执行3种权限来区分设置,还有使用chown,chgrp来改变默认属主属组关系。
1 . 改变权限 chmod
chmod命令用来改变文件和目录安全性设置,该命令的三种用法格式如下:

model模式参数可以使用八进制或符号模式进行安全性设置,八进制模式设置非常直观,直接用期望赋予文件的标准3位八进制权限码即可。符号模式的权限在设置上就复杂多了,就不讲了,下面来看如何读懂八进制。
1.1 八进制 模式
八进制模式是指:先取得权限(rwx)的值,然后将其转换成3位二进制值,这二进制值用一个8进制值来表示。 然后组合的3个8进制值分别代表属主,属组,其它用户的权限。
|
权限 |
二进制值 |
八进制值 |
描述 |
|
--- |
000 |
0 |
没有任何权限 |
|
--x |
001 |
1 |
执行权限 |
|
-w- |
010 |
2 |
写入权限 |
|
-wx |
011 |
3 |
写入和执行权限 |
|
r-- |
100 |
4 |
读取权限 |
|
r-x |
101 |
5 |
读取和执行权限 |
|
rw- |
110 |
6 |
读取和写入权限 |
|
rwx |
111 |
7 |
全部权限 |
通过上面表格说明,我们就能根据文件和目录需要的权限来组合八进制值。例如举列:
如果目录或文件的八进制,组合值为777,代表所有用户都有读,写,执行权限。
如果目录或文件的八进制,组合值为666,代表所有用户都有读,写权限。
如果目录或文件的八进制,组合值为744,代表属主有读,写,执行权限。属组有读权限,其它用户有读权限。
如果目录或文件的八进制,组合值为740,代表属主有读,写,执行权限。属组有读权限,其它用户没有任何权限。
1.2 演示文件权限
下面创建一个file1.txt文件,默认权限是:属主有读写权限,属组和其它用户有只读权限。如下图所示:
|
使用属主root用户操作file1.txt,有写读权限,如下图所示:

使用其它用户hsr,操作file1.txt, 只有读权限,如下图所示:

切换到root用户下,使用chmod命令,增加其它用户写入权限,设置如下图所示:

切换到其它用户hsr,操作file1.txt,此时有了读和写的权限,如下图所示:

2. 改变属主关系
有时需要改变文件的属主,比如:有人离职要改变属主,或者文件要改变到属主下。在linux中提供了两个命令一是chown命令用来改变文件的属主。二是chgrp命令用来改变文件的默认属组。
2.1 chown
使用chown来改变文件的属主,可以用登录名或UID来指定文件的新属主。之前在安装mysql时,使用chown -R将/usr/local/mysql目录下的所有文件和目录。属主改为了mysql用户和属组为mysql组。如下图所示:

chown的-R选项可以递归改变子目录和文件的所属关系。-h选择可以改变文件的所有符号链接文件的所属关系。
(1) 修改属主关系,在root用户下创建,默认是root属主,使用chown -R修改属主为hsr,如下图所示:

(2) 修改属主和属组关系。在root用户下创建,默认是root属组,使用chown -R修改属组为hsr, 注意hsr.hsr第二个hsr 是组名。如下图所示:

2.2 chgrp
上面使用root用户在创建文件时,默认的属组是root组,使用了chown来改变了属组,下面使用chgrp命令也可以改变默认属组,如下将file文件默认属主改为root,如下图所示

Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)的更多相关文章
- rsync 同步文件如何指定属主属组和权限
rsync daemon 同步数据时,若想同时指定权限和属主属组,可以做如下配置: [test1] uid = admin gid = admin incoming chmod = Dug=rwx,D ...
- Linux新手入门:通过chmod改变文件权限--转
前面介绍过在Linux中如何查看文件的属性,在Linux文件权限详解中我们介绍了Linux文件的三种身份和四种权限,三种身份分别为: u:文件的拥有者 g:文件所属的群组 o:其他用户 对于每个身份, ...
- chmod - 改变文件的访问权限
总揽 chmod [options] mode file... POSIX 选项: [-R] GNU 选项 (最短方式): [-cfvR] [--reference=rfile] [--help] [ ...
- Linux文件属性(属主属组权限)
Linux文件属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. ...
- linux 权限管理命令chmod、文件和目录的权限的意义
chmod /bin/chmod chmod [{ugoa}{+-=}{rwx}] [文件或目录]chmod [mode=421] [文件或目录]-R 递归修改 只有 root 和 所有者 可以修改一 ...
- ubuntu linux修改文件所属用户(owner属主)和组(groud属组、用户组)
使用chown命令可以修改文件或目录所属的用户: 命令格式:sudo chown 用户 目录或文件名 例如:sudo chown -R griduser /home/dir1 (把home目录下的d ...
- Linux文件夹权限详解
- 第一个字符代表文件(-).目录(d),链接(l) - 其余字符每3个一组(rwx),读(r).写(w).执行(x) - 第一组rwx:文件所有者的权限是读.写和执行 - 第二组rw-:与文件所有者 ...
- 修改linux文件权限命令:chmod(转)
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...
- 修改linux文件权限命令:chmod
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容, ...
随机推荐
- pypi batch download
https://wiki.archlinux.org/index.php/Python_package_guidelines_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87 ...
- Python+Selenium 利用ID,XPath,tag name,link text,partial link text,class name,css,name定位元素
使用firefox浏览器,查看页面元素,我们以“百度网页”为示例 一.ID定位元素 利用find_element_by_id()方法来定位网页元素对象 ①.定位百度首页,输入框的元素 ②.编写示 ...
- js中的原型对象链
由于原型对象也是一个对象,它也有自己的原型对象并继承对象中的属性,这就是原型对象链:对象继承其原型对象,而原型对象继承它的原型对象,以此类推. 我们创建的每一个函数都有一个prototype(原型)属 ...
- 图解HTTP系列
第一章 第二章 第三章 第四章 第五章 第六章 第七章 第九章 第十章
- 循环调用dll库的界面时,首次正常,再次无响应
消息循环错误: 在为使用CPaintManagerUI::MessageLoop()的情况下退出,但却发送了PostQuitMessage(0).
- java操作docker示例(docker-java)
1.首先要修改docker服务器的 /usr/lib/systemd/system/docker.service,加入紫色框的配置 2.下载docker-java 的github源码 git clon ...
- s6-7 TCP 传输策略
TCP 传输策略 防止黏包现象的出现 当窗口数为 0 时,发送者不能正常发送数据段,除非: -Urgent数据.比如,用户想杀掉远端机器上的进程的时候,可以发送数据 -发送者可以发送一个字节的数据段, ...
- 如何在Ubuntu上安装LAMP服务器系统?
在Ubuntu上安装LAMP Ubuntu的开发人员让人们很容易安装和配置LAMP软件包,只要借助一个终端命令.所以,打开终端窗口,让我们开始入手吧. sudo apt-get install lam ...
- Android缩放动画[ScaleAnimation]
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...
- data science学习笔记1
Mutiple Plots on One Graph plt.plot(x, norm.pdf(x)) plt.plot(x, norm.pdf(x, 1.0, 0.2)) #1.0 = mean, ...