这是我参与 8 月更文挑战的第 5 天,活动详情查看: 8月更文挑战shell
一名致力于在技术道路上的终身学习者、实践者、分享者,一位忙起来又偶尔偷懒的原创博主,一个偶尔无聊又偶尔幽默的少年。数据库
欢迎各位掘友们微信搜索「杰哥的IT之旅」关注!vim
原文连接:Linux环境下帐号和权限管理windows
在Linux系统中,根据系统管理的须要将用户帐号分为不一样的类型,其拥有的权限,担任角色也不一样,主要包括超级用户、普通用户和程序用户。安全
超级用户:root用户是Linux系统中默认的超级用户帐号,相似于windows系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使用root用户登陆系统,平常事务处理建议只使用普通用户帐号。bash
普通用户:普通用户帐号须要由root用户或其余管理员用户建立,拥有的权限受到必定限制,通常只在用户本身的宿主目录中拥有完整权限。微信
程序用户:在安装Linux系统及部分应用程序时,会添加一些特定的低权限用户帐号,这些用户通常不容许登陆到系统,而仅用于维持系统或某个程序的正常运行。markdown
基于某种特定联系将多个用户集合在一块儿,构成一个用户组,用于表示该组内全部用户的帐号称为组帐号。每个用户帐号至少属于一个组,这个组称为该用户的基本组。若该用户同时还包括在其余的组中,这个组称为该用户的附加组。运维
Linux系统中的每个用户帐号都有一个数字形式的身份标记,称为UID,UID做为区分用户的基本数据,原则上每一个用户的UID号应该是惟一的。root用户帐号的UID号为固定值0,而程序用户帐号UID号默认为1 ~ 499,500 ~ 60000的UID号默认分配给普通用户使用。编辑器
与UID相相似,每个组帐号也有一个数字形式的身份标记,称为GID,root组帐号的GID号为固定值0,而程序组帐号的GID号默认为1 ~ 499,500 ~ 60000的GID号默认分配给普通组使用。
与用户帐号相关的配置文件主要有两个,分别是/etc/passwd、/etc/shadow。前者用于保存用户名称、宿主目录、登陆shell等基本信息,后者用于保存用户的密码、帐号有效期等信息。两个配置文件中,每一行对应一个用户帐号,不一样的配置项之间使用冒号“:”进行分隔。
系统中全部用户的帐号基本信息都保存在/etc/passwd文件中,该文件是文本文件,任何用户均可以读取文件中内容。
[root@localhost ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]# tail -1 /etc/passwd
ftpadmin:x:502:503::/home/ftpadmin:/bin/bash
复制代码
在passwd 文件开头的部分,包括超级用户root及各程序用户的帐号信息,系统中新增长的用户帐号信息将保存到passwd文件的末尾。passwd文件的每一行美容中,包含了七个用冒号“:”分隔的配置字段。
第1字段:用户帐号的名称。也是登陆系统时使用的识别名称。
第2字段:通过加密的用户密码字串,或者密码占位符“x”。
第3字段:用户帐号的UID号。
第4字段:所属基本组帐号的GID号。
第5字段:用户全名。
第6字段:宿主目录,即该用户登陆后所在的默认工做目录。
第7字段:登陆shell等信息。
shadow文件被称为“影子文件”,其中保存有各用户帐号的密码信息,所以对shadow文件的访问应该进行严格限制。默认只有root用户可以读取文件中的内容,而不容许直接编辑该文件中的内容。
[root@localhost ~]# head -2 /etc/shadow
root:$1$zvbfAo4p$mg5k7oNqxBxzDyQYd.dB3/:17307:0:99999:7:::
bin:*:15980:0:99999:7:::
[root@localhost ~]# tail -1 /etc/shadow
ftpadmin:$6$xf828o4R$ApMz8RE4mV43E7JAsgr9d63B3jEapVqYBpSc7aPTkvcnL8lRGaJhTP.OVI2pq1kHJRGFdqMIvHpTLQgzGT0El0:17308:0:99999:7:::
复制代码
shadow文件的每一行内容中,包含了九个用冒号“:”分隔的配置字段。
第1字段:用户帐号名称。
第2字段:使用MD5加密的密码字串信息,当为“*”或“!!”时表示此用户不能登陆到系统。若该字段内容为空,则该用户无需密码便可登陆系统。
第3字段:上次修改密码的时间。
第4字段:密码的最短有效天数。默认为0,表示不进行限制。
第5字段:密码的最长有效天数。默认为99999,表示不进行限制。
第6字段:提早多少天警告用户口令将过时,默认为7。
第7字段:在密码过时以后多少天内禁用此用户。
第8字段:帐号失效时间,默认为空号,表示帐号永久可用。
第9字段:保留字段,目前没有特定用途。
在Linux文件系统的安全模型中,为系统中的文件或目录赋予了两个属性:访问权限和文件全部者,简称为“权限”和“归属”。其中,访问权限包括读取、写入、可执行三种基本类型,归属包括属主(拥有该文件的用户帐号)、属组(拥有该文件的组帐号)。Linux系统根据文件或目录的访问权限,归属来对用户访问数据的过程进行控制。
使用带“-l”选项的ls命令时,将以长格式显示出文件或目录的详细信息,其中包括了该文件的权限和归属等参数。
[root@localhost ~]# ls -ld /etc /etc/passwd
drwxr-xr-x. 130 root root 12288 10月 19 16:03 /etc
-rw-r--r-- 1 root root 1876 5月 22 2017 /etc/passwd
复制代码
/etc目录和/etc/passwd文件都属于root用户、root组;而第一个字段的数据表示该文件或目录的访问权限,“drwxr-xr-x”和“-rw-r--r--”权限字段由四部分组成。
第1个字符:表示该文件的类型,能够是d(目录)、b(块设备文件)、c(字符设备文件)、“-”(普通文件)、字母“|”(连接文件)等;
第2~4个字符:表示该文件的属主用户(user)对该文件的访问权限。
第5~7个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限。
第8~10个字符:表示其余任何用户(Other)对该文件的访问权限。
权限字符r、w、x用于文件表示可读、可写、可执行。
r、w、x权限字符可分别表示为八进制数字四、二、1,表示一个权限组合时须要将数字进行累加;例如“rwx”采用累加数字形式表示成“7”,而“rwxr-xr-x”由三个权限段组成,所以表示为“755”。
chmod [ugoa...] [+-=] [rwx] 文件或目录...或者chmod nnn 文件或目录...
“ugoa”表示该权限设置所针对的用户类型。“u”表明文件属主,“g”表明文件属组内的用户,“o”表明其余任何用户,“a”表明全部用户。
“+-=”表示设置权限的操做动做。“+”表明增长相应权限,“-”表明减小相应权限,“=”表明仅设置对应的权限。
“rwx”是权限的字符组合形式,也能够拆分使用;
chmod命令的“-R”选项递归修改指定目录下的全部子项的归属;
chown命令能够只设置属主和属组,也能够同时设置属主、属组。
chown 属主[:[属组]] 文件或目录...
同时设置属主、属组时,用户名和组名之间用冒号“:”进行分隔。若是只设置属组时,需使用“:组名”的形式;
若是只须要设置目录或文件的属主,直接以用户名表示归属便可,递归修改目录归属一样可使用“-R”选项。
Linux环境下安装及管理程序(软件包封装、RPM命令、源代码编译安装的基本过程)
本文完。
原创不易,若是你以为这篇文章对你有点用的话,麻烦你为本文点个赞、评论或转发一下,由于这将是我输出更多优质文章的动力,感谢!
对了,掘友们记得给我点个免费的关注哟!防止你迷路下次就找不到我了。
咱们下期再见!