linux收回用户执行权限,Linux之文件权限管理命令

一、查看文件属性。

1、命令ls -l filename 查看长格式形式查看文件详细属性。

ls -l file1 ##查看文件file1的详细属性

结果:

- |rw-r--r--| 1 |kiosk| kiosk| 0| Jul 21 09:18 | file1

[1] [2] [3] [4] [5] [6] [7] [8]

[1] 文件的类型

##空文件,或者文本

d

##目录

l

##软链接

s

##socket 套接字

b

##block 块设备

c

##字符设备

[2]文件的权限

rw-

r- -

r- -

1

2

3

1、[u] 文件拥有者对文件有什么权利

2、[g] 文件所有组对文件有什么权力

3、[o] 其他人对文件能做什么操作

[3]

(1)对文件:文件硬链接个数(文件内容被记录的次数)

(2)对目录:目录中子目录的个数

[4]

文件的所有人

[5]

文件的所有组

[6]

(1)对文件:文件的大小

(2)对目录:目录中子文件的元数据(可以理解为文件的属性)大小

[7]

文件的内容被修改的时间

[8]

文件的名称

二、如何改变一个文件或者目录的所有者及所属组呢?

chown yan 文件名/目录名##改变一个文件/目录的所有者

chgrp student 文件名/目录名##改变一个文件/目录的所属组

chown yan:student 文件名/目录名##同时改变一个文件/目录的所有者为yan,所属组为student。

chown -R yan 目录名##递归改变一个目录及目录下文件或者目录的递归改变所有者

chgrp -R student 目录名##递归改变改变一个目录及其子目录或者子文件的改变所属组

chown -R yan:student 目录名##同时改变一个目录及其子文件的所有者为yan,所属组为student。

1、改变文件的所有人,所属组。

准备工作:

用root用户建立一个file文件并查看其所有者所属组均为root。

f3b08aaf37db73d6a14fca651ed602cf.png

改变file文件的所有者及所属组。

chown yan file ##改变一个文件/目录的所有者

chgrp yan file ##改变一个文件/目录的所属组

chown yan:student 文件名/目录名##同时改变一个文件/目录的所有者为yan,所属组为student。

结果:

af04aff8ab0d3aa315c20fefb3971332.png

同时改变文件所有人及所属组:

d08282b42a1530819892b3a5d99548c4.png

2、改变目录的所有人,所属组。

准备工作:用root用户递归建立目录dir,及dir1。

如图所示:

25765f46dd0f16c44afb99d68b04cea3.png使用命令:

chown -R yan dir##递归改变dir目录及目录下文件或者目录的递归改变所有者

chgrp -R student dir##递归改变dir目录及其子目录或者子文件的改变所属组

chown -R yan:student dir1##同时改变dir1目录及其子文件的所有者为yan,所属组为student。

结果如图所示:

0752d3428365a8fd6d50be95d7459cbb.png

三、如何改变文件的权限?

1.对权限的理解

r

对文件:是否可以查看文件中的内容 —>cat file

对目录:是否可以查看目录中有什么子文件或者子目录 ----> ls dir

w

对文件:是否可以改变文件里面记录的字符

对目录:是否可以对目录中子目录或子文件的元数据进行更改

x

对文件:是否可以通过文件名称调用文件内记录的程序

对目录:是否可以进入目录

2.更改方式

1、用r,w,x来改变文件权限。

格式:chmod 所有人|所属组|其他人 + 读|写|执行权限 文件|目录

chmod file|dir

chmod u+x file1

chmod g-r file2

chmod o+w file3

chmod -r file4 ##删除所有用户的读权限

如图所示:

15ae55a224a809ea28feba8e8999197b.png

注意:也可以用chmod o=r-w file 来设置其他人用户的读,执行权限。

2、用数值的方法设定文件和目录的权限。

r w x

4 2 1 #r取4,w取2,x取1

范例:

7=rwx

6=rw-

5=r-x

4=r--

3=-wx

2=-w-

1=--x

0=---

示例代码:

chmod 777 file2

效果图:

f29a1d17b1be8fe99983ea738a9858c4.png

四、系统默认权限umask

umask:可以理解为系统收回的权限

umask #系统建立文件是默认保留的权力

