自学Linux Shell7.3-linux共享文件

点击返回 自学Linux命令行与Shell脚本之路

7.3-linux共享文件

在linux系统中共享文件的方法是通过创建组。

1. linux为每个文件和目录存储了3个额外的信息位:

  • SUID设置用户ID 
    当文件被用户使用时,程序会以文件属主的权限运行
  • SGID设置组ID     
    对文件来说,程序会以文件属组的权限运行
    对目录来说,目录创建的新文件会以目录的默认属组作为默认属组
  • 粘着位    
    进程结束后文件还驻留在内存中

SUID设置用户ID用s表示。

  • 用户对应的前三位的x位上如果有,就用小s表示suid。当x位上没有x的时候,suid就是大写的S。
  • 设置用户ID位就是让普通用户可以以root或其他用户的权限运行只有root或其它用户才能运行的程序或命令,或程序命令对应本来没有权限操作的文件等。
  • 仅对二进制命令程序有效,不能用在shell等类似脚本文件上。shell脚本仅仅是调用二进制命令程序而已,因此,具体权限还需要看二进制命令本身。
  • 二进制命令程序需要有可执行权限x\
  • suid权限仅在程序执行过程中有效。
  • 执行命令的任意用户可以获得该命令程序执行期间拥有这的权限。
  • suid是双刃剑,是一个比较危险的功能,对系统安全有一定的威胁。

SGID设置组ID    
与suid不同,sgid既可以针对文件,也可以阵地目录设置。sgid是针对用户权限修改的。
sgid主要用在目录中,当为某个目录设置了sgid位以后,在该目录中创建的文件具有该目录的所有这权限,而不是创建该文件的用户的默认所有者。这样,使得在多个用户之间共享一个目录中的文件 变得简单。

 对文件,sgid功能如下:

  • sgid仅对二进制命令程序有效。
  • 二进制命令或程序需要可执行权限。
  • 执行程序的任意用户可以获得该命令程序执行期间所属组的权限。

 对目录,sgid功能如下:

  • 用户在此目录下创建的文件和目录,具有和此目录相同的用户组设置。

粘着位 sticky bit 

粘滞位功能用得少,不过对于/tmp目录这样的,是整个系统临时文件存放地,需要设置粘滞位。
一个目录即使开发所有权限rwxrwxrwx,如果设置了粘滞位,除非目录属主和root用户有权限删除它,其它用户不能删除这个目录。
让所有用户都具有/tmp目录所有权限,但是每个用户只能删除自己的文件。用t表示,如果没有执行权限,那么就是T。/tmp目录谁都可以写,常常是木马第一手跳板地点。

如上图,/tmp权限位最后一位是t。这就是设置了粘滞位。

2. 如何共享文件

通过以上的介绍,SGID位对共享文件非常重要,以下就是建立共享文件步骤:

  • 用mkdir命令创建共享目录
  • 通过chgrp命令将目录的默认属组改成包含所有需要共享文件的用户的组
  • 更改目录的SGID位置位,确保目录中的新建文件都用shared作为默认属组
  • 所有组成员将umask值设置成文件对属组成员可写
  • 最后,,组成员能到共享目录下创建新文件,同时shared组内的所有用户都能访问这个文件

原文地址:https://www.cnblogs.com/yaoyaojcy/p/9188544.html

时间: 2024-11-04 01:59:46

自学Linux Shell7.3-linux共享文件的相关文章

关于linux挂载window下共享文件

关于linux挂载window下共享文件的方法: ①事先建立linux下文件夹,例如" /mnt/linux-folder" ②用mount命令挂载 mount -o username=windows下共享文件的访问用户名,password=windows下共享文件的访问密码 //ip/windows下共享文件名 /mnt/linux-folder 还有要实现开机时自动挂载这个共享,具体再调查试试 http://blog.csdn.net/Kendiv/article/details/

centos6.4 *64 Linux挂载windows下共享文件夹

centos6.4 *64 Linux挂载windows下共享文件夹 mount //192.168.1.21 /mnt/pub 结果无法正常挂载,提示以下错误,开始以为是因为windows下共享文件夹是ntfs格式的问题,下了一个ntfs-3g,依旧无效,后来发现是少了组件包cifs-utils [[email protected] ~]# mount //192.168.1.25/pub /mnt/pubmount: wrong fs type, bad option, bad superb

配置VirtualBox Linux系统与Windows共享文件

