shell文件安全与权限 笔记
主要学习: 文件盒目录的权限
Setuid
Chown和chgrp
Umask
连接符号
一个文件已经创建,就具有三种访问方式
读,可以显示该文件的内容
写,可以编辑或删除它
执行,如果该文件时一个shell脚本或者是程序
按照所针对的用户,文件的权限可以分为三类
文件属主,就是创建该文件的用户
同组用户,拥有该文件的用户组中的任何用户
其他用户,即不属于拥有该文件的用户组的某一用户
1.1文件
当创建一个文件时,保存的信息有:文件的位置,文件的类型,文件的长度,文件的访问权限,i节点,文件的修改时间,文件的权限位。
[root@localhost software]# ls -l
Total 2229516 :告诉我们该目录中所有文件所占的空间
drwxrwxr-x 8 oracle oinstall 4096 2009-08-18 database
drwxrwxr-x 2 oracle oinstall 4096 08-29 18:12 jdk for linux
-rwxrwxr-x 1 oracle oinstall 1285396902 08-29 19:00 linux_11gR2_database_1of2.zip
-rwxrwxr-x 1 oracle oinstall 995359177 08-29 19:07 linux_11gR2_database_2of2.zip
以第一个为例
drwxrwxr-x :权限位
8 :该文件硬链接的数目
Oracle 文件的属主
Oinstall文件的属住oracle所在的组。
4096:文件的长度,不是K
2009-08-18: 修改的日期
Database:文件名
1.2 文件类型
文件有7中类型。可以从文件为来判断
d:目录
l:符号链接
s套接字文件
b块设备文件
c 字符设备文件
p命名管道文件
-普通文件
1.3权限
使用]# touch myfile创建一个文件
结果
-rw-r--r-- 1 root root 0 08-29 23:05 myfile
第一位 文件位,普通文件
rw-文件的属主权限
r—文件的属住oracle所在的组用户权限
r—其他用户权限
改变权限位,可以使用chmod
Chmod 命令,语法
Chmod [who] operator [permission] filename
Who:取值为
u文件属主权限 g同组用户权限 o其他用户权限
a所有用户
operator
+ 增加权限 –取消权限 =设定权限
Permission的含义
r读权限 w写权限 x执行权限 s文件属主和组set_ID
t粘性位 l给文件枷锁,是其他用户无法访问。
绝对模式:
Chmod [mode] file
1.4 目录
r:可以列出该目录中的文件
w:可以在该目录中创建或删除文件
x:可以搜索或进入目录
1.5 suid/guid
Suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这个脚本时也会具有其属主的相应权限。
# chmod 4741 myfile
-rwsr----x 1 root root 0 08-29 23:30 myfile
1.6 chown chgrp
在改变一个文件的所有权的时候,相应的suid也将被清除,这是出于安全考虑。
Chown命令的一般形式:
Chown –R –h owner file
1.7 umask
Umask命令确定了创建文件的缺省模式。是在/etc/profile中设置。
例: 对于umask002
文件的最大权限是 777
也就是目录权限为775 即 rwx rwx r-x
文件权限 rw- rw- r—文件创建时没有可执行权限,需要自己使用chmod改变
也就是说umask就是要从权限中拿走的权限。
重用的umask值
在设置umask命令之前一定要清楚知道到底希望具有什么样额的文件创建缺省权限。
1.8 符号链接
ln [-s] source_path target_path
其中的路径可以是目录也可以是文件。这样不同用户在自己的¥home目录中的文件可以指向同一个文件,这样值需要修改一个文件。不用去每个用户的home 目录下去修改
shell文件安全与权限 笔记的更多相关文章
- Linux 与 unix shell编程指南——学习笔记
第一章 文件安全与权限 文件访问方式:读,写,执行. 针对用户:文件属主,同组用户,其它用户. 文件权限位最前面的字符代表文件类型,常用的如 d 目录:l 符号链 ...
- LINUX SHELL脚本攻略笔记[速查]
Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...
- 【链接】LINUX SHELL脚本攻略笔记[速查]
LINUX SHELL脚本攻略笔记[速查]
- 写shell脚本速查笔记
linux shell脚本的语法蛋疼,而且对于java开发人员来说又不常用,常常是学了一次等到下次用的时候又忘记了.因此制作这个速查笔记,用于要写shell脚本时快速回忆&速查. 获取当前脚本 ...
- shell脚本学习积累笔记(第一篇)
(1)首先,今天在执行shell脚本./test.sh时抛出“/bin/sh^M: bad interpreter: No such file or directory”的异常,百度后,才知道这是由于 ...
- shell 其他杂项知识点笔记
// 其他杂项知识点 对于普通用户,Base shell 默认的提示符是美元符号$:对于超级用户(root 用户),Bash Shell 默认的提示符是井号# ------- \#!是一个约定的标记, ...
- Shell脚本的学习笔记一:变量
三种变量: 局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需 ...
- Shell高级编程学习笔记(基础篇)
目录 1.shell脚本的执行方法 2.shell的变量类型 3.shell特殊变量 4.变量子串的常用操作 5.批量修改文件名实践 6.变量替换 7.在shell中计算字符串长度的方法 ...
- Shell脚本编程基础笔记一
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8176137.html 一:脚本文件的创建.格式.运行 1:创建shell脚本 首先,要创建一个文件 touch ...
随机推荐
- 用dnSpy破解某旅游系统5.2版。
某系统是网上最常见也是目前最好用的旅游站系统之一,5.1版本之前采用的maxtocode加壳后可以用de4dot反混淆后破解.5.1版本以后用de4dot无法脱壳. 本文仅限学习和讨论,请勿做侵权使用 ...
- Python_uuid 学习总结
1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, ...
- 说明Oracle数据库逻辑备份和物理备份的方式。
说明Oracle数据库逻辑备份和物理备份的方式. 解答:Oracle备份包括逻辑备份和物理备份. 1).逻辑备份 数据库的逻辑备份包含读一个数据库记录集和将记录集写入文件. a.输出(Export)输 ...
- js indexof用法indexOf()定义和用法
indexOf()定义和用法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法 stringObject.indexOf(searchvalue,fromindex) ...
- 《C++程序设计》朝花夕拾
(以后再也不用破Markdown写东西了,直到它有一个统一的标准,不然太乱了--) 函数签名 int f (int a, int b) ↑ ↑ ↑ ↑ 返回类型 函数名 形 式 参 数 其中,函数 ...
- C++三大函数(The Big Three)
本文用Markdown编辑,这里对Markdown的支持不完善,更好的阅读体验请移步:我的Markdown文本 C++三大函数: 析构函数 复制构造函数 operator= 析构函数 函数模样:~S( ...
- numpy 和 pandas 中常用的一些函数及其参数
numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中. numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值. ...
- hdu4691(后缀数组)
算是后缀数组的入门题吧. 思路无比简单,要是直接套模板的话应该很容易秒掉. 关于后缀数组看高中神犇的论文就可以学会了 算法合集之<后缀数组——处理字符串的有力工具> 话说这题暴力是可以过了 ...
- 云计算和SDN中的开源交换机介绍以及使用
之前关于SDN的开发工作都是在控制器层面上(以ryu为主),现在开始了新的工程项目,需要同时修改控制器和交换机的源码,如果后续项目需要,还可能需要加中间层——网络虚拟层,这部分的知识已经在前面读过了相 ...
- javamail 发送邮件demo(文字与附件)
package com.get.one; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multip ...