1.基本权限 UGO

=====================================================

文件权限设置: 可以赋于某个用户或组 能够以何种方式 访问某个文件

image.png

权限对象:

属主------->u

属组------->g

其他人------>o

基本权限类型:

读(read):r ---->4

写(write):w ---->2

执行: x(exec) ----->1

案例:

r w x rw- r-- alice hr file1.txt

属主权限 属组权限 其他人权限 属主 属组 文件

前提条件:jack属于hr组

一 alice对file1.txt文件有什么权限?

二 jack对file1.txt文件有什么权限?

a. jack是所有者吗?

b. jack属于hr组吗?

三 tom对file1.txt文件有什么权限?

a. tom是所有者吗?

b. tom属于hr组吗?

c. tom为其他人吗?

1.1.设置权限

image.png

image.png

更改文件的属主(所有者)、属组 (所属组)

chown:

[root@linux-server ~]# chown alice.hr file1.txt //修改属主、属组

[root@linux-server ~]# chown tom file1.txt //修改属主

[root@linux-server ~]# chown .it file1.txt //只改属组

[root@linux-server ~]# chown -R alice.hr dir1 //递归修改

1.2.更改权限

系统默认目录755 文件644

a. 使用符号

image.png

[root@linux-server ~]# chmod u+x file1.txt //属主增加执行

[root@linux-server ~]# chmod a=rwx file1.txt //所有人等于读写执行

[root@linux-server ~]# chmod a=- file1.txt //所有人都没有权限

[root@linux-server ~]# chmod ug=rw,o=r file1.txt //属主属组等于读写,其他人只读

[root@linux-server ~]# ll

-rw-rw-r--. 1 tom it 0 Nov 1 15:30 file1.txt

b.使用数字

[root@linux-server ~]# chmod 644 file1.txt

[root@linux-server ~]# ll file1.txt

-rw-r--r--. 1 tom it 0 Nov 1 15:30 file1.txt

2 .权限案例 UGO

======================================================

2.1.设置权限案例

针对hr部门的访问目录/home/hr设置权限,要求如下:

root用户和hr组的员工可以读、写、执行

其他用户没有任何权限

[root@linux-server ~]# groupadd hr //创建一个用户组

[root@linux-server ~]# useradd hr01 -G hr //创建hr01用户添加到hr组里

[root@linux-server ~]# useradd hr02 -G hr //创建hr02用户添加到hr组里

[root@linux-server ~]# mkdir /home/hr //在/home创建一个hr目录

[root@linux-server ~]# chown .hr /home/hr //将/home/hr目录的所属组设置为hr

[root@linux-server ~]# chmod 770 /home/hr //将/home/hr目录的权限设置为770

[root@linux-server ~]# ll -d /home/hr //查看/home/hr目录本身的权限

drwxrwx---. 2 root hr 6 Nov 1 17:11 /home/hr

r、w、x权限对文件和目录的意义

image.png

2.2.rwx对文件的影响

实战案例1:rwx对文件的影响

[root@linux-server ~]# vim /home/file1

date

[root@linux-server ~]# ll /home/file1

-rw-r--r--. 1 root root 5 Nov 3 15:19 /home/file1

[root@linux-server ~]# su - alice #切换普通用户

[alice@linux-server ~]$ cat /home/file1

date

[alice@linux-server ~]$ /home/file1 #执行文件

-bash: /home/file1: Permission denied

[alice@linux-server ~]$ exit

logout

[root@linux-server ~]# chmod o+x /home/file1

[alice@linux-server ~]$ /home/file1

Sun Nov 3 15:26:21 CST 2019

[root@linux-server ~]# chmod o+w /home/file1

[alice@linux-server ~]$ vim /home/file1

date

123

ls

2.3.rwx对目录的影响

实战案例2:对目录没有w,对文件有rwx

[root@linux-server ~]# mkdir /dir10

[root@linux-server ~]# touch /dir10/file1

[root@linux-server ~]# chmod 777 /dir10/file1

[root@linux-server ~]# ll -d /dir10/

drwxr-xr-x. 2 root root 19 Nov 3 15:37 /dir10/

[root@linux-server ~]# ll /dir10/file1

-rwxrwxrwx. 1 root root 0 Nov 3 15:37 /dir10/file1

[root@linux-server ~]# vim /dir10/file1

jack

[root@linux-server ~]# su - alice

Last login: Sun Nov 3 15:28:06 CST 2019 on pts/0

[alice@linux-server ~]$ cat /dir10/file1

jack

[alice@linux-server ~]$ rm -rf /dir10/file1 #权限不够

rm: cannot remove ‘/dir10/file1’: Permission denied

[alice@linux-server ~]$ touch /dir10/file2 #权限不够

touch: cannot touch ‘/dir10/file2’: Permission denied

实战案例3:对目录有w,对文件没有任何权限

