linux下cp,tar相关权限问题,-p参数

本文深入探讨了不同用户权限在文件复制、解压过程中的影响,包括root用户、普通用户及跨用户权限的处理方式。通过实验过程展示了如何在不同场景下使用cp和tar命令,特别强调了权限管理和用户身份转换的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 结论

root用户:
cp uid:gid都为root;
cp -p uid:gid保持原始不变;
解压后文件uid:gid保持原始不变。
普通用户:
cp uid:gid对应当前普通用户uid:gid,权限为原始权限和当前用户umask相与;
cp -p uid:gid对应当前普通用户uid:gid;
解压后文件uid:gid对应当前普通用户uid:gid,权限与是否-p有关,同上。
1. 普通用户从其他用户拷贝文件时, 最好加-p
2. 普通用户解压时,打包和解压时最好是加-p
3. root用户拷贝和解压时要注意目标位置所属的用户和期望的用户,二者uid一致,不一致则切换到普通用户后无法编辑

2. 实验过程

  • cp

root用户:

cd /home/sybase

cp后,ll得 权限,uid,gid:

cp file_sybase file_cpy1
cp file_sybase file_cpy2 -p
-rw-r--r--  sybase sybase file_sybase
-rw-r--r--  root   root   file_cpy1
-rw-r--r--  sybase sybase file_cpy2

sybase用户:
cp和cp -p都是 sybase:sybase
xdself用户:

// xdself用户无法将文件放在/home/sybase
cp file_sybase ~/file_cpy5 
cp file_sybase ~/file_cpy6 -p

-rw-r--r-- xdself users   file_cpy6
-rw-r--r-- xdself users   file_cpy5
uid:gid均分别对应当前用户uid:gid,cp对应的权限为原有权限和当前用户umask相与(root用户则不存在该问题),cp -p则与原始权限一致。参考[tar的-p参数,论坛提问](http://bbs.youkuaiyun.com/topics/390242081)
  • tar:

原始压缩包的uid:gid为 xdself:sybase

root用户下解压到/home/sybase 文件所属uid:gid保持原始不变
sybase用户下解压,文件所属uid:gid均为当前用户即sybase对应的uid:gid

 

转载于:https://www.cnblogs.com/xdargs/p/5269403.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值