linux帐号管理

用户的标识码: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

  • -u UID:--uid UID:指定UID,默认是上一个用户UID+1
  • -g GROUP:--gid GROUP:指定用户的基本组,此组必须事先存在
  • -G:--groups GROUP1,GROUP2...,指定用户的附加组,这些组必须事先存在
  • -c COMMENT:--comment COMMENT:添加注释
  • -d:--home HOME_DIR:指定用户家目录,经过复制/etc/skel并重命名实现的,指定的家目录路径若是事先存在,则不会为用户复制环境初始化配置文件(如.bashrc等)
  • -s:--shell SHELL:指定用户默认shell,可用的全部shell列表存储在/etc/shells文件中
  • -r:--system:建立系统用户

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的选项大体相同加密

  • -u UID:--uid UID:修改UID
  • -g GROUP:--gid GROUP:修改用户的基本组,此组必须事先存在
  • -G:--groups GROUP1,GROUP2...,修改用户的附加组,这些组须事先存在。
  • 注意,原来的附加组会被覆盖。
  • 若是只添加不覆盖,则配合使用-a选项。
  • -a:--append:与-G一同使用,添加用户的附加组
  • -c COMMENT:--comment COMMENT:修改注释
  • -d:--home HOME_DIR:修改用户家目录
  • 用户原有的文件不会被转移至新位置。
  • 若是须要转移,则配合使用-m选项。
  • -m:--move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录。
  • -l:--login NEW_LOGIN:修改用户登陆名
  • -s:--shell SHELL:修改用户默认shell
  • -L:--lock:锁定用户的密码,即禁止用户登陆。
  • 其实就是在/etc/passwd文件中用户原来的密码字符串前添加一个“!”,使其不能匹配。
  • -U:--unlock:解锁用户的密码

userdel命令code

userdel -
删除用户帐户和相关文件字符串

  • -r:删除用户时一并删除用户家目录

passwd命令
passwd:不带任何选项:修改当前登陆用户本身的密码
passwd USER:修改指定用户的密码,默认仅root用户有此权限

  • -l:--lock:锁定用户
  • -u:--unlock:解锁用户
  • -d:--delete:清除用户密码
  • -e:--expire DATE:过时期限(日期)
  • -i:--inactive DAYS:非活动期限(时长)
  • -n:--minimum DAYS:密码的最短使用期限
  • -m:--maximum DAYS:密码的最长使用期限
  • -w:--warning DAYS:警告期限

groupadd命令
新建组
groupadd 选项 groupname

  • -g GID:指定GID:默认是上一个组的GID+1
  • -r:建立系统组
    gourpmod命令
    更改用户组属性
    groupmod 选项 groupname
  • -g GID:--gid GID:修改GID
  • -n NEW_NAME,修改组名

groupdel命令
删除组
groupdel 选项 groupname
当某user以某group为主组时,是没法使用groupdel命令删除该group的,但附加组不受影响
gpasswd命令
gpasswd 选项 groupname

  • -a:--add USER:向组中添加用户
  • -d:--delete USER:从组中移除用户
    newgrp GROUP:
    临时切换当前用户的基本组(exit:切换回以前的基本组)
    chage命令
    修改密码的各种过时信息
    chage 选项 USER
  • -d 后面接日期,修改 shadow 第三字段(最近一次更改密码的日期),格式 YYYY-MM-DD
  • -E后面接日期,修改 shadow 第八字段(帐号失效日),格式 YYYY-MM-DD
  • -W后面接天数,修改 shadow 第六字段(密码过时前警告日期)
  • -m后面接天数,修改 shadow 第四字段(密码最短保留天数)
  • -M后面接天数,修改 shadow 第五字段(密码多久须要进行变动)
    chage命令用的很少,由于passwd命令中也能够修改密码的各种过时信息。
    id命令
    id 选项 USER
    id:不带任何选项:显示当前登陆用户本身的信息
  • -u:--user:仅显示UID
  • -r:--real:仅显示实际的ID
  • -g:--group:仅显示用户的基本组ID
  • -G:--groups:仅显示用户所属的全部组的ID
  • -n:--name:显示名称,而非ID
    su命令su 选项 USER登陆式切换:会经过从新读取目标用户的配置文件来从新初始化su - USER或su -l USER非登陆式切换:不会读取目标用户的配置文件进行初始化su USER-c COMMAND:仅以指定用户的身份运行此处指定的命令
相关文章
相关标签/搜索