umask 077 #临时设定系统预留权限为077

图示:

504c28ae57563d3be876abaef563631e.png

PS:系统默认收回了所有用户的执行权限。

永久更改umask

vim /etc/profile ##此为系统配置文件

59 if [ $UID -gt 199 ] && ["`id -gn`"="`id -un`" ]; then

60umask 002 ##普通用户的umask

61 else

62umask 077 ##超级用户的umask

63 fi

c06219b9e0ce3489b370beeb24a20725.png

vim /etc/bashrc ##shell配置文件

70if [ $UID -gt 199 ] && [ "`id -gn`"="`id -un`" ]; then

71umask 002

72 else

73umask 077

74fi

9ac2a66c1e692d4beaf72a444dd794c3.png

source /etc/profile##让更改立即生效

source /etc/bashrc

85e27ed93fe1ba0b9c26d9bdacfae847.png

五、特殊权限

特殊权限是用于弥补一般权限不能实现的功能,是针对文件设置的一种特殊功能。

1.sticky ##粘制位

作用:

只针对目录生效,当一个目录上有sticky权限时

在这个目录中的文件只能被文件的所有者删除

设定方式:

chomd o+t dir

chmod 1XXX dir

示例:

没有加sticky权限,一个公共目录用户可以删除其他用户建立的文件。

1e0fa895c308c746de411af72f20dca2.png

给dir目录加sticky权限后:

a1f6df433888295344e1ae5f400e0cac.png

2.sgid ##强制位

作用

对文件: 只针对与二进制可执行文件

当文件上有sgid时任何人执行此文件产生的进程都属于文件的组

对目录:

当目录上有sgid权限时任何人在此目录建立的文件都属于目录的所有组

设定方式:

chmod g+s file|dir

chmod 2XXX file|dir

对文件设置sgid权限:

准备工作:

设置/bin/watch文件的所有组为student

1fad8e5e9b32ea2208df97da04f63911.png

用root用户执行/bin/watch文件:

b1a1f9184dd9f72920a28592b746d062.png

用ps命令查看

ps ax -o comm,user,group | grep watch

fd37731b30dc294c6c3f7519db4af1bc.png

对目录设置sgid权限:

ae2057bca2d0f1ee6bd568d174c6da15.png

3.suid ##冒险位

只针对于二进制可执行文件

当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人

设定方式

chmod u+s file

chmod 4XXX file

准备工作:

9307a670515fea10d04fbd30cfd951d0.png

用root用户执行/bin/watch 文件

b9285c3e614ff8b42beaa7a5e826f5b4.png

查询系统的watch进程:

9388fab3c51e6001e76963271bcd0a41.png

六、acl权限列表

1.作用

让特定的用户对特定的文件拥有特定的权限

2.acl列表查看

ls -l file

-rw-rwxr--+ 1 root root 0 Jul 21 15:45 file

#+表示acl开启

getfacl file ##查看acl开启的文件的权限

## file: file ##文件的名称

## owner: root ##文件的所有者

## group: root ##文件的所有组

user::rw- ##文件所有者的权限

user:kiosk:rwx ##指定用户的权限

group::r-- ##文件所有组的权力

mask::rwx ##能赋予用户的最大权力

other::r-- ##其他人的权限

示例:

c7cdfcb9eea7790081b011f1e4452c28.png

3.acl列表的管理

getfacl file

setfacl -m u:username:rwx file##设定username对file拥有rwx权限

setfacl -m g:group:rwx file##设定group对file拥有权限

setfacl -x u:username file##从acl列表中删除username

setfacl -x g:group file##从acl列表中删除group

setfacl -b file##关闭file上的acl列表

设置acl权限:

ade074a386263ba0edd571d60ccac2c9.png

删除acl权限:

723fac89ff756b0170476388d5fa8873.png

关闭acl列表:

c24e873f5c4d64e46fac415c7fdea194.png

注意:打开acl权限后,用ls -l 查询到的文件权限是假的,真实的文件权限需要用getfacl filename查看,如果使用chmod g-w file 会减去mask里面的权限,重置用 setfacl -m m:rwx file

4.mask值

在权限列表中mask表示能生效的权力值

当用chmod减小开启acl的文件权限时mask值会发生改变

