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

2020-01-22 19:02:28 19点赞 141收藏 5评论

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

     

    在使用NAS的过程中,搞懂Linux的权限对于使用NAS是比较关键的。权限设置不正确,会导致文件因缺少权限无法被访问删除,明明是按照之前的参数设置docker,但是容器又无法正常运行。 

畅快玩转NAS ,常用Linux命令介绍相信大家对于Linux多少有所耳闻,虽然windows在桌面领域占据了绝对的霸主地位,但是在服务器领域却是Liunx占据优势。造汽车不可能再去发明轮子,即使是如谷歌一般强大的公司,也不可能从零开始自己写一个操作系统,安卓正是基于Linux进行开发的。目前常见的NAS系统,群晖、威联通、OpenMedBlue_Kitty| 91 评论37 收藏800查看详情

 

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

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

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

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

Linux权限简单讲解

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

Linux权限简单讲解


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

Linux权限简单讲解

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

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

Linux权限简单讲解

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

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

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

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

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

bb.log赋予777权限bb.log赋予777权限


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

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

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

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

    chmod  u=rwx,go=rx bb.log

Linux权限简单讲解

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

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

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

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


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

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

bb.log的所有者变成了libb.log的所有者变成了li

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

root组变成了users组root组变成了users组

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

用户li的uid为1000、gid为100用户li的uid为1000、gid为100

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

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

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

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

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

缺少访问权限缺少访问权限

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

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

Linux权限简单讲解

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

    码字不易,如果觉得本文对你有帮助,收藏的同时手点个赞,谢谢Linux权限简单讲解 之前好几篇文章的点赞数都不到收藏的十分一Linux权限简单讲解能帮助到更多的人是我写这些文章的初衷 Linux权限简单讲解 有疑问的留言我会尽量回复。


展开 收起

Microsoft 微软 Office 365 个人版 1年订阅

Microsoft 微软 Office 365 个人版 1年订阅

229元起

《Nebo》触屏笔记类软件 Windows版

《Nebo》触屏笔记类软件 Windows版

暂无报价

《Cardiograph(心电图仪)》iOS应用软件

《Cardiograph(心电图仪)》iOS应用软件

暂无报价

Day One(日记+笔记)

Day One(日记+笔记)

暂无报价

《CanOpener(耳机音质调试)》iOS应用软件

《CanOpener(耳机音质调试)》iOS应用软件

暂无报价
5评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
141
扫一下,分享更方便,购买更轻松