Linux跨用户copy文件

foo用户home目录下有一文件file.txt,要将其copy至bar用户的home目录。Linux对用户home目录有严格的权限限制,非owner用户或者同group用户无权限读写,除非是root(至高无上的root)。如果没有root权限,有什么办法把file.txt 复制到bar用户的home目录下呢?

解决方法:

第一个办法,先用foo用户登录,把文件copy到系统临时目录/tmp,然后切换到bar用户,再从系统临时目录/tmp把文件copy到自己的home目录。这里为什么用cp不用mv?因为复制到/tmp的文件owner还是foo,默认情况下其他用户自有读权限,没有写权限(自然没有移动权限)。即使通过修改文件权限,让bar可写,移动到bar的home目录下owner还是foo,而且非得root才能改成bar。这个办法有点曲折,弊端也很明显,文件需要复制两次,花两倍的时间。

# cp file.txt /tmp/

# su - bar

# cp /tmp/file.txt ~/

# exit

# rm /tmp/file.txt

第二个办法,使用scp命令。原本scp是用来在不同主机上通过网络copy文件,用在这里刚好。用bar用户登录

# scp [email protected]:/home/foo/file.txt 。/

输入foo用户密码,开始文件传输。也可以用foo用户登录,

# scp file.txt [email protected]:/home/bar/

输入bar用户密码,过程一样。

推荐方法二

时间: 2024-10-04 08:41:07

Linux跨用户copy文件的相关文章

Linux之用户及文件权限管理

Linux之用户及文件权限管理 前言:Linux 是一个多用户的操作系统:Linux哲学思想之一-"一切皆文件".说明在学习Linux过程中,用户及文件权限的管理是非常重要滴.本文主要是引用了CentOs/RedHat 7.1的命令. 一.用户.组管理 1).用户.组类型: 超级用户(管理员):root用户具有一切权限,只有在进行系统维护(如创建用户.分配权限)时用到:由于root用户权限过大,为了避免管理员的误操作导致不可逆的后果,所以在非必要的情况下不用root用户登录. 普通用户

zbb20170811 linux 给用户授予文件夹权限

linux 给用户授予文件夹权限 你好, 比如一个目录dir, 你的用户名hengyang, 执行下面命令就可以赋予用户创建目录的权限. 用root用户执行: chown hengyang.hengyang dir

linux跨主机复制文件或文件夹

复制文件基本格式:(本地到远程) scp 文件名 用户名@ip:文件全目录 如果是文件夹加上参数 -r scp -r 基础目录 用户名@ip:目录 栗子: scp local_file re[email protected]_ip:remote_file 如果是远程到本地则对调参数: 栗子: scp [email protected]_ip:remote_file local_file 如果需要制定端口复制:参数 -p 栗子: scp -p 8888 [email protected]_ip:r

linux跨主机复制文件

scp -r [email protected]:/billdata2/user/yanhm/redis/* /newboss/billing/user/aabb 其中: 10.200.171.111:远程主机 billing:远程主机的用户名 /billdata2/user/yanhm/redis/:要复制远程主机的文件路径 /newboss/billing/user/aabb:要粘贴的目录主机的文件路径

Linux不同用户之间复制文件

考虑如下情景:foo用户home目录下有一文件file.txt,要将其copy至bar用户的home目录.Linux对用户home目录有严格的权限限制,非owner用户或者同group用户无权限读写,除非是root(至高无上的root).如果没有root权限,有什么办法把file.txt 复制到bar用户的home目录下呢? 想到两个办法.第一个办法,先用foo用户登录,把文件copy到系统临时目录/tmp,然后切换到bar用户,再从系统临时目录/tmp把文件copy到自己的home目录.这里为

Linux用户及文件权限管理

用户及文件权限管理 一.实验介绍 1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 二.Linux 用户管理 通过第一节课程的学习,你应该已经知道,Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁

[添加用户]解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码,usermod的ysuum安装包。飞

usermod的yum安装包: shadow-utils 将nobody用户添加到nogroup 组: usermod -g nogroup nobody cat /etc/passwd|grep nobody nobody:x:65534:65534:nobody:/var/lib/nobody:/bin/bash 第3个字段是65534:意思就是,UID(用户的ID)是500. 第4个字段是65534:意思就是.GID(用户的组ID)的500. 使用usermod -g nogroup no

如何在Linux单用户模式下修改fstab文件

今天服务器新增加了一块硬盘,分区格式后在fstab内设置了自动挂载,由于fstab设置错误,导致linux重新启动时出现错误并且不能正常登入系统: 于是让Linux启用单用户模式进入系统,当修改/etc/fstab文件时提示文件只读,无法修改: 经过网友和网上查找具体修改有两种方式 1.进入Linux单用户模式 执行 root# mount -o remount,rw / 然后/etc/fstab就可以修改了 2.用光盘进入Linux修复模式 (光盘启动按F2 接着输入linux rescue回

Linux 中httpd基于文件的用户的访问控制和CGI

基于用户访问控制(这里控制的是整个页面控制)         用户认证类型:             基本认证:Basic             摘要认证:digest,是否明文还是密文的控制. 虚拟用户:仅用于访问某服务和获取资源的凭证:         用户帐号密码存放位置:.htpasswd 这个文件用户名是明文的,密码是加密的.这个文件的名字也是你自己取的,一般我们不改动.htpasswd存放在httpd配置文件下即可                 实例:我们这里基于文件的认证(文件