linux下如何实现不同的用户对同一文件都有写权限

问题产生原因:

用户在创建文件时候,其创建的文件的属主和属组都是用户本身,所以让组具有写权限并不意味着其他用户具有写权限

解决方案:

给共同访问的目录添加SGID权限

解决过程:

场景举例:比如一个公司的开发团队有三个用户:Hadoop、habase、hive  有一个文件目录tmp/project供他们开发,如何实现让这三个用户都对其具有写权限

第一步:

修改三个用户的附加组都为developteam

切换到不同用户下面查看用户是否有写权限

第二步:给属组添加写权限

用户添加到同一个附加组之后,组并没有写的权限,此时需要给文件添加写的权限

查看用户此时拥有写权限否?

查看用户创建的文件的属组,给附加组添加写权限之后,用户的属主属组还是创建文件的用户,其他用户还是不能够进行写操作。

第三步:给文件SGID

命令:chmod g+s /tmp/project/

给文件添加了SGID之后文件的属组变成了文件本身的属组,而不是文件的创建者

其他用户可以对文件进行操作:

为防止其他用户的删除操作,对文件添加stick权限

命令:chmod o+t /tmp/project/

给文件添加SGID 和stick之后其他用户可以对文件目录都有写的权限但是不能删除其他用户创建的文件。

时间: 2024-10-30 11:44:29

linux下如何实现不同的用户对同一文件都有写权限的相关文章

linux下lrzsz安装过程,SecureCRT上传下载文件工具

linux下lrzsz安装过程,SecureCRT上传下载文件工具 1.从下面的地址下载 lrzsz-1.12.20.tar.gz http://down1.chinaunix.net/distfiles/lrzsz-0.12.20.tar.gz 2.查看里面的INSTALL文档了解安装参数说明和细节 3.解压文件 tar zxvf lrzsz-1.12.20.tar.gz 4.进入目录 cd lrzsz-1.12.20 5../configure --prefix=/usr/local/lrz

linux下用tail命令查看动态变化的文件内容(文件尾部)

背景: 今天在静默安装oracle, 在命令行里面下达了命令 ./runInstaller -silent -responseFile /oracle/database/response/db_install.rsp 结果没有什么安装进度,只是提示可以从/u01/app/oraInventory/logs/installActions.....log里面可以查到结果--->看到这里我就想到了在linux里面是不是有一个命令可以查看一个动态变化的文件?(这个日志文件肯定在变化啊) 没错,有,就是

SVN单独用户具有某个文件夹的单独权限设置

项目要求:       修改guest用户只能对项目的 code 文件下的内容具有 r (读)的权限 设置办法: 在浏览器中访问 svn://XXX 1.权限设置之前(rw)用户之前预览        ? 2.进行设置 编辑 ../conf/authz 文件   # vim authz 这样设置即可,SVN不用重启就会生效 3.设置后进行验证测试 浏览器中访问 svn://XXX/flight/trunk/code 即可实现 guest 用户对 code 文件只有只读的权限,其他文件到看不到 遗

Linux下查看/管理当前登录用户及用户操作历史记录

一.查看及管理当前登录用户 1.使用w命令查看登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及他们正在做的事.该命令所使用的信息来源于/var/run/utmp文件.w命令输出的信息包括: 用户名称 用户的机器名称或tty号 远程主机地址 用户登录系统的时间 空闲时间(作用不大) 附加到tty(终端)的进程所用的时间(JCPU时间) 当前进程所用时间(PCPU时间) 用户当前正在使用的命令 $ w 23:04:27 up 29 days, 7:51, 3 users, l

夺命雷公狗---linux NO:27 linux下的密码管理和用户切换以及sudo的使用

我们在windows下用户名是可以设置空密码登录的,但是在linux 里面必须要设置一个密码才可以登录,否则会失败的... 在linux 下设置密码可以使用  passwd  这个命令来进行设置... 但是这里的  passwd  并非是  etc   目录下的passwd  我们可以用 which  来查看一下他是那个的passwd,如下所示: 很明显他是存放在  usr/bin/passwd  里面的... 那么我们先用passwd 命令将一个用户设置一个密码(这方法只是针对root 用户而

linux下创建svn仓库及用户

1 Linux下创建svn仓库 1.1 启动SVN服务 svnserve -d -r  /SVNRootDirectry 其中SVNRootDirectry是你的SVN 根目录,例如192.85.1.2上的是:/SVN.-d 表示以后太服务方式执行,-r就表示root 1.2 创建仓储 1.2.1 在SVN根目录下建立版本仓库 svnadmin create study 命令 :svnadmin create  msm 其中msm是版本仓库的名字,仓库建立好了以后会有出现一个仓库名字的文件夹,文

Linux 下搭建ftp服务器 指定用户指定目录及其他操作

搭建 Linux下 rpm -qa |grep vsftpd查看是否安装 没安装yum安装 /etc/vsftpd/目录下有vsftpd.conf配置文件 根据需求 进行配置  是否使用匿名用户以及文件目录权限是否可写等等 给用户指定目录的话 在命令行下进行配置   useradd -d /root/123 user123  给user123用户指定目录 /root/123 然后给该用户添加密码  passwd user123 连接ftp后进行文件的上传或其他操作  提示“could not c

linux下怎么查看ssh的用户登录日志

linux下登录日志在下面的目录里: cd /var/log 查看ssh用户的登录日志: less secure linux日志管理: 1. 日志简介 日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹.日志主要的功能有:审计和监测.他还可以实时的监测系统状态,监测和追踪侵入者等等. 在Linux系统中,有三个主要的日志子系统: 连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp和/var/run

Linux下添加,删除,修改,查看用户和用户组

linux下添加,删除,修改,查看用户和用户组 1,创建组 groupadd test 增加一个test组 2,修改组 groupmod -n test2 test 将test组的名子改成test2 3,删除组 groupdel test2 删除 组test2 4,查看组 a),查看当前登录用户所在的组 groups,查看apacheuser所在组groups apac 一,组操作 1,创建组 groupadd test 增加一个test组 2,修改组 groupmod -n test2  te