chmod g-x file2

97ccf942fcda524784003411aa0ecea7.png

如果要恢复mask值

setfacl -m m:rwx file

e68dad1a7c6004c72f154d2fdd3e909d.png

5、acl的默认权限设定

acl默认权限只针对目录设定

“acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限”

setfacl -m d:u:student:rwx /mnt/dir##设定acl默认权限

setfacl -k /mnt/dir##取消目录的acl默认权限

a294fb1f933e4f78e495a0753ab60b5c.png

新建立文件:继承默认权限

8e9cd660d12332b1724a0dd3d27050c4.png

36f654a3f49e62a96a89d1941fc8dfe9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑系统linux普通用户,Linux操作系统用户管理

Linux操作系统中用户有着不同功能的身份。Linux系统中用户的分类1)超级用户: root uid02)系统用户:不需要登录系统,服务于应用程序,维护系统的运行,如 bin,nobody uid1-4993)普通用户:可以登录的…

上百台linux的服务器互信,批量自动建立linux服务器之间的ssh互信

介绍:我们在部署无密码访问时,如果手工输入.很费时间.下面方法用于自动化生成authorized_keys,免去了手工数据.方法: 利用expect编写sshkey.exp在远程主机上生成id_rsa,并重定向到本地.在利用noscp.exp.把文件复制到远程主机步骤:(本方法在centos6.4 上验证通过)1 本地执行ssh-…

debian 编译linux内核源码,Debian下为本机编译内核模块的方法

改用Debian之后发现用之前在Red Hat下编译内核模块的Makefile不好使了,原因是在/lib/modules/uname -r/下没有了build目录,也没有内核的源代码。上网查了一些资料,说在Debian下编译内核需要安装内核头文件。apt-get install linux-headers-un…

linux服务器操作系统日志都有哪些,Linux操作系统服务器日志管理详解

Linux操作系统服务器日志管理详解Linux操作系统服务器日志管理详解日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有&#…

linux7配置dns服务器,centOS7搭建DNS服务器配置详解

写在前言:DNS服务器中 named-checkconf -z /etc/named.conf 命令用来检查所有与DNS有关的配置文件,若有错误,会直接提示,可以代替相关的所有检查命令。通过yum安装所需的BIND软件,系统光盘中自带了BIND服务的安装文件。…

linux重新安装xrog文件,Linux下重新生成xorg.conf

较新版本的Linux系统都已经没有xorg.conf文件,但是有时候为了对显示做微调或为了支持多屏显示等原因,还需要手工生成一个xorg.c较新版本的Linux系统都已经没有xorg.conf文件,但是有时候为了对显示做微调或为了支持多屏显示等原因,…

linux获取weblogic版本,LINUX查看JDK和Weblogic版本命令

满意答案xjiank2014.05.03采纳率:50% 等级:12已帮助:4893人JDKA、查找目前所使用的linux下所使用的jdk安装后的目录:echo $JAVA_HOME;B、获得目前所使用的linux下所使用的jdk的版本java -version;C、获得…

如何知道linux的ssh秘钥是否匹配,SSH密钥验证

[SSH登录两种方式验证](一):用户名密码验证 说明:1.客户机向服务器发送SSH连接请求2.服务器收到请求,发送一个公钥给客户机3.客户机收到公钥,对输入的用户名密码进行加密返回给服务器4.服务器收到加密信息利用私钥解密对比用户…

linux 拨号网关,用LINUX做在一张软盘上的拨号网关 (转)

用LINUX做在一张软盘上的拨号网关 (转)[more]用做在一张上的拨号网关作者:linix摘要:本文给出了如何用LINUX做一个仅需要一张软盘的拨号网关。可以用它作为或一般MODEM的拨号网关。这些年PC机的发展真可以说是日新月异,这当然是好事。但是我们…

linux之父ted演讲视频观后感,ted演讲的观后感3篇

ted演讲的观后感3篇ted演讲的观后感篇一:《这一次是TED演唱,因为演讲真的很恐怖!》观后感 一个天生口吃的女孩,站在TED的讲台上,她要说她的故事,唱她的歌。这令我感触不少。先说一说,看完这场演讲,我脑中闪…

