[实践OK]scp某个非root非目录用户的新加用户想拷贝某个用户下的文件出现权限不够时怎么办?

jackxiang 2016-4-20 17:38 | |
背景:我想从一台远程机器上的一个用户上的文件拷贝到我的机器上来,可我不想用root拷贝,想新增加一个用户来拷贝,如何实现无 Permission denied,拷贝过来呢?
现象:权限不够,(如下:test这个目录是我加的一个test用户生成的)
/home/test/rpmbuild/RPMS/x86_64 这个我想scp下面的rpm包,我不是root,怎么样能实现拷贝?
[root@localhost x86_64]# scp rpm@192.168.101.***:/home/test/rpmbuild/RPMS/x86_64/mysql-5.7.12-160420134244.el6.x86_64.rpm /data/www/yum/centos/6/x86_64
rpm@192.168.101.227's password:    Permission denied
问题:test是我建立的一个test用户。假如test用户的密码我忘记了(我用root修改了下test的密码,再用test用户拷贝没有问题,正常),但我有root。
试图:我还是想用rpm这个专有用户来拷贝。
权限:
[root@localhost ~]# ls -l /home/ |grep test
drwx------. 3 test          test          4096 Mar 18 19:18 test
rpm用户进不了这个目录
办法: rpm的用户组改成 test
id test
uid=539(test) gid=539(test) groups=539(test)
xiangjiwu - IEG(33757)  17:11:42
usermod -G test,rpm rpm

rpm的用户组改成 test,实践如下:
[root@localhost x86_64]# id test
uid=539(test) gid=539(test) groups=539(test)
[root@localhost x86_64]# usermod -G test,rpm rpm
[root@localhost x86_64]# id rpm
uid=540(rpm) gid=540(rpm) groups=540(rpm),539(test)
不做下面的权限,也是一样会报权限错误的: Permission denied
chown -R test:rpm /home/test  //给test目录递归上rpm组,下面这一步也不可缺少。
chmod -R 750 /home/test   //用户7,属组5(4+1),读取+执行。
修改后权限如下:
[root@localhost x86_64]# ls -l /home/ |grep test
drwxr-x---. 3 test          rpm           4096 Mar 18 19:18 test

再拷贝,也就成功了:


总结:三个步骤实现,一个不能少,一个是入组,一个是给目录加上组的可读权限:


最后,感谢PHPers@南极里的xiangjiwu - IEG兄弟,Thanks~

斧正:
xiangjiwu - IEG(337**)  17:41:32
rpm用户加到test组了, 那 /home/test就不用改组,直接chmod -R 750 /home/test 就行了。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/8648/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2016-4-20 17:44
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]