मेरे पास nfs माउंट पर एक निर्देशिका है, जो सर्वर पर है /home/myname/.rubies
रूट इस निर्देशिका तक नहीं पहुँच सकते:
[mitchell.usher@server ~]$ stat /home/mitchell.usher/.rubies
File: `/home/mitchell.usher/.rubies'
Size: 4096 Blocks: 8 IO Block: 32768 directory
Device: 15h/21d Inode: 245910 Links: 3
Access: (0755/drwxr-xr-x) Uid: ( 970/mitchell.usher) Gid: ( 100/ users)
Access: 2016-08-22 15:06:15.000000000 +0000
Modify: 2016-08-22 14:55:00.000000000 +0000
Change: 2016-08-22 14:55:00.000000000 +0000
[mitchell.usher@server ~]$ sudo !!
sudo stat /home/mitchell.usher/.rubies
stat: cannot stat `/home/mitchell.usher/.rubies': Permission denied
मैं उस निर्देशिका के भीतर से कुछ कॉपी करने का प्रयास कर रहा हूं /opt
जिसमें केवल रूट की पहुंच है:
[mitchell.usher@server ~]$ cp .rubies/ruby-2.1.3/ -r /opt
cp: cannot create directory `/opt/ruby-2.1.3': Permission denied
[mitchell.usher@server ~]$ sudo !!
sudo cp .rubies/ruby-2.1.3/ -r /opt
cp: cannot stat `.rubies/ruby-2.1.3/': Permission denied
जाहिर है मैं निम्नलिखित कर सकता हूं (और मैंने जो कुछ समय के लिए किया है):
[mitchell.usher@server ~]$ cp -r .rubies/ruby-2.1.3/ /tmp/
[mitchell.usher@server ~]$ sudo cp -r /tmp/ruby-2.1.3/ /opt/
क्या ऐसा करने का कोई तरीका है जो इसे एक मध्यस्थ कदम के रूप में कॉपी करना या अनुमतियों को बदलना शामिल नहीं करेगा?
cp <file> /tmp/tmpfile
cp -Rp /home/mitchell.usher/.rubies /tmp/templocation; sudo mv /tmp/templocation/ruby-2.1.3 /opt
यह काम नहीं करेगा? यदि नहीं, तो क्यों?