linux延迟绑定,php延迟绑定和非延迟绑定解析

php版本&#xff1a; php5.6延迟绑定有: get_class($this), get_called_class(), new static(), static::非延迟绑定有&#xff1a;get_class(), __CLASS__, new self(), self::使用new static()时<?phpclass NewStatic{//该类的实例private $newStatic; //判断$newStatic是…

学linux需要关闭防火墙,一起学习linux 关闭防火墙命令

p>Linux还是比较常用的&#xff0c;于是我研究了一下Linux关闭防火墙命令&#xff0c;在这里拿出来和大家分享一下&#xff0c;希望你能学会Linux关闭防火墙命令 。1) 永久性生效&#xff0c;重启后不会复原开启&#xff1a; chkconfig iptables on关闭&#xff1a; chkconf…

linux centos7 r安装,如何在CentOS 7上安装R

R是一种快速增长的开源编程语言和免费环境&#xff0c;专门从事统计计算和图形表示。它得到R统计计算基金会的支持&#xff0c;主要由统计学家和数据挖掘人员用于开发统计软件和执行数据分析。本教程将教您如何在CentOS 7上安装R以及如何从官方综合R归档网络(CRAN)安装R软件包。…

C语言实践作业报告,c语言社会实践报告

资料简介c 语言社会实践报告c 语言社会实践报告随着个人素质的提升&#xff0c;越来越多的事务都会使用到报告&#xff0c;报告中提到的所有信息应该是准确无误的。 相信许多人会觉得报告很难写吧&#xff0c;下面是为大家的 c 语言社会报告&#xff0c;仅供参考&#xff0c;欢…

c语言程序设计电加热炉,基于80C52单片机的电加热数字恒温控制系统设计

1 控制方案设计温度场是一个梯度场&#xff0c;温度的上升或下降随时间缓慢变化。电加热炉温度控制过程可以用自然降温、程序升温和恒温保持3个分过程来描述。自然降温&#xff1a;停止加热&#xff0c;环境温度在整个过程中保持不变&#xff0c;受控温度场最终稳定为环境温度。…

c语言程序培训,编写简单的c语言程序(noi培训)

编写简单的C语言程序(NOI培训),刘汝佳,何为“简单”&#xff1f;,百度风格&#xff1a;简单可依赖简单不等于简陋我们的目标&#xff1a;用简单、直观、不容易出错的程序来完成任意复杂的功能&#xff0c;而不是把各种“高级的东西”堆砌在一起&#xff0c;然后把包括自己在内的…

c语言用链表编写简单程序,C语言单链表简单实现(简单程序复杂化)

PS: goto还是很好玩的。#include #include typedef struct _node{int value;struct _node *next;} Node;typedef struct _list{Node* head;}List;void add(List* plist,int number);void print(List* list);void deletel(List* list,int number);void freel(List* list);int ma…

C++语言程序设计上机指导(二级),C++语言程序设计上机指导(二级)

第1章 上机基础1.1 考试大纲1.2 考纲提示1.3 考试要求1.4 题型和分值1.5 考试环境1.6 上机操作步骤1.6.1 启动1.6.2 登录1.6.3 考试开始1.6.4 交卷第2章 C语言基础2.1 C语言概述2.1.1 C语言的基本符号2.1.2 C语言的词汇2.1.3 C程序的基本框架2.2 数据类型、表达式和基本运算2.2…

6s在c语言中的用法,C语言中assert的用法讲解

assert是指编写代码时做出一些假设&#xff0c;断言就是用于在代码中捕捉这些假设&#xff0c;可以将断言看作是异常处理的一种高级形式。下面是小编为大家整理的C语言assert的用法讲解&#xff0c;欢迎参考~assert宏的原型定义在中&#xff0c;其作用是如果它的条件返回错误&a…

cmd c语言 图形,CMD-C彩图隐写方案

1.前言本文提出了当前经典的彩图隐写方案&#xff0c;它具有聚类修改方向的特点&#xff0c;是第一个公认的彩色图隐写方案&#xff0c;为后续彩图隐写术和隐写分析工作提供了清晰的思路&#xff0c;具有深远的意义。2.背景现代灰度图像隐写方案是在最小化失真函数框架下设计的…