一、基本概念
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,所以可以读写文件内容了.