动机
项目需要一些高空间分辨率的DEM数据,空间分辨率12.5m,相对于Sentinel-2等数据,也达到了亚像元级,因此可以用来梯田等信息的提取。国内下载速度较慢,总是中断服务(可能是我的网不好,我蹭邻居的),因此我想着通过云服务器下载,然后从云服务上倒腾回来,中间遇到Xftp无法登录root用户,只能登录ubuntu默认用户;这样将导致Xshell的root用户调用python下载的数据无法通过Xftp下载;之后我探索使用root用户登录Xftp,总是出现以下截图,我没有解决了,然后我就将文件夹的权限设置为所有用户都能下载,这样即使使用ubuntu用户(非管理员)登录,也可以下载root用户下载的数据(管理员),作为笔记,我记录在此博客里,后买使用直接来找代码。
提示:以下是本篇文章正文内容,案例可供参考
正文
1.查看文件夹的权限信息
ls -ld root
> 查看文件的权限信息:ls -l 文件名称
> 查看文件夹的权限信息:ls -ld 文件夹
2.修改权限文件夹权限
修改权限前
sudo chmod 777 root/
ls -l root/
授权格式:sudo chmod 授权编号 文件名或文件夹名
例如:sudo chmod 777 root
此外常用授权方法有:
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
以上方法行不通,依然无法下载,因为此操作只是修改了文件夹的权限。需要进一步修改内部文件的权限。
// 此处我换了一个文件夹,文件夹为 1363989042
sudo chmod -R 777 1363989042
运行完代码后,ubuntu用户也获得了下载的权限,就可以使用Xftp下载了。
授权说明:
sudo chmod -(-cfvR-代表类型)×××(所有者)×××(组用户)×××(其他用户)
授权类型:
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
例如:sudo chmod -R 777 1363989042,递归1363989042文件夹下的每个文件及子文件夹设置权限为777(每个人都有读和写以及执行的权限)
授权权限:
三位数的每一位都表示一个用户类型的权限设置。取值是0~7,即二进制的[000]~[111],这个三位的二进制数的每一位分别表示读、写、执行权限
0 [000] 无任何权限
4 [100] 只读权限
6 [110] 读写权限
7 [111] 读写执行权限
再之后,就可以从云服务器上,通过ubuntu用户,下载自己的文件了(root管理员下载的)。
结语
博文内容不多,但是解决了一个小问题,希望对大家有用,我的Ubuntu相关内容,也都是在一个一个问题解决中,越来越熟悉的。在实际中面向问题 的学习,可能会让自己学的更加快且更加的有信心,一起加油。
引用
这篇文章给我的帮助最大:
Ubuntu开发之——将文件夹下的所有文件及文件夹授权
附录:Ubuntu最最常用命令行
cd /home 进入 ‘/ home’ 目录’
cd … 返回上一级目录
cd 绝对目录名 进入个人的主目录
cd ~ 进入主目录
pwd 显示工作路径
ls 查看目录中的文件
ls -l 显示文件和目录的详细资料
lstree 显示文件和目录由根目录开始的树形结构
mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
mkdir dir1 dir2 同时创建两个目录
sudo su 进入管理员权限
sudo passwd root 修改root密码
sudo chmod -R 777 文件名 将文件及子文件设置所有人权限