分发无权限文件

利用root用户远程登录(一般ssh出于安全考虑,它的配置文件都会配置不允许root远程登录)

分发到家目录

scp demo.txt /home/vagrant

赋予用户cp权限

visudo修改
在最后添加:(赋予vagrant用户cp的权限)
vagrant    ALL=(ALL)       NOPASSWD: /bin/cp

查看sudo列表中是否有cp命令

visudo -c(检查语法)
sudo -l

远程sudo的方法

1.注释Defaults requiretty,允许远程执行sudo(会存在安全隐患)
    # Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
    #         You have to run "ssh -t hostname sudo <cmd>".
    #
    Defaults requiretty

2.利用ssh的-t选项
    ssh -t vagrant@172.16.17.11 sudo /bin/cp /home/vagrant/test.txt /root/test.txt

设置suid对固定命令提权,利用rsync(安全相对较差,任何拥有suid权限命令的人都能执行rsync)

chmod 4755 `which rsync`
rsync /home/vagrant/test.txt /root/test.txt
坚持原创技术分享,您的支持将鼓励我继续创作!