Linux的用户,组的管理其实在平常的运维工作是再熟悉不过的事情了,常用命令和功能基本是烂熟于心,但有时候用到一些不经常使用的命令时,就需要到处google。所以还是有必要对这部分的知识进行一个总结。
1.用户类别
linux的用户分为管理员和普通用户两大类。而普通用户又分为系统用户(通常UID是小于500的),和可登陆的普通(通常UID大于500)。系统用户是比较特殊的用户,它不用于登陆,而只是负责在用户登陆之前就执行的一些进程,比如ftp,bin,daemon等等。
2.用户管理
用户的管理也是分为两大类:
用户管理,主要操作如下:
创建用户,修改用户属性,删除用户;创建组,修改组属性,删除组
权限管理,主要操作如下:
修改文件属主,改属组,改文件权限
3.用户,组相关的文件
/etc/passwd:用户的属性信息;
/etc/shadow:影子口令
/etc/group:组属性信息
/etc/gshadow:组的密码
4.添加,删除用户
添加用户:
useradd,adduser
#useradd USERNAME
用户属性:
/etc/passwd:用户名:密码占位:UID:GID:注释信息:家目录:默认shell
默认法则:
UID:已有最大UID+1
GID:/etc/group中已有最大的GID+1
注释信息为空
家目录:/home/USERNAME
shell:/bin/bash
定制用户属性
-u UID,有效范围0-65535
-g GID,有效范围已有的GID,必须事先存在这个GID
-G GID,指定用户的附加组,可以有多个,逗号分隔
-c "COMMENT" 注释信息,需要加引号
-d /path/to/somewhere 指定家目录位置
-s 指定shell
-r 创建系统用户
-M 不为用户创建家目录
-m 强行为用户创建家目录
查看用户属性:
id: id root 查看用户全部属性
-u 查看UID
-g 查看GID
finger USERNAME 同样是查看用户信息,比较详细
删除用户:
userdel (-r) USERNAME 加上-r,删除家目录
小技巧:使得shell提示符正常的方法:
cp /etc/skel /用户家目录
/etc/skel中定义了shell提示符的标准
由-bash-4.1$ --> [user1@localhost]$
5.添加,删除组
以用户的角度,组的类型:
私有组:创建时自带的组,创建用户的时候系统会自动创建一个同名的组,这个组是用户的私有组
附加组:用户加入的另外的组
添加组:
groupadd GRPNAME
/etc/group:
组名:密码占位符:GID:以此组为附加组的用户列表,用户用逗号分隔
-g GID:创建组的时候指定GID
-r 创建系统组
删除组:
groupdel GRPNAME
6.修改用户属性
usermod:
-u UID 修改UID
-g GID 修改GID
-a (追加附加组) -G GID 修改附加组,不加-a会覆盖原有的附加组
-c COMMENT
-s /path/to/where
-l NEWNAME 修改用户登陆名称
-m -d /path/to/somewhere 修改用户家目录,加上-m则会把原来家目录的中的数据拷贝过去
7.修改组属性
groupmod:
-g 新GID号
-n 新组名
8.密码管理
passwd:修改自己的密码
passwd USERNAME:修改指定用户密码
密码安全策略:
1.密码长度至少5位
2.包含大小写字母,数字,特殊字符至少三类
3.定期更换:不要重复使用已用过的密码
passwd
-l:锁定用户账户
-u:解锁
9.密钥属性修改
passwd
-e 密码过期期限
-n 密码最短使用天数
-x 密码最长使用天数
-w 警告天数
-i 非活动天数
chage
-d 修改密码最近一次修改时间
-m 修改密码最短使用期限
-M 修改最长使用期限
-W 警告天数
-I 非活动天数
-E 过期时间
usermod -e YYYY-MM-DD账号的过期期限
-i 天数 非活动天数
linux用户,组的介绍,布布扣,bubuko.com
linux用户,组的介绍
原文:http://rhythmer.blog.51cto.com/4110192/1364527