Hello大家好,今天是每天五分钟学习Linux第五次更新,错过之前更新的童鞋可以关注我们的头条号后点进去往前翻看。
这里我们不会说太多理论的东西,我们讨论到的知识点都是多年来我们实际工作中要经常用到的,今天的五分钟主题是“用户及文件权限管理”,这这是日常开发及运维过程中必须要用到的东西。
用户及组的管理
这里就说最常用的,日常工作中关于用户和组管理,95%以上的时间只用到这几个命令,图形界面的管理我们就不说了,大家一看就懂,并且Linux服务器一般是不会装图形界面的。
先关注一个我们日常容易忽略的细节,大家可能都知道/etc/passwd这个文件,但有个文件很多人没有关注到/etc/login.defs, 这里会告诉我们一些信息,大家注意到了没有CentOS7的系统用户uid范围跟Centos6已经不一样了,扩大到999,原来是小于500的。
这里告诉我们普通用户和系统用户他们的uid和gid的分布规律,当你查看到一个用户的uid是多少的时候,你大概就知道这个用户是系统用户还是普通用户。
- 查看uid和gid
$ id //查看自己的uid和gid# id chrony //查看chrony的uid和gid
- 建用户和组
useradd jane //建一个普通用户名字叫jane她的家目录在默认的/home/jane里面useradd -d /opt/annie annie //建用户的同时指定家目录为/opt/anniepasswd jane //给jane设定密码useradd -g root -G postfix,games -d /opt/tony tony//建一个普通用户tony指定默认组为root, 附加组为postfix和gamesuseradd -r -g root -G postfix,games -d /opt/simon simon//建一个系统用户simon指定默认组为root, 附加组为postfix和game, 那么他的uid会小于1000
- 建组
groupadd devgroup1 //建立普通组,gid必定大于1000groupadd -r mgt //建立系统组,gid会小于1000
组的信息存储在/etc/group里面,大家可以随时查看cat /etc/group
- 将用户加入组
usermod -g devgroup1 annie //annie加入devgroup1组usermod -G devgroup1,games,users byron //byron加入三个组devgroup1,games,users
基本上日常工作常用的就是这些。
文件权限管理
改变文件访问权限的方法非常简单就是一个chmod命令,但是说它之前我们先搞清楚一件很多人都疑惑的事情,我们经常使用 chmod 755 file1 来给文件改权限,这个命令中的755到底是什么意思?工作中很多人问过我这个问题,我们就先说一下它吧,看图:
从图中看出来了,7 5 5 =>转换为八进制为 111 101 101 =>转换为自然语言为 rwx r-x r-x,r代表read可读, w代表write可写, x代表executable可执行,1代表“可”,0代表“不可”,所以顺理成章的 “1 1 1”代表“可 可 可”,可什么呢?“可读 可写 可执行”;1 0 1代表“可 不可 可” 就是 “可读 不可写 可执行”, 所以755全部意思是这个文件file1它的owner“可读可写可执行”,跟owner同一个组的成员“可读不可写可执行”,其他人也是“可读不可写可执行”。大家思考一下644是什么意思?想通了这个点以后对权限控制就不会再有疑惑了。
好,上面这种通过数字来设定文件权限的方法作为一种快速的权限设定方法,它假定你能够在二进制和十进制之间能快速换算,但是如果你不愿意费这个脑子,还是有稍微啰嗦一些的方法可以替换的,下面这个方法稍微啰嗦一点但是比较直观,适合入门童鞋:
chmod u=rwx,g=rx,o=rx file1
这个命令很直观,大家一看就懂,等同于
chmod 755 file1
好,看看时间5分钟内容差不多了,希望你能get到一些东西,下一节我们将详细介绍Linux系统的ACL, 访问控制列表。我们会每一两天更新这个五分钟学习系列的不同内容到头条号上面来,由浅到深,喜欢的朋友可以点击关注我们的头条号,以便每天在地铁里公车上花五分钟时间获得一些日常工作中会经常用到的东西。也可以在工作中需要用到时随时随地查看参考。今天就到这里,下节再见。