很难想像没有权限的世界会变成什么样,随便某人进来增删改查,也真的很可怕的

针对用户的权限设置

Linux为3种人准备了权限——文件所有者(属主)、文件属组用户和其他人

文件所有者通常是文件的创建者,但这也不一定,中途可以改变一个文件的属主用户,这必须由root用户来实施。也可以将一个文件交给一个用户组。

需要设置那些权限

文件和目录享有3种权限:读取(R)、写入(W)和执行(X)

要让一个文件可执行,必须设置其执行权限,可执行文件有两类,一类是直接由CPU执行的二进制代码,一类是Shell脚本程序

查看文件和目录的属性

使用带选项的-l的ls命令可以查看一个文件的属性,包括权限等,首先来个示例$ ls -l /bin/login

-rwxr-xr-x   1   root   root   28096   2016-11-20   10:20   /bin/login

这条命令列出了/bin/login文件主要信息第1段的第1个字符表示文件类型,在上例中是“-”,表示这是一个普通文件

接下来的rwxr-xr-x就是3组权限位,这9个字符应该被这样断句:rwx、r-x、r-x,表示属主、属组和其他人所拥有的权限。r表示可读取,w表示可写,x表示可执行,如果某个权限被经用,那么就用一个短划线“-”代替。在这个例子中,属主拥有读、写和执行权限,属组和其他人拥有读和执行权限。

第3个和第4个字段分别表示文件的属主和属组、在这个例子中,login文件的属主是root,而属组是root组

紧跟着3组权限位的数字表示该文件的链接数目,这里是1,表示该文件只有一个硬链接

最后的4个字段分别表示文件大小(38096字节)、最后修改的是日期和时间,以及这个文件的完整路径

要查看一个目录的属性,应该使用-ld选项$ ls -ld /etc/

drwxr-xr-x   135   root   root   12288   2016-11-20   10:20   /etc

最后,不带文件名作为参数的ls -l命令,列出当前目录下所有文件(不包括隐藏文件)的属性

改变文件所有权:chown和chgrp

chown命令用于改变文件的所有权,基本语法如下:

chown [ OPTION ]  ... [ OWNER ] [ : [ GROUP] ] FILE ...

这条命令将文件FILE的属主改变为OWNER,属组改变为GROUP,下面这条命令,将文件days属性更改为lewis,属组为root组$ ls -l days                                ## 查看当前days的所有权

-rw-r--r--   1   guest   guest   57   2016-11-20   10:20   days

$ ls -chown lewis: root days                ## 修改days的所有权

$ ls -l days                                ## 查看修改后的days的所有权

-rw-r--r--   1   lewis   root    57   2016-11-20   10:21   days

如果只需要更改文件的属主,那么可以省略参数“:GROUP”,下面这条命令把days文件的属主更改为guest用户,而保留其属组设置$ sudo chown guest days

相应的,可以省略参数OWNER,而只改变文件的属组,注意,不能省略组名GROUP前面的这个“:”。下面这条命令把days文件夹的属组更改为nogroup组,而保留其属主设置$ sudo chown :nogroup days

chown命令提供了-R选项,用于改变一个目录及其下所有文件(和子目录)的所有权设置,下面这条命令将 iso/ 和其下所有的文件交给用户lewis$ sudo chown -R lewis iso/

查看这个目录的属性可以看到,所有文件和子目录的属主已经变成lewis用户了,如果想属主和属组同时更改,就用-R lewis:lewis命令

Linux单独提供了另一个命令chgrp用于设置文件的属组,下面这条命令将文件days的属组设置为nogroup组$ sudo chgrp nogroup days

和chown一样,chgrp也可以使用-R选项递归一个目录实施这只,下面这条命令将iso/ 和其下所有文件(和子目录)的属组设置为root组$ sudo chgrp -R root iso/

chgrp命令实际上只是实现了chown的一部分功能,但这个命令至少在名字上更直观告诉人们它要干什么,实际使用中,也仅仅只是习惯问题

改变文件权限:chmod

chmod用于改变一个文件权限,这个命令使用“用户组+/-权限”的表达方式来增加删除响应的权限,具体来说,用户组包括了文件属主(u)、文件属组(g)、其他人(o)和所有人(a),而权限则包括了读取(r)、写入(w)和执行(x),例如,下面这条命令增加了属主对文件days的执行权限$ chomd u+x days

chomd可以用 a 同时指定所有的3种人,下面这条命令删除所有人(属主、属组和其他人)对days的执行权限$ chomd a-x days

还可以通过“用户组=权限”的规则直接设置文件权限,同样应用于文件 days,下面这条命令赋予属主和属组的读取/写入权限,而仅赋予其他用户读取权限$ chomd ug=rw,o=r days

最后一条常用规则是“用户组 1=用户组 2”,用于将用户组1的权限和用户组2的权限设置为完全相同,应用于文件days中,下面这条命令讲其他人的权限设置为和属主的权限一样$ chomd o=u days

提示:牢记只有文件的属主和root用户才有权修改文件的权限

文件权限的八进制表示

chomd的助记符尽管意义明确,但有些时候显得太罗嗦了,系统管理员更喜欢用chomd的八进制语法来修改文件权限——这样就可以不用麻烦左右手的小指了,为此管理员至少应该熟练掌握8以内的加法运算。

首先介绍一下八进制记法的来历,每一组权限 rwx 在计算机中实际上占用了3位,每一位都有两种情况,例如对于写入位,只有“设置(r)”和没有设置(-)两种情况。这样计算机就可以使用二进制 0 和 1 来表示每一个权限位,其中 0 表示没有设置,1表示设置,例如 rwx 就被表示为111,“-w-”表示为 010 等。

