一、基本概念


1.UID&GID

 linux系统用于标识用户和组的ID号.


2.用户类型

 0根用户: root,拥有系统最高权限.

 1~499系统或服务用户: 是一些系统服务和应用程序创建并使用的账号,

                      仅仅只用于启用服务或应用程序,不能登陆系统.

 500~65535普通用户: 拥有较低的权限,只是访问或执行少量文件.


3.UUID

 通用唯一识别码.主要用于标识硬件设备.

 #blkid  


4.用户主目录

 用户根目录,也称为用户家目录.

 linux每一个用户都会有一个用户主目录,用于单独存放这个用户的一些配置文件.

 相当于windows的C:\Documents and Settings\username目录.


 root的用户主目录在/root,普通用户的用户主目录在/home/username.


5.用户邮箱

 /var/spool/username

 系统会为每一个用户创建一个邮箱,系统会定期发送信息到用户邮箱.



二.linux用户管理


1.用户配置文件

 /etc/passwd  存放用户信息  如:用户名\UID\主目录\描述\主目录等

  root:x:0:0:root:/root:/bin/bash

  用户名:密码(永远为x):UID:GID:描述:用户主目录:shell


 /etc/shadows 存储用户密码,及密码相关策略  如:密码\过期时间\宽限时间等等

 用户名:密码MD5:::::::



2.创建用户

 #useradd [option] [username]


example1:使用useradd命令创建用户

#useradd yinhe4

#grep yinhe4 /etc/passwd /etc/shadow /etc/group

#ll /home

#ll /var/spool/mail

#ls -a /home/yinhe4


结论:在linux系统中任何一个用户都有以下几个特性

a.这个用户的信息会记录在/etc/passwd配置文件中

b.这个用户的密码会记录在/etc/shadow配置文件中

c.创建一个用户的时候系统会自动创建一个和用户名相同GID相同的组,存放于/etc/group配置文件中.

 一般情况下,UID号和GID号相同.这个组称为这个用户的私有组.

d.创建一个用户时系统会自动创建一个用户根目录,默认在/home/username

e.任何一个用户都有其脚本文件存放在于用户根目录下.  .bash_history  ..

f.系统默认会为每一个用户创建一个邮箱账号,存放于/var/spool/mail/username目录下



example2:使用带参数的useradd命令创建用户

#useradd -u 888 -g root -G bin -d /home/test -m  yinhe5

#grep yinhe5 /etc/passwd /etc/shadow /etc/group

#groups yinhe5

#cd /root


结论:

a.使用useradd带参数创建用户时可以指定用户的默认设置

b.一个用户可以同时属于多个组.当一个用户属于多个组的时候,

 用户只能有一个私有组(初始组)和多个附属组.

c.groups命令可以查看用户的所属组信息

d.如果yinhe5被分配到root组就会拥有root组权限


example3:使用vim修改/etc/passwd和/etc/shadow配置文件来创建用户

#vim -o /etc/passwd /etc/shadow


结论:

a.可以通过vim编辑修改和用户相关的2个配置文件来创建用户.

b.修改/etc/passwd和/etc/shadow文件时注意书写格式,如果错误用户将创建失败!




3.用户密码

#passwd [option] [username]


example4:创建用户密码

#passwd             --为当前用户设置密码

#passwd yinhe4      --为指定用户设置密码

$passwd

$passwd root  


结论:

a.root用户可以为任何人设置密码,不需要遵守强口令策略.

b.普通用户只能为自己配置密码,并且必须是强口令.



example:锁定和解锁用户

方法一:使用VIM编辑/etc/passwd

     锁定时只需要把密码字段最前面添加!或*号;

     解锁时去掉!或*号.

方法二:#passwd -l yinhe

      #passwd -u yinhe



4.其它用户管理操作


切换用户:   #su - [username]

使用root账号登陆系统,执行以下操作:

#su yinhe

$su yinhe4

$su - root



删除用户:   #userdel -r [username]

#userdel yinhe4

#grep yinhe4 /etc/passwd /etc/shadow

#su yinhe4

#ls /home

#userdel -r yinhe3



查看用户详细信息:  #id [username]  



修改用户信息:

#id hubert

#usermod -u 8888 -l hubert2 -G bin hubert

#id hubert2



三.linux组管理


1.组配置文件

 /etc/group     存储组信息  如:组名\组密码\GID\组内用户等

 /etc/gshadow   存储组密码  如:组名\组密码\组管理账号\组内用户等等


2.组的管理操作

 创建组:  #groupadd [-g gid] [groupname]

 删除组:  #groupdel -r [groupname]

 组密码:  #gpasswd

 修改组属性: #groupmod [-g gid] [-n groupname] [groupname]


 example:组密码的作用


3.修改文件所有者和所属组

 #chown [username:groupname] [filename|dirname]

 #chgrp [groupname] [filename|dirname]


example:修改文件所有者和所属组

#touch test

#useradd yinhe6

#cp test /tmp/test

#cd /tmp

#su yinhe6

$cat test

$ll tset   --可以查看文件内容的.因为文件权限是rw-r--r--

$vim test  --因为没有w写权限,所以无法编辑文件内容

$exit

#chown yinhe6:yinhe6 tset

#su yinhe6

#vim test   --这时文件所有者和所属组为yinhe6,所以可以读写文件内容了.