[root@linux-server ~]# chmod 777 /dir10/

[root@linux-server ~]# chmod 000 /dir10/file1

[root@linux-server ~]# ll -d /dir10/

drwxrwxrwx. 2 root root 19 Nov 3 15:38 /dir10/

[root@linux-server ~]# ll /dir10/file1

----------. 1 root root 5 Nov 3 15:38 /dir10/file1

[root@linux-server ~]# su - alice #切换普通用户

Last login: Sun Nov 3 15:38:53 CST 2019 on pts/0

[alice@linux-server ~]$ cat /dir10/file1

cat: /dir10/file1: Permission denied #没有权限

[alice@linux-server ~]$ rm -rf /dir10/file1

[alice@linux-server ~]$ touch /dir10/file2

小结

对目录有w权限,可以在目录中创建新文件,可以删除目录中的文件(跟文件权限无关)

注意事项

文件: x 权限小心给予

目录: w 权限小心给予

3. 基本权限ACL

====================================================

文件权限管理之: ACL设置基本权限(r、w、x) 。

UGO设置基本权限: 只能针对一个用户,一个组和其他人 。

设置方法:

[root@linux-server ~]# touch /home/test.txt

[root@linux-server ~]# ll /home/test.txt

-rw-r--r--. 1 root root 0 Nov 3 15:53 /home/test.txt

[root@linux-server ~]# getfacl /home/test.txt

getfacl: Removing leading '/' from absolute path names

# file: home/test.txt

# owner: root

# group: root

user::rw- #哪个用户

group::r-- #哪个组

other::r-- #其他人

[root@linux-server ~]# useradd jack

[root@linux-server ~]# setfacl -m u:alice:rw /home/test.txt //增加用户alice权限

[root@linux-server ~]# setfacl -m u:jack:- /home/test.txt //增加用户jack权限

[root@linux-server ~]# setfacl -m g:hr:r /home/test.txt //增加组的权限

[root@linux-server ~]# setfacl -m o::rw /home/test.txt

-m, --modify modify the current ACL(s) of file(s)

3.2.查看/删除:

[root@linux-server ~]# ll /home/test.txt

-rw-rw-rw-+ 1 root root 4 Nov 3 15:58 /home/test.txt

[root@linux-server ~]# getfacl /home/test.txt

getfacl: Removing leading '/' from absolute path names

# file: home/test.txt

# owner: root

# group: root

user::rw-

user:alice:rw-

user:jack:---

group::r--

group:hr:r--

mask::rw-

other::rw-

[root@linux-server ~]# setfacl -x u:alice /home/test.txt

[root@linux-server ~]# setfacl -x g:hr /home/test.txt

-x:--remove

[root@linux-server ~]# getfacl /home/test.txt

getfacl: Removing leading '/' from absolute path names

# file: home/test.txt

# owner: root

# group: root

user::rw-

user:jack:---

group::r--

mask::r--

other::rw-

[root@linux-server ~]# setfacl -b /home/test.txt #取消所有的facl权限

-b, --remove-all

作业

1.创建用户tom,jack,zhuzhuxia;zhuzhuxia用户的附加组为tom

#useradd tom

#useradd jack

#useradd zhuzhuxia -G tom

或者:#useradd zhuzhuxia

#usermod -aG tom zhuzhuxia

2.切换到用户tom,在/tmp目录下创建文件tom.txt (观察文件的归属和权限)

su - tom

touch /tmp/tom.txt

ll /tmp/tom.txt

3.将文件权限修改为rw-r-----

chmod 640 /tmp/tom.txt

4.向文件中写入内容"Tihs is tom file ,dont touch"

vim /tmp/tom.txt

i

5.请问: jack,zhuzhuxia能不能查看文件的内容?如果不能,通过设置facl实现jack访问?

setfacl -m u:jack:r /tmp/tom.txt

jack不能看 因为没有权限 zhuzhuxia可以看 因为zhuzhuxia在 组里面

6.jack,zhuzhuxia能不能修改文件的内容?如果不能,需要怎么操作才能实现?

chmod g+w /tmp/tom.txt ///前提是查看这个文件有没有facl的相关权限

chmod o+w /tmp/tom.txt

7.使用root用户创建目录/prov,修改属主为tom,属组为tom,权限为750

mkdir /prov

chown tom.tom /prov

chmod 750 /prov

8.将/tmp下的tom.txt移动到/prov下,tom和zhuzhuxia还能看到此文件内容吗?

tom用户可以看到这个文件

zhuzhuxia用户也能查看这个文件 (/prov IT r)

9.root用户将/prov权限为751

10.jack和zhuzhuxia用户能不能删除tom.txt文件?为什么

11.列出/home/下面的所有文件包括隐藏文件?

12.查看自己的ip地址

13.chown是用来做什么的?chmod是用来做什么的?