由于 3 位的二进制数对应 1 位八进制数,因此可以进一步用一个八进制数字表示一组权限,下面表格显示了对应的关系八进制二进制权限八进制二进制权限

0000---5101r-w

1001--x6110rw-

2010-w-7111rwx

3011-wx

4100r--

不必记住上面这些数字的排列组合,在实际中,只要记住 1代表x、2代表w、4代表r、、然后简单的做加法就可以了,距离来说:rwx=4+2+1=7,r-w=4+0+1=5。

这样依赖,完整的9位权限就可以用3个八进制数来表示了,例如“rwxr-x--r”就对应于“751”,下面这条命令将文件prog的所有权限赋予属主,而属组用户和其他人仅有执行权限$ chomd 711 prog

$ ls -l prog

-rwx--x--x   1   lewis   nogroup   57   2016-11-20 17:00   prog

linux 修改目录 用户权限,Linux修改用户和目录权限详细讲解相关推荐

  1. 【Linux】U-Boot启动文件start.S详解(超详细讲解,上篇)

    U-Boot U-Boot的版本选择 U-Boot的下载地址:/pub/u-boot的索引 进入到U-Boot的下载页面,发现U-Boot的版本众多: 那怎么选取U-Boot的版本呢?够用就行. 本文 ...

  2. Linux | 第一篇——常见指令汇总【超全、超详细讲解】

    Linux之常见指令

  3. Linux——安全权限(禁止添加新用户+umask值+修改默认密码最长有效期)

    目录 一.不再允许添加新用户的请求 演示: 二.umask值: (1)简介: (2)查看: (3)为什么 umask 里目录是 022,文件是 002? (4)演示: (5)更改: 三.修改默认的密码 ...

  4. linux修改last权限,Linux常用命令2/3(有关用户、权限管理的命令)--Unix/Linux操作系统04...

    用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理.在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的 ...

  5. Linux网络管理,NAT网络配置,修改主机名称,主机映射,防火墙,系统启动级别,用户和用户组,为用户配置sudoer权限,文件权限管理,打包和压缩

    目录   1.常用网络管理命令   2.网络配置   3.修改主机名称   4.主机映射   5.防火墙   6.系统启动级别   7.用户和用户组   8.为用户配置sudoer权限   9.文件权 ...

  6. linux能修改用户的权限,linux怎样修改用户权限

    ls -l  查看目录下的文件详细信息 ll 同上 whoami 功能说明:先似乎用户名称. 语 法:whoami [--help][--version] 补充说明:显示自身的用户名称,本指令相当于执 ...

  7. Linux阻止所有用户删除或修改文件和目录

    chmod移除写权限并不会对root用户生效,如果想防止文件或文件夹被意外修改,可以使用chattr命令 chattr +i  文件/目录 可以对文件和文件夹加保护,之后任何用户都无法修改和删除 ro ...

  8. Linux命令(七)Linux用户管理和修改文件权限

    1. 用户管理 1.1 创建用户/设置密码/删除用户 (-m很重要,自动添加用户家目录) 创建用户组dev, 给用户组dev新建xiaoqin用户,给新用户设置密码! 1.2 查看用户信息 1.3 设 ...

  9. 怎样在linux更改文件权限设置密码,Linux 配置Hadoop的方法 (修改用户Root权限,设置root密码)...

    1.下载JDK 到官网去下载. tar  -zxf  jdkXXXX.tar.gz 解压到指定的文件夹.最好是进入到该文件夹下,运行该命令 . 2.配置JDK的环境变量. 运行   vim   ~/. ...

最新文章

  1. python nginx部署_Python 应用 uWSGI + Nginx 部署
  2. Android Studio -添加你见过的最牛Log*神器*
  3. 学习Vim有什么好处? [关闭]
  4. 金蝶CLOUD星空云tempdb过大处理方法
  5. matlab图像相加例子,MATLAB图像处理例子
  6. android_launcher的源码详细分析
  7. Java语言中的-----访问修饰符
  8. Java实现Excel导入数据库,数据库中的数据导入到Excel
  9. 用python写网络爬虫 第2版 pd_用Python写网络爬虫(第2版)
  10. rocketmq一个topic多个group_SpringBoot和RocketMQ的简单实例
  11. C#转C++的一点分享
  12. php+怎么读配置文件的内容,php读取配置文件的代码一例
  13. spring将service添加事务管理,在applicationContext.xml文件中的设置
  14. 在IDEA中,项目中出现红色波浪线解决办法
  15. 解题报告:LeetCode Basic Calculator(简单计算器)
  16. 聚类算法实践——谱聚类、Chameleon聚类
  17. WebStorm破解---最新 2019.4.24
  18. 怎么缩小界面_PDF怎么压缩变小?介绍实用的PDF压缩软件
  19. 计算机硬盘标称容量怎么看,电脑硬盘标称容量、分区大小与实际容量之间的差异...
  20. 计算机中单位换算,计算机常用单位换算

热门文章

  1. 线下推广网站的7种方法
  2. 飞机大战--python基础项目(附源码和原理讲解)
  3. 心理学中寓意很深的的60句话
  4. 据说王菲会唱李健的《传奇》,那就发一个李健的Live版的
  5. 利用论坛进行网站优化推广
  6. mysql myisam表_mysql优化之MyISAM表锁
  7. 将其它格式的视频转换Mp4格式的方法
  8. dreamweaver后缀名_在Dreamweaver中,给静态页面命名时,后缀名为()。A htmB txtC cssD doc...
  9. Rides持久化问题
  10. 视觉SALM十四讲学习笔记——第七讲 视觉里程计(1)