用户:Linux系统的使用者
管理员(root)
系统用户
普通用户
用户组:一对一,一对多,多对一,多对多
这里提出一个问题,为什么需要对用户管理和分不同的用户
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。其实说白了就是Linux系统不是通过用户名来识别用户的,而是因为不同的用户在Linux中是不同的UID号,而对于像公司里面的话,经常是多个人共用一个Linux服务器,而一般而且不同的部门都只能访问各自部门的文件和拥有对应的权限,所以又有一个组的概念,不同的组就是不同的GID号。
三个核心文件
/etc/passwd:
用户名:密码(x):UID:GID,用户信息说明栏:用户目录:Shell
UID:
管理员(root):具有系统的所有权限
系统用户:管理系统运行服务(UID编号从1~999)
普通用户:具有系统一部分运行权限(UID编号一般为1000以上)
/etc/shadow
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段(难怪以前windows在实习的时候,提醒我改密码)
/etc/group:
组名:群组密码:GID(x):此群组支持的账号名称
下面以我的Ubuntu系统为例子:
登录界面
etc/passwd文件如下:包括有管理用户root和系统用户以及我自己的普通用户liaohaijin,对应密码和UID和GID号
/etc/shadow:存放密码的一个文件,这里密码是加密显示了,具体是怎么加密和该如何查看我也不知道,欢迎大家告诉我
/etc/group:用户组,默认不输入的话,这里其实就是和UID一样,GID也是1000
这里那就再提一下命令行的组成
liaohaijin:当前操作用户
liaohaijin-vm:代表主机名
~:当前目录名
$:代表不是root用户,root用户是#
为什么要有root用户
我们使用Ubuntu主要是用来做嵌入式开发,不是Linux运维,没有必要对root用户过于敏感,系统的权限都要为我们嵌入式开发人员打开
启用root用户的步骤
使用sudo passwd,然后输入密码,这个是root用户的密码,要8位,下图是因为我已经设置过
然后使用su root,su命令就是切换用户的命令,然后输入root的密码
退出root用户
使用exit命令