主要学习: 文件盒目录的权限

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文件安全与权限 笔记的更多相关文章

  1. Linux 与 unix shell编程指南——学习笔记

    第一章    文件安全与权限 文件访问方式:读,写,执行.     针对用户:文件属主,同组用户,其它用户.     文件权限位最前面的字符代表文件类型,常用的如         d 目录:l 符号链 ...

  2. LINUX SHELL脚本攻略笔记[速查]

    Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...

  3. 【链接】LINUX SHELL脚本攻略笔记[速查]

    LINUX SHELL脚本攻略笔记[速查]

  4. 写shell脚本速查笔记

    linux shell脚本的语法蛋疼,而且对于java开发人员来说又不常用,常常是学了一次等到下次用的时候又忘记了.因此制作这个速查笔记,用于要写shell脚本时快速回忆&速查. 获取当前脚本 ...

  5. shell脚本学习积累笔记(第一篇)

    (1)首先,今天在执行shell脚本./test.sh时抛出“/bin/sh^M: bad interpreter: No such file or directory”的异常,百度后,才知道这是由于 ...

  6. shell 其他杂项知识点笔记

    // 其他杂项知识点 对于普通用户,Base shell 默认的提示符是美元符号$:对于超级用户(root 用户),Bash Shell 默认的提示符是井号# ------- \#!是一个约定的标记, ...

  7. Shell脚本的学习笔记一:变量

    三种变量: 局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需 ...

  8. Shell高级编程学习笔记(基础篇)

    目录 1.shell脚本的执行方法  2.shell的变量类型  3.shell特殊变量 4.变量子串的常用操作  5.批量修改文件名实践   6.变量替换 7.在shell中计算字符串长度的方法  ...

  9. Shell脚本编程基础笔记一

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8176137.html 一:脚本文件的创建.格式.运行 1:创建shell脚本 首先,要创建一个文件 touch ...

随机推荐

  1. 安装vm虚拟机

    1.本次win10系统安装vmware workstation  下载地址:http://www.ihacksoft.com/vmware-workstation-10-0-4.html 2.镜像使用 ...

  2. 在使用add()方法添加组件到容器时,必须指定将其放置在哪个区域中

    BorderLayout是Window.Frame和Dialog的默认布局管理器,其将容器分成North.South.East.West和Center 5个区域,每个区域只能放置一个组件. 在使用ad ...

  3. eclipse配置weblogic服务器

    最近项目要从tocmat迁移到weblogic,使用weblogic的原因不用多说,好处不言而喻.于是准备配置基于eclipse的weblogic服务器,并将整个过程记录下来分享给大家.       ...

  4. Storm集成Kafka编程模型

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3974417.html 本文主要介绍如何在Storm编程实现与Kafka的集成 一.实现模型 数据流程: ...

  5. 第10步:DBCA创建实例

    注意,创建磁盘组时需要以oracle用户身份执行,在那之前可能需要以root身份执行xhost+,即命令: 代码1 [root@sgdb1~]# xhost+ [root@sgdb1~]# su - ...

  6. 常用的tagVARIANT结构【整理】

    VARIANT数据结构包含两个域(如果不考虑保留的域).vt域描述了第二个域的数据类型.为了使多种类型能够在第二个域中出现,我们定义了一个联合结构.所以,第二个域的名称随着vt域中输入值的不同而改变. ...

  7. AWS系列-修改RDS时间(time_zone)

    1.1 需求 数据库时间和北京时间相差8小时 开发人员发现app的时间与国内时间相差12小时,需要修改RDS的time_zone参数 1.2 打开RDS参数组 1.3 创建新的参数组 由于默认的参数组 ...

  8. JavaScript------如何查看var变量是否是指定类型

    function isArray(a) { //Date,Array,String,Object,Function,Boolean,Number return a.constructor.toStri ...

  9. 怎样从Mysql官网下载mysql.tar.gz版本的安装包

     今天学习在Linux上部署项目,用到了Mysql,因此想要下载适用于Linux的安装版本,在Mysql官网找了半天,终于找到怎样下载了,这里写出来,以后大家找的时候就好找了. 第一步:在百度输入My ...

  10. Delphi 中窗口文件与无窗口Pas文件的区别 (MTM)

    implementation {$R *.dfm}  ---- 带窗口的 dfm -- 一般的 windows 窗口 {$R *.fmx}  ---- 带窗口的 fmx -- 一般的 FireMonk ...