linux nas解决方案_畅快玩转NAS 篇一:Linux权限简单讲解

畅快玩转NAS 篇一:Linux权限简单讲解

2020-01-22 19:02:28

35点赞

189收藏

8评论

你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最新一届#装机大师赛#开始啦!本次装机阵营赛分为3A红组、intel NVIDIA蓝绿组、混搭组还有ITX组,实体or虚拟装机都能参与,可使用值得买定制化DIY装机工具在文中展现配置单!每个小组均有精美礼品,优秀文章还可角逐装机大师终极大奖,点击参与<<<

在上一篇文章中,我简单的介绍了一些常用的Linux命令。当你熟悉这些命令之后,对于非专业的普通家庭用户来说是足够折腾NAS了,你还可以去折腾VPS

在使用NAS的过程中,搞懂Linux的权限对于使用NAS是比较关键的。权限设置不正确,会导致文件因缺少权限无法被访问删除,明明是按照之前的参数设置docker,但是容器又无法正常运行。畅快玩转NAS ,常用Linux命令介绍相信大家对于Linux多少有所耳闻,虽然windows在桌面领域占据了绝对的霸主地位,但是在服务器领域却是Liunx占据优势。造汽车不可能再去发明轮子,即使是如谷歌一般强大的公司,也不可能从零开始自己写一个操作系统,安卓正是基于Linux进行开发的。目前常见的NAS系统,群晖、威联通、OpenMedBlue_Kitty|赞70评论29收藏591查看详情

所以本教程应运而生,主要是面对没有Linux基础的用户。通过细读本文之后,让你对Liunx权限有基本的了解,可以解决NAS使用中碰到权限问题

讲解权限首先要从用户开始讲起,每个用户都有自己所属的组,一个用户可以属于多个组。

用户root所属的组是root,li所属的组是users

在默认的情况下,当你新建一个用户的时候,会自动创建一个和用户名相同的组。比如新建了一个用户zhang,他所属的组也是zhang。

但是每个NAS系统的情况不同,具体情况具体分析。OMV在网页管理界面下新建用户会默认添加到users组。

Linux的权限识别一共有10位数,第一位是判断目录还是文件,d是目录,-是文件。之后每3位分别为所属用户、所属组、其他用户的权限。rwx分别是r(read)可读、w(write)可写、x(execute)可执行。

需要注意的是,文件本身的写(w)权限并不能删除文件,文件能否删除是由上级目录的写(w)权限决定的,目录的执行(x)权限决定用户是否可以进入该目录。

在命令行输入ls -l之后,会看到文件权限的情况

拿bb.log来说,第一位-说明它是个文件,rw-则表示该文件的所有者具有可读可写的权限,之后的r--则是说明该文件所属组的用户及其他用户都只拥有可读权限。第一个root是说明文件的所有者是用户root,第二个root则是指该文件的所属组是root。

done的第一位为d,说明done是个文件夹。由于所有人都拥有执行权限,所以任何用户都可以进入该文件夹。值得注意的是,done这里的所属组是users,那么属于users组的用户li,也同样获得r-w权限。这里说明文件的所属组并不需要和文件所有者是同一个组,也可以是同的组。

更改文件权限的命令是 chmod ,一共有数字和符号两种方法

我们可以使用数字来代表各个权限,各权限的数字对照为 r:4、w:2、x:1

那么代表rwx权限的数字就为7(4+2+1),r-x则为5(4+1),以此类推。比较无脑解决权限问题的办法就是chmod 777,把最大权限给予所有用户。

bb.log赋予777权限

755权限为user拥有rwx权限,group和other拥有r-x权限

要使目录下的文件也拥有和目录一样的权限则需要添加选项 -R

之前提过,9个权限分为3个身份,分别是user、group、other,可以缩写成u(user) ,g(group) ,o(other),a(all)则可以表示上述所有用户。+ 表示增加权限、- 表示取消权限、=表示设置权限。

如果要设置bb.log的权限user为rwx,group 与 others (go)为r-x,那么可以写成

chmod u=rwx,go=rxbb.log

为group添加w权限:chmod g+wbb.log

和上面相比,group多了w权限

为所有人添加w权限:chmod a+w bb.log

为所有用户添加w权限后,other也增加了w权限

chown可以用来修改文件目录的所有者和所属组,如果要同时修改目录下的其他文件和目录也是要添加-R

把bb.log的所有者更改为li:chown libb.log

bb.log的所有者变成了li

同时更改所有者和所属组:chown li:users bb.log

root组变成了users组

输入id 用户名会得到uid和gid,uid和gid可以代替用户名和组名

用户li的uid为1000、gid为100

chown 1000:100 done 和chown li:users done 这两条命令结果是一样的,root用户的uid为0

done的用户和组从root变成了li 和users

Docker里面常见的PUID和PGID也正是uid和gid,通过设置PUID和PGID就可以指定docker容器的运行用户

指定uid、gid为1000的用户运行容器

在NAS的日常使用中,有时候无法删除文件,无法进入某个文件夹,这些都是权限不足导致的。权限不出错的最好办法是确保用户一致。

缺少访问权限

用户zhang被用来运行qbittorrent下载文件到Download,那么也请使用zhang在SMB登陆对Download进行访问及文件管理。如果不指定qbittorrent运行用户的话,有可能默认就会以root或者其他用户运行,这时候qbittorrent下载的文件所有者就是root或者其他用户,如果使用zhang删除文件的时候很可能权限不足,导致无法删除。

大家喜欢用docker运行nextcloud搭建私人网盘。但是迁移的时候非常容易出错,即使你和之前的参数设置一模一样也无法运行。这其实也是文件权限错误导致的。对于权限要求严格的应用,先确定使用者比更改权限更重要。

因为nextcloud对于权限有严格要求,其他应用可能无脑使用chmod 777就解决问题了。这时候就要先明确你需要用什么用户运行nextcloud,而不是盲目的去添加权限。比如说你需要用zhang来运行,那么就需要使用chown -R命令把nextcloud目录下全部文件的所有者都改成zhang,再用docker指定zhang运行nextcloud,这时候就权限就不会出错了。

码字不易,如果觉得本文对你有帮助,收藏的同时顺手点个赞,谢谢

之前好几篇文章的点赞数都不到收藏的十分一

能帮助到更多的人是我写这些文章的初衷

有疑问的留言我会尽量回复。

你可能感兴趣的:(linux,nas解决方案)