首页
登录 | 注册

Linux用户、用户组权限管理详解 --- 01

Linux用户、用户组权限管理详解 --- 01

  1. Linux用户管理三个重要文件详解:

Linux登陆需要用户名、密码。/etc/passwd 文件保存用户名。登录Linux时,Linux 先查找 /etc/passwd 文件中是否有这个用户名,没有则跳出,有则读取用户名的user ID 、 group ID 、用户名对应的根目录路径以及所使用的 shell ,最后在 /etc/shadow 中核对该 UID 对应的 PWD 是否正确,正确则登录到该用户的 shell。


1.1 /etc/passwd详解:

cat /etc/passwd

帐号名:用户名称,root 是系统默认最高管理员用户。
密码:由于密码保存在 /etc/shadow 文件,所以这里用 “x” 表示,如果没有设置口令,则该项为空。
用户ID:系统内部用户的唯一标识ID,其中用户 ID 有以下几种:
0 代表系统管理员,如果想建立一个系统管理员,可以先建立一个普通帐户,再将其用户ID改为 0 。
1-500 系统预留 ID,500 以上是普通用户 ID。
ID:用户组标识 ID ,/etc/group 有关。
描述信息:帐号的描述。
用户根目录:用户登录起始目录,登录系统后首先进入此目录。root 用户默认是 /root,普通用户则是 /home/用户名。
用户登录shell:用户登录系统后使用的 shell。


1.2 /etc/shadow详解:

早期的 unix 系统,用户帐号、密码都保存在 passwd ,即使密码以密文方式保存在 passwd 中,但 passwd 文件对所有用户可读,存在安全隐患。现在 Linux 使用“shadow”保存密码的密文,使用passwd文件保存用户帐号信息。“shadow” 文件只有管理员用户才可以访问。

cat /etc/shadow | tail -4

帐户名称:用户名称,和 passwd 的意思相同。

密码: 用户密码的密文。

密码栏的第一个字符为 “*” 表示这个用户不能登录,如果不想让此用户登录,在他前面加个“*” ;

第一个字符为“!”,则表示该用户被禁用,新创建的用户还没密码时就是禁用状态,使用“!!”表示;

第一个字符为“空”,表示用户没有密码,登录时不需要密码。

上次改动密码的日期:密码的最后更改日期,为什么是 15181 ?因为 Linux 计算日期是以1970年1月1日作为1,1971年1月1日就是366,因此推导我修改密码的日期表示为 15181。
密码不可被改动的天数:表示多久后才可以改密码。“0” 表示可以随时更改。
密码需要重新更改天数:必须在这个时间内更新密码,否则帐号将会暂时失效。99999,表示密码不需要更新。
密码变更期期限快到前的警告期:帐号密码失效期限快到时,系统依照这个字段设定,发出警告,提醒用户密码将过期请更新密码,默认是 7。
帐号失效期:如果过了警告期没有更新密码,使得密码失效,并且用户在这个字段限定的时间内没有向管理员报告,让帐号重新激活,这个用户将暂时失效。
帐号取消日期:这个字段也使用1970年以来的日期计算方法,表示用户在此字段规定的时间之后将无法再使用。
保留:保留字段


1.3 /etc/group 详解:


从第一行开始分析,一共有四项,依次为:
组名称:用户组名称了。
组密码:一般不需设定,很少使用群组登录。但这个密码也保存在 /etc/shadow 中。
组ID用户组ID了
支持帐号的名称:这个群组的所有帐号。如果你想让david用户属于root这个群组,在第一行最后加上 “,davidi” 注意添加的时候没有空格。







相关文章

  • 4.Linux java安装教程详解: http://www.oracle.com/technetwork/java/javase/downloads/index.html 4.1.下载jdk-8u102-linux-i586.tar.gz ...
  • 《循序渐进Linux》第二版即将出版发行(附封面)
    从<循序渐进Linux>第一版发布,到现在已经近6年了,6年的时间,技术发生了很大的变化,Linux系统的内核版本从2.6.9(RHEL4.x)已经更新到了现在的3.10(Centos7.x),第一版中的部分内容已经陈旧,Lin ...
  • 再谈如何学习Linux,一线Linux专家学习经验谈
    记得最早接触linux是在2000年,那个时候,还在上大学,一个同学从荷兰回来,带回来了一个Linux的拷贝版,记得版本还是Redhat6.2.曾经为安装一个系统让我们忘记疲劳,挑灯夜战,不亦乐乎.那时Linux的学习资料还很少,能够学习的 ...
  • BCC – 用于Linux性能监视,网络和更多的动态跟踪工具
    BCC(BPF编译器集合 )是用于创建足智多谋内核跟踪和操作程序一套功能强大的适当的工具和示例文件. 它采用扩展BPF( Berkeley包过滤器 ),最初被称为eBPF这是在Linux的3.15的新功能之一. BCC / BPF – 用于 ...
  • 如何在 Linux 中安装并使用 PuTTY
    在 Linux 中安装 PuTTY $ sudo pacman -S putty $ sudo apt install putty 在安装完 PuTTY 之后,你可以在菜单或启动器中打开它.如果你想用终端打开它,也是可以的: PuTTY 的 ...
  • 微信公众号中看到的一篇文章,挺全的,想要走架构师这条路的程序员可以作为参考学习计划,个人感觉深度有余,广度不足. Java架构师主要需要做哪些工作呢? 1.负责设计和搭建软件系统架构(平台.数据库.接口和应用架构等),解决开发中各种系统架构 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.014 s.
苏ICP备12049786号-20