手动方式配置VirtualBox Linux系统与Windows共享文件 首先,要安装VirtualBox自带的扩展工具,这个ISO可以在虚拟主机安装目录下找到. 将这个文件Copy到你的Linux主机上,并解压,可以看到文件的列表如下: 然后,直接一步执行VBoxLinuxAdditions.run文件 命令:./VBoxLinuxAdditions.run 注意,一定要获取执行权限,否则会报没有权限错误 (可以执行chmod -R 777 VBoxGuestAdditions). 成功安装扩

马哥Linux学习之Linux背景和主要发行版篇

Linux是一种 类Unix计算机操作系统的统称,简单的说来就是Linux内核+GNU工程的各种工具和数据库.Linux包括各种Linux的发行版,其实也就是为达到不同的目的而制作(目的包括对不同计算机结构的支持,对一个具体区域或语言的本地化,实时应用或嵌入式)的不同版本.   Linux的由来.在1991年4月,芬兰大学生linus因不满其教授对其教学用系统Minix(此教学系统又是Andrew Tannebaum教授为了不受AT&T许可协议的约束,为教学科研而开发的)不能作任何改动的态度,自

Linux基础概念-----Linux I/O重定向 ,管道

标准输入:键盘 标准输出:显示器 错误输出:显示器 FD:文件描述符:让程序可以文件交互,并且便于内核识别文件,打开的每一个文件都有一个描述符 程序在和文件交互式,通过文件描述符来进行交互,而非文件名,文件名是方便用户分别文件. Linux一切皆文件,所以标准输入,标准输出都有各自的文件描述符 标准输入描述符:0 标准输出描述符:1 标准错误输出描述符:2 将其默认数据流改为其他设备:IO重定向 输出重定向 > 覆盖重定向 >> 追加重定向 /dev/null  黑洞 只针对当前Shel

Linux基础概念-----Linux权限

权限对象: 属主:u 属组:g 其他人: o 所有人:a Linux基本权限 读:read 标识为:r 八进制标识为:4 写:write 标识为:w 八进制标识:2 执行:execution 标识为:x 八进制标识:1 特殊权限 setuid:仅对文件(可执行的二进制程序)有效,以文件的所有者身份执行 八进制表现为:4 [[email protected] tmp]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 30768 Feb 22  2012

u盘安装linux(windows7+linux双系统)

前提条件:1.先装windows7,后装linux系统 2.windows7 里有"未分区的空间"(不是C:,D:,E:) :计算机→管理→存储空间,删除一些压缩卷即可. 3.下载ultraiso →把 i386的DVD1写入硬盘镜像文件              4.复制DVD1与DVD2到U盘根目录上              5.在U盘上的这个目录 U:\syslinux 覆盖掉这个文件vesamenu.c32 然后安装这篇文章一步一步添加即可. http://blog.csdn

GNU、Linux和GNU/Linux之间的关系

来自:http://os.51cto.com/art/200608/30399.htm 1. 什么是Linux?2. 什么是GNU?3. GNU/Linux是什么玩意儿?什么是Linux相信了解一些IT知识的人都听过Linux这个名词.维基百科上的Linux词条是最经典和最准确的说明(http://zh.wikipedia.org/wiki/Linux),在此直接应用,免去班门弄斧之嫌.Linux操作系统(Linux),是一种计算机操作系统.Linux操作系统的内核的名字也是"Linux&quo

以Qemu模拟Linux,学习Linux内核

文章名称:以Qemu模拟Linux,学习Linux内核作      者:five_cent文章地址:http://www.cnblogs.com/senix/archive/2013/02/21/2921221.html维护日志:2013-02-21 建立文档(注:文章参考自http://www.linuxidc.com/Linux/2011-07/39373.htm, 是对该篇文章的一些补充和说明.文章内所使用的环境是Ubuntu 12.04,如果其中遇到编译问题,请自行参考错误说明,配置依赖

Linux及安全——Linux基础实践

Linux及安全——Linux基础实践 一.实践一:掌握软件源的维护方法,配置系统使用教育网内的软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 1.软件源的维护方法 Ubuntu的软件源列表存放在/etc/apt/sourcers.list,为了安全起见,我们在对源文件进行操作之前,先将软件源备份. 打开终端,输入命令 sudo cp /etc/apt/sources.list/ etc/apt/backup_sources.list 即把软件源备份的文件backup_sourc