用户的标识码:UID和GID
登陆linux的时候输入的是帐号,可是电脑仅认识0 与1,因此每一个用户
都有一组ID。
由于每一个文件都有它的全部者和全部组,因此每一个用户至少有两个ID
分别是UID和GID。
文件就是利用UID和GID来判断它的全部者和全部组的,系统会根据/etc/passwd 与/etc/group 的内容, 找到UID / GID 对应的全部者与全部组名称再显示出来
用户帐号
用户是经过电脑前tty1~tty6 的终端提供的登录界面而后输入密码登陆的
输入密码后系统会:
先找/etc/passwd 文件里是否有你输入的账号?若是没有则跳出,若是有的话就将该账号对应的 UID 与GID (在/etc/group 中) 读出来,另外,该账号的家目录与shell 设置也一并读出;
接着就是核对密码表了,这时Linux 会进入/etc/shadow 里面找出对应的账号与 UID,而后核对一下你刚刚输入的密码与文件里的密码是否相符?
若是一切都正确的话,就进入Shell 控管的阶段.
/etc/passwd 文件的结构
每一行都表明一个账号,有几行就表明有几个账号在你的系统中。不过须要特别注意的是里面不少账号原本就是系统正常运做所必需要的,咱们能够简称他为系统账号,例如bin, daemon, adm, nobody等等,这些账号请不要随便删掉他。
文件内容是这样的:linux
[root@localhost ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync
以:分隔;
帐号名称:用户登录的名称;
密码:由于这个文件全部程序均可以读取,容易形成密码被窃,后面移到了/etc/shadow文件中,因此只能看到一个x;
UID :0管理员 1~999系统帐号 1000~60000普通帐号
GID:与/etc/group有关,/etc/passwd 与/etc/passwd相似,用来规范组名称和GID;
用户信息说明:描述用户的信息
家目录: root的家目录在/root,普通用户的家目录在/home/username
Shell:当登入用户登陆系统后就会取得一个Shell来与系统的核心沟通以进行使用者的操做任务
/etc/shadow文件结构
由于/etc/passwd这个文件全部程序均可以读取,容易形成密码被窃,后面移到了/etc/shadow文件中, 并且还加入不少的密码限制参数在/etc/shadow 里面,
/etc/shadow 文件是这样的:shell
[root@localhost ~]# cat /etc/shadow root:$6$Ej2yxmxbBnXiOduv$isb7LBGtOl9ezWF7Wv2JI6AW3BGLqnqL.MxjG72tC35fJN95AVK.cfqpItexMhRQ3HUbfb1rkzBao619f4iXb.::0:99999:7::: bin:$6$/sM9Hxri$R5XShyU8gDAup6NrIwcSBgvFtxc/ctSlMa5YcjgVuVVzNCbmIY34yFpKV5idfcke8N1JYKCAUckwG/zOSEwEb0:18115:0:99999:7::: daemon:*:17834:0:99999:7::: adm:*:17834:0:99999:7::: lp:*:17834:0:99999:7::: sync:*:17834:0:99999:7::: shutdown:*:17834:0:99999:7:::
以:分隔;
帐号名称:用户登录的名称;
密码 :通过编码加密的密码 密文;
最近更改密码的日期 :1970-1-1开始累加到今天的天数;
密码不可被改动的天数 : 列如设置的天数为3,那么今天改了密码,3天以内都不能够更改;
密码须要从新更改的天数:列如设置的天数为42天,那么必须在42天以内从新设置密码,若是不设置的话这个帐号的密码将会过时。 99999至关于永久不过时;
密码须要更改期限前的警告天数 :例如设置为7天,那么就会在密码须要从新更改天数期限的前7天提醒你修改密码;
密码过时后的帐号宽限时间:过了密码从新修改的天数后宽限的天数,在宽限时间内密码会过时,从新登陆会强制你修改密码,若是超过宽限时间密码就会失效
帐号失效日 在这个规定的日期以后帐号将没法使用;
保留 bash
Linux用户和组管理命令
用户管理:useradd,usermod,userdel
组管理:groupadd,groupmod,groupdel
密码管理:passwd,gpasswd
其它相关命令:newgrp,chage,id,suapp
useradd命令
新建用户或修改新建用户时的默认属性
useradd 选项 名字ide
useradd -D :显示建立时的默认配置属性
GROUP:是否建立用户私有组,默认100,是
HOME:家目录起始位置,默认/home
INACTIVE:密码过时到用户注销的时间,默认-1,不注销
EXPIRE:空
SHELL:默认shell,默认为/bin/bash
SKEL:从哪里复制用户家目录信息,默认/etc/skel
CREATE_MAIL_SPOOL:是否建立邮件目录,默认yes,(在/var/spool/mail/)ui
useradd -D 显示的内容:编码
[root@localhost ~]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
usermod命令
usermod修改用户属性
与useradd的选项大体相同加密
userdel命令code
userdel -
删除用户帐户和相关文件字符串
passwd命令
passwd:不带任何选项:修改当前登陆用户本身的密码
passwd USER:修改指定用户的密码,默认仅root用户有此权限
groupadd命令
新建组
groupadd 选项 groupname
groupdel命令
删除组
groupdel 选项 groupname
当某user以某group为主组时,是没法使用groupdel命令删除该group的,但附加组不受影响
gpasswd命令
gpasswd 选项 groupname