15、linux文件、目录的权限及如何改变权限(root用户不受任何权限的限制)
15.1、linux普通文件的读、写、执行权限说明:
r:读,表示具有读取\阅读文件内容的权限;
w:可写,表示具有新增,修改文件内容的权限:
如果没有r配合,那么vi编辑文件会提示无法编辑(但可以强制编辑,echo可以重定向或追加)
特别提示:删除文件(修改文件名等)的权限是受父目录的权限控制(wx,常用rwx),与自身的权限无关(如果目录中有文件,且目录不予许删除,则不能删除该目录,空目录则可以被删除),但上级目录的上级需要最低 x 进入目录权限,否则不能进入这一级,也不能进入下一级;
x: 文件执行的权限, 全路径执行,和进入内部进行./执行文件 进行执行
文件本身需要能够执行
普通用户同时还需要具备r的权限才能
用户创建文件时的权限是644,
15.2、linux目录的读、写、执行权限说明:
x:可执行,表示进入目录的权限,cd dir
r:可读(显示列表)、表示具有浏览目录文件及子目录的权限 ,及ls dir
如果没有x权限(进入目录的权限),ls列表时,可以看到文件名,但是看不到具体的文件权限属性,
w:表示具有增加,删除或修改目录内文件名的权限,也需要x的配合,否则无法进入目录
用户创建目录的权限是755;
15.3、linux改变文件权限的方法:
15.3.1、chmod:
是用来改变文件或目录权限的命令,但只有文件的属主和超级用户root才能使用这种命令,通过chmod来改变文件或目录的权限有两种方法,
一种是通过权限字母化操作符表达式的方法来设置权限,另一种是使用数字办法来设置权限(常用),如果我们想改变的仅仅是打开目录的权限,使用chmod命令时不用加任何参数,
如果想把目录以下的所有文件或子目录也同时改变,需要使用-R参数;
15.3.2、数字法:
chmod [数字法] 文件名:r:4 w:2 x:1
15.3.3、字符型法:
+:添加某个权限
-:取消某个权限
=:取消其它所有的权限赋予给定的的权限
15.3.4、chown:
当我们改变一个文件的属主时,我们所使用的用户必须是该文件的属主且同时是目标组成员,超级用户。只有超级用户才能改变 文件的属组
chown 用户 文件或目录 仅授权用户
chown :组 文件或目录 仅授权组
chown 用户:组 文件或目录 授权用户和组
其中:(冒号)可以使用.代替
用户的操作:
useradd test useradd -u 504 test
passwd test
userdel -r test 删除用户和家目录
组的操作:
groupadd test
15.3.5、改变文件的属性:
[root@centos6 ~]# chattr +i /etc/passwd #给 /etc/passwd 加锁,root用户也不能进行操作
[root@centos6 ~]# useradd test
useradd: cannot open /etc/passwd
[root@centos6 ~]# lsattr /etc/passwd #查看文件是否加锁
----i--------e- /etc/passwd
[root@centos6 ~]# which chattr
/usr/bin/chattr
[root@centos6 ~]# mv -v /usr/bin/chattr /lcchattr #转移chattr命令,无法解锁,就不可创建用户,防止黑客的入侵
`/usr/bin/chattr' -> `/lcchattr'
[root@centos6 ~]# useradd lc
useradd: cannot open /etc/passwd
[root@centos6 ~]# chattr -i /etc/passwd
-bash: /usr/bin/chattr: No such file or directory
[root@centos6 ~]# mv -vf /lcchattr /usr/bin/chattr
`/lcchattr' -> `/usr/bin/chattr'
[root@centos6 ~]# chattr -i /etc/passwd
[root@centos6 ~]# useradd lc1
15.4、相对比较安全的权限:
对于文件权限是644(默认),对于目录的权限是755(默认),并且用户为root以及用户组root,这样其它用户登录只有其它用户的权限,上层可查看r_x,到用户的目录时变为可读可写的权限;
在root用户下建立创建文件和默认的目录,创建可供其它用户利用的目录,此时其它用户登录后可以查看文件进入目录,但是不能够创建文件且目录中的文件属于root,也只能读,该用户
只能在规定的目录下进行创建文件,删除属于自己的文件;
15.5、默认权限的分配的命令:
文件的权限从 666 目录从777开始
umask 022 022
文件的真实权限 644 755
umask都为偶数,直接相减,如果是奇数,在对应位加1;
umask如果越小,则对应的权限就越大
15.6、特殊权限:
15.6.1、suid:
suid是一把双刃剑,是一个比较危险的功能,对系统安全有一定的威胁
15.6.1.1、suid系统优化的命令:
xargs -i chmod u-s {}
15.6.2、sgid :
常用于组之间文件的共享;
sgid 表示任何一个加入组的用户或属主用户,在组目录下创建文件或目录都属于该组所有,其它用户是002,可实现所有用户的共删性(特殊:umask,022,加目录);
15.6.3、粘贴位:
如果一个目录把所有的权限都开放,这样任意一个用户都可以在这个目录中创建和删除任意一个文件,或没有文件的空目录(如果有文件,则不能删除,需要给目录加权限),如果设置了粘贴位,除非文件的属主和root用户可以删除该文件和目录(如果在子目录设置权限,其它用户也可以删除该目录下的文件);
15.6.4、特殊权限小结:
15、linux文件、目录的权限及如何改变权限(root用户不受任何权限的限制)的更多相关文章
- Linux 文件/目录操作详解
目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...
- fedora 非root用户访问socket 没用权限
在非root用户下执行基于Libpcap库编写的应用程序时不能正常运行,原因是由于libpcap库使用raw socket的套接字.而Raw Socket的使用需要root权限,否则raw socke ...
- Linux文件/目录权限设置命令:chmod
文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...
- Linux文件/目录,权限相关
查看权限 命令 # ls -l filename 结果 -rw-r--r-- l root root 27 11-10 14:50 filename 解析: -rw-r--r-- --共10位 第1位 ...
- Linux 文件|目录 属性
文件属性 ls -l 列出的文件|目录信息如下 第一个字符指定类型,-是文件,d是目录(dir). 后面9个字符是该文件|目录的用户权限:r读,w写,x执行. 执行是指:如果该文件是一个可执行文件, ...
- 【出错记录】Tomcat非root用户启动无法拥有权限读写文件
简单记录下,如有必要,将深入补充: 一.非root用户运行Tomcat及原因 由于项目中,为了安全需要,Tomcat将禁止以root形式启动,原因很简单,举个例子,一旦有人恶意将jsp文件透过某个别的 ...
- samba共享目录无法访问的一般解决方案,非用户登录和读写权限问题
配smb,被第四点坑了很久,特此转载. 由于这5点都是比较普通的情况,不涉及用户登录和读写权限问题 1)关闭防火墙: #sevice iptables stop 2)修改 /etc/samba/smb ...
- 解决root用户下都无权限操作的问题
问题现象: 有时系统设置了一种文件,无法编辑其所有权 sudo chown users:username {filename} 或者root用户下执行 chown users:username {f ...
- arch Linux 安装完,无法通过 SSH 远程连接 root 用户问题
访问 arch Linux 主机的该文件 [root@eric-laptop ~]# vim /etc/ssh/sshd_config 对应注释部分后边补上下边三行: LoginGraceTime 1 ...
随机推荐
- 【转载】]基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程 介绍、安装准备、安装、config文件以及运行脚本介绍
https://www.codetd.com/article/1137423 <版权声明:本文为博主原创文章,未经博主允许不得转载> 本次利用SPECCPU2006测试工具来进行Intel ...
- python中类属性和数据属性的解释
python中的类叫class object,类的实例叫instance object. 类 Class Objects 类拥有两种操作,1.类属性 attribute references 2.实例 ...
- Zabbix 常用术语
Zabbix 常用术语 1.主机(host) 一台你想监控的网络设备,用IP或域名表示 2.主机组(host group) 主机的逻辑组;它包含主机和模板.-个主机组里的主机和模板之间并没有任何直接的 ...
- Linux进阶之排错
Permission denied 检查selinux长时间没有响应 防火墙 nginx和httpd可以自检nginx和httpd有日志 /var/log/nginx/ /var/log/httpd/ ...
- 9.10 nohup:用户退出系统进程继续工作
nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行程序的输出信息将不会显示到终端. 无论是否将nohup命令的输出重定向到终端,输出都将写入到当前目录的nohup.out文件 ...
- 基于开源Tars的动态负载均衡实践
一.背景 vivo 互联网领域的部分业务在微服务的实践过程当中基于很多综合因素的考虑选择了TARS微服务框架. 官方的描述是:TARS是一个支持多语言.内嵌服务治理功能,与Devops能很好协同的微服 ...
- python基础课程讲解
day01: 编程语言的介绍: 一 1.什么是编程?(****) 两个环节: 1.把做事的思维逻辑给想清楚了 2.用计算机能听懂的语言也就是编程语言把做事的步骤给翻译下来 2.为什么要编程? 人要奴役 ...
- newbee-mall开源项目被慕课网拿去做课程,然后我毫不知情,这又是什么骚操作?
万万没想到,这种事情会发生在我身上. 之前写过<开源囧事>系列而且已经写了四篇,四次开源囧事如下: <开源囧事(一)捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?> & ...
- 达梦数据库产品支持技术学习分享_Week1
本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.达梦数据库的体系架构 二.达梦数据库的安装 三.达梦数据库的数据类型 四.达梦数据库的DDL.DML. ...
- nginx 的访问日志切割
1. 高级用法–使用 nginx 本身来实现 当 nginx 在容器里,把 nginx 日志挂载出来的时候,我们发现就不适合再使用 kill -USR1 的方式去分割日志这时候当然就需要从 nginx ...