linux基础知识-11
一、用户所有者,组所有者,权限
linux中每个文件都有三个属性,允许用户控制文件的访问方式。
当建立一个文件时,当前用户就是这个文件的用户所有者(也就是说这个文件是哪个用户建立的),组所有者就是这个用户的主要组,一般和用户同名。普通用户不能更改文件用户所有者,但可以更改组所有者(比如之前学习的newgrp可以定义主要组)。
文件的权限定义了三个不同极别的用户如何使用这个文件:
二、三种权限
通过上图我们知道用户所有者,组所有者,其它人都对文件有着不同的权限设置,其中每组权限分为rwx,被标记 “-” 的表示这组权限中没有这个权限。比如 rw- 表示没有x权限。
标记 | 权限 | 说明 |
---|---|---|
r | 读 | 对于文件表示可以读取文件的内容,对于文件夹表示可以浏览目录中的文件列表 |
w | 写 | 对于文件表示可以修改文件的内容,对于文件夹表示可以创建和删除文件 |
x | 执行 | 对于文件表示可以执行(类似于windows的exe文件),对于文件夹表示可以进入此文件夹中。 |
三、三种访问级别
每个文件都有三组不同的读,写,执行权限,分别用于文件所有者(u),组所有者(g)和其它人(o)。
当有人访问一个文件时,系统会按如下顺序访问:
- 当前用户是文件所有者吗? 如果是启用用户权限。
- 当前用户是组所有者的成员吗? 如果是启用组权限。
- 如果前面两者都不是启用其它权限。
(一)其它人的权限测试
cclove@home:~$ echo "hello" > /tmp/abc.txt
cclove@home:~$ su - linux
密码:
$ echo "hello" >> /tmp/abc.txt
-su: 1: cannot create /tmp/abc.txt: Permission denied
$ ls -l /tmp/abc.txt
-rw-r--r-- 1 cclove cclove 6 7月 14 18:57 /tmp/abc.txt
我们先用cclove用户创建文件/tmp/abc.txt,之后切换到linux用户,追加字符串到/tmp/abc.txt文件中,但发现没有权限。 之后我们用ls -l查看一下,发现其它人只能读,不能写,所以不能修改人家的文件。
(二)共同组成员的权限测试
首先我们查看一下abc.txt文件的组所有者权限是读和写,这说明只要是cclove组的成员就可以修改abc.txt。 之后我们切换到linux通过id查看一下,发现linux用户的次要组有cclove,这说明linux在cclove这个组中,对这个文件有修改权限。
这里要注意一下,老陌通过修改/etc/group文件:
cclove : x : 1000 : linux
把linux放到cclove最后一个字段,表示这个用户属于cclove组,如果有多个用户,用逗号分隔。
(三)符号链接文件的权限
链接文件就是创建的快捷方式,这里link_abc.txt是abc.txt的快捷方式。我们发现权限是rwxrwxrwx,但实际上它链接到abc.txt,所以权限同abc.txt。
四、修改文件权限
chmod ugoa +-= rwx filename
缩写 | 说明 |
---|---|
u | 用户所有者 |
g | 组所有者 |
o | 其它人 |
a | 以上三组(所有) |
+ | 增加权限 |
- | 减去权限 |
= | 设置权限 |
r | 读 |
w | 写 |
x | 执行 |
例:
给文件abc.txt 用户所有者添加x权限,组所有者添加w权限,其它人去掉r权限。
五、修改文件的组所有者
之前老陌通过newgrp临时修改用户的主要组,之后创建文件则以修改后的组为准,但是如果已经创建文件了就无能为力了。
我们需要用chgrp来修改(change group):
chgrp GROUP file……
此命令的作用是将文件的组所有者改成GROUP,可以一次性修改多个文件。
只有文件的所有者才能更改文件的所属组,而且这个用户必须是新组的成员。
通过上图我们来分析一下:
先创建文件file,查看他的组所有者是laomo, 之后查看文件所有者用户的次要组都有谁,查看之后用chgrp修改file的组所有者为netdev,之后再查看成功。
最后修改file的组所有者为music失败,因为laomo用户不是music组成员,所以修改不了。如果非要改可以用管理员账号改。
六、修改文件的用户所有者
这个需要管理来操作,普通用户没有权限修改。
chown USER file……
将文件的用户所有者改成USER。
通过上图我们来分析一下:
首先查看文件的用户所有者是laomo,之后我们用chown修改成me用户(me是老陌新创建的用户),注意要以管理员权限修改, 再次查看文件的所有者已经变成了me。
转载于:https://www.cnblogs.com/myccloves/p/9313355.html
linux基础知识-11相关推荐
- linux基础知识-链接列表
linux基础知识-链接列表 1. 安装centos 7 1.1 Linux的初识 1.2 centOS 7安装教程 1.3 centOS 7配置ip和网络问题排查 1.4 PuTTY和Xshell远 ...
- Linux基础知识题解答(一)
题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. 计 ...
- linux 基础知识及命令总结
1.mkdir 创建目录 -p 创建多级目录 mkdir -p /data/test -m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask -p, ...
- linux基础知识个人总结
linux基础知识个人总结 第一章: 1. Linux发展史略,有代表性的Linux发行版:Suse.slackware.ubuntu.RedHat.CentOS 2. GNU是Richard Sta ...
- 大数据成长之路:谈谈那些必须学习的Linux基础知识
作者| Roy瑞士 责编| Carol 封图| CSDN│下载于视觉中国 这里主要介绍学习大数据过程中用到的Linux基础知识,现在主攻的方向是大数据开发,欢迎大家共同交流. 环境 推荐安装VMwar ...
- 【Linux系列】Linux基础知识整理
Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...
- 【Java从0到架构师】Linux 基础知识、常用命令
Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...
- Linux基础知识题解答(四)
题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. 1 ...
- LINUX基础知识笔记全
LINUX基础知识整理 1.Linux 基本知识 2.Linux 文件和目录管理 vim scp sftp 压缩和归档 文件访问权限 脚本 3.Linux 用户和群组管理 sudo ssh opens ...
最新文章
- Redis系列五:redis键管理和redis数据库管理
- 2020-11-6(JDBC)
- C语言再学习 -- 再论数组和指针
- 分布式系统概念 | 分布式锁:数据库、Redis、Zookeeper解决方案
- windows和linux删除文件方法
- 负数乘以正数溢出问题
- 安装选择Arduino Leonardo新手入门体验
- 如何解决谷歌云盘wget无法下载大文件的问题
- 双非考研上岸中国传媒大学通信(电子信息)的一路历程(考研经验帖)
- [量化学院]基于协整的配对交易
- 【SystemVerilog基础】OOP思想之重载
- Jsonp跨域原理及实现
- 深信服测试开发日常实习岗位一面凉经(来自李某)
- 高通modem log分析基础
- 黑盒测试学习笔记-(深圳文鹏)
- C#把月日年帶有 AM、PM的时间格式转换为正常时间格式
- 深信服应用交付(AD)学习笔记
- ipone6界面设计标准
- kibana笔记 -- KQL
- H5DU1262GTR-E3C特征