1 用户类型
按照账户创建方式划分:内建账户,有系统或程序自行建立的账户;自定义账户,管理员或特权人员手工建立
按权限分类:特权账户,有对系统或程序控制的权限;普通账户,仅拥有系统授权或特权账户授权的权限;匿名账户,最小账户拥有最小的权限。
2 用户管理
2.1 查看当前系统账户信息
1)/etc/passwd 记录系统内所有账户的信息。文件使用六个冒号“:”将每一行都分成7个区域:
区域1 账户名,可用字符,区分大小写,必须唯一,最好在8个字符内
区域2 账户密码,全是x,因为加密了。系统账户密码存储在/etc/shadow中
区域3 账户ID,又叫UID。特权账户与系统账户UID 0-999,普通账户UID 1000-60000
区域4 GID,用户所在初始组ID
区域5 账户的描述信息,这个可写可不写。包括用户名,办公地点,办公电话等
区域6 用户家目录,普通用户/home,特权账户/root
区域7 账户使用的shell环境
2)系统账户密码存储在/etc/shadow中,使用8个冒号“:”隔开,将每一行分成9个区域:
账户名:密码:新纪元到修改天数:0(随时修改,n过n天修改一次):密码最大有效期(默认99999):密码失效前提前几天警告:密码失效后的宽限天数:账号有效期:保留
密码:*是没有密码,!!是用户不能登录,一些命令会给自己创建账户,这些账户都不能登录。如果忘记账户密码,可将账户密码删掉,这样账户就没有了密码。
3)查看用户信息: grep 用户名 /ect/passwd
2.2 添加用户用useradd 或 adduser
-d 指定账户的家目录(passwd的区域6)
-u 指定UID -g指定初始组 -s 指定shell环境
例如:
useradd -u 614 -g root -d /admin -s /bin/bash 用户名
//创建用户,UID为614,初始组为root,家目录为/admin, shell环境为/bin/bash。记住这个例子涉及的参数即可。
注:如果创建用户时什么信息都不指定(useradd 用户名),也能够创建用户,而相关信息的默认参数来源于/etc/default/useradd , /etc/login.defs,/ect/skel这三个中。
2.3 修改用户属性
1)修改用户密码: passwd 用户名
-l 锁定指定账户 -u解锁指定账户 -d清空指定账户密码
注意:切换用户登录按exit,重数用户名和密码;或者按住Alt和F1-F6就可以按顺序切换终端用户
passwd test //更改test账户密码
passwd //更改自己的密码,普通用户无法改变别人的密码
passwd -l test //锁定账户test
passwd -u test //解锁账户test
passwd -d test //清除账户test的密码
2)修改已存在的用户属性 usermod
-a 把账户添加到指定组 -l 更改账户名
usermod -l 新名字 旧名字 //更改用户名
usermod -aG 目标组 用户名 //更改用户所在组之后需要用id查看是否成功
id 用户名 //可以查看用户的ID信息
usermod –s /sbin/nologin 用户名 //禁止用户登录
usermod –s /bin/bash 用户名 //恢复用户登录
用户登录原理:命令提示符指的就是shell,用户通过账户和密码登录就能进入shell环境
2.4 删除用户
userdel 用户名 //不删除/home下的用户目录及其内容,其他都删除
userdel -r 用户名 //删除用户同时删除用户信息,删除/home下的目录及内容,其他也都删除
2.5 其他命令: id 与 w等查询账户信息命令
1)id 用户名 //查看当前用户的UID,GID及账户、组名
2)w 查看当前登录到当前系统的相关登录信息,输出结果:
1行 当前时间 总计账户数 系统负载:1分钟 5分钟 15分钟
2行 USER账户名 TTY此账户所登录的终端
FROM(从本地还是远程,远程显示IP)
LOGIN@是登录时间 IDLE账户闲置时间
JCPU所登录在对应TTY终端所有进程使用CPU时间
PCPU在WHAT显示的进程CPU时间 WHAT当前所指定的进程
3)who 查看当前登录账户及信息
4)whoami 显示当前登录到系统的账户(pts表示是否连接到了远程登录)
5)last 显示所有登录过系统的账户的最后登录信息
6)lastlog 显示当前系统内所有账户最后登录信息
3 组管理
3.1 查看组相关信息
1) /etc/group 存储着系统内组的相关信息。3个冒号分成4个区域,其信息如下——组名:组密码(x):组ID(GID):组内成员
grep 组名 /etc/group //查看组的相关信息
grep root /etc/group //查看root的相关信息
2)/etc/gshadow 存储组密码相关信息。3个冒号分成4个列。信息如下——组名:组密码:组管理员:组成员。
3)创建组 groupadd:groupadd 组名 //例如 groupadd test
4)修改组的属性 groupmod
例如:groupmod –g 2000 -n ceshi test //将test组的GID改为2000,组名改为ceshi
5)修改组密码及组内成员 gpasswd
gpasswd 组名 //设置组的密码
gpasswd -A 组管理员 -M 组成员 组名 //设置组管理员及组内成员
注:组管理员可以添加或删除组内成员,普通用户不能。
gpasswd -a 用户名 组名 //添加组成员
gpasswd -d 用户名 组名 //删除组成员
6)删除组 groupdel 组名 //要先移除组内成员才能删除组,对于默认组会在删除组内其他用户进而删除主用户的时候被自动删除
newgrp 组名 //切换组
例:newgrp test
//切换至test组,输入后会让输入组密码,输入密码即可切换成功。切换完成后用id查看GID中的切换结果。注意前提:将当前登录用户切换至其他用户,并且被切换的组必须设置密码
3.2 用vim管理用户和组
vim修改配置文件也可以达到用户和组的管理效果,即修改用户和组的属性。但是建议用命令进行管理,以保证格式的正确性。因为vim进行编辑时,自己编辑的内容格式可能会不正确。vim修改配置文件格式如下:
对用户管理: vim /etc/passwd或者简写vipw
对组管理: vim /etc/group 或者简写vigp
转载请注明出处,谢谢!