14.将/var/log/secure 拷贝到/opt/目录下

linux基本权限例子,Linux-3 文件权限-基本权限相关推荐

  1. linux 普通用户退出vim,Linux环境下VI/VIM编辑文件时无权限保存的解决方法(普通用户)...

    在Linux环境下,如果直接使用VI/VIM命令编辑没有修改权限的文件时,保存的时候就会提示用户无法进行保存操作,一般的解决方法只能是关闭文件重新以sudo权限打开该文件编辑后再保存(前提是用户具有s ...

  2. 【CyberSecurityLearning 30】Linux操作系统的用户和组、文件及目录权限

    Linux简介 Linux 发展历史 Linux系统诞生于1991年,由芬兰大学李纳斯(Linus Torvalds)和后来陆续加入的众多爱好者共同开发完成,是UNIX的分支. Linux是开源软件, ...

  3. linux grep命令例子,Linux中grep命令的12个实践例子

    grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具.无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-get和 ...

  4. Linux中写C代码进行文件读写与权限修改等各类操作

    C查看当前文件的权限 #include <unistd.h> #include <stdio.h> int main(int argc,char* argv[]) {char ...

  5. linux chown命令 例子,Linux系统之Chown命令用法介绍

    当我们要改变一个文件的属组,我们所使用的用户必须是该文件的属主而且同时是目标属组成员,或超级用户,这种情况的话,只有超级用户的才能改变文件的属主. 在Linux操作系统的美国服务器当中,Chown命令 ...

  6. linux syslog 使用例子,Linux系统syslog

    大纲 一.日志系统之syslog 二.syslog配置文件 三.定义格式实例 一.日志系统之syslog syslog是Linux系统中默认的日志守护进程,RHEL5上默认是syslog,而RHEL6 ...

  7. linux fb应用例子,Linux下利用framebuffer画点的程序小例子

    Linux下利用framebuffer画点的程序小例子: /* * ================================================================== ...

  8. linux条件表达式例子,Linux的Iptables命令的基本知识(三)-常用匹配条件示例和执行动作...

    上一期给大家简单讲解了Linux的Iptables命令的常用命令示例,本期给大家讲解一下Linux的Iptables命令的基本知识-常用匹配条件示例和执行动作. 五.常用匹配条件示例: 1.-i:流出 ...

  9. Python之OS模块:os.access()检验权限模式(验证文件及目录权限)

    os.access(path,mode)   检验权限模式 os.access()方法使用当前的uid/gid尝试访问路径.大部分操作使用有效的uid/gid,因此运行环境可以在suid/sgid环境 ...

  10. linux ipc shmget 例子,Linux IPC之共享内存C 事例(示例代码)

    简介 共享内存(shared memory)是最简单的Linux进程间通信方式之一.使用共享内存,不同进程可以对同一块内存进行读写.由于所有进程对共享内存的访问就和访问自己的内存空间一样,而不需要进行 ...

最新文章

  1. GPT-4前奏?OpenAI发布120亿参数图像版GPT-3
  2. 构建私有云的五个步骤
  3. Linux系统的存储管理
  4. [OS复习]设备管理3
  5. Linux教程:内核怎样管理你的内存
  6. 用条件运算符编写java程序_Java 编程入门课程丨第 8 单元:条件运算符和控制语句...
  7. 一级指针,二级指针,指向数组的指针
  8. 【sql server】“已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行“ 解决方案
  9. Unity 场景分页插件 World Streamer 支持无限大地图的解决方案(一)
  10. android 定时检测,如何测试 Android 中的定时事件
  11. xp系统蓝屏代码7b_电脑蓝屏的症状和解决办法
  12. java基础教程01讲:使用idea写第一个java程序
  13. 腾达ac5第三方固件_腾达AC9官方固件增加KoolProxy版
  14. 【C++设计模式】建造者模式
  15. matlab图像频谱分析代码_信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)...
  16. pytorch自定义Dataset,torch加载自己的numpy数据集,torch-cnn训练numpy进行回归
  17. Step2:【C51】蜂鸣器发声实验
  18. markdown生成目录
  19. python配置(二)——机器学习环境
  20. UML图解和UML代码范例

热门文章

  1. Rasa原文-生成NLU数据
  2. rasa算法_Rasa 入门教程 NLU 系列(三)
  3. Vue keep-alive和activated的用法
  4. USYD悉尼大学INFO1110 详细作业解析Week4 revision(未更新完)
  5. python数据按照分组进行频率分布_3.2.1 分布分析
  6. 「PKUSC2018」星际穿越
  7. caniuse npm安装
  8. DPM目标检测算法(毕业论文节选)
  9. 双系统蓝牙键盘的共享配对解决办法的简要步骤:win + arch~IRK、LTK、ERand、EDIV
  10. Python | 查看微信撤回的消息(完整代码)