用户关联账号文件
/etc/passwd # 用户账号配置文件
含义: 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow # 用户口令配置文件
含义: 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group # 用户组配置文件
含义: 组名:口令:组标识号:组内用户列表
用户
useradd:添加用户
语法:
useradd <选项> <参数>
选项:
-c<备注> # 加上备注文字。备注文字会保存在passwd的备注栏位中
-d<登入目录> # 指定用户登入时的启始目录
-D # 变更预设值
-e<有效期限> # 指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效
-f<缓冲天数> # 指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1
-g<群组> # 指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users
-G<群组> # 指定用户所属的附加群组
-m # 自动建立用户的登入目录
-M # 不要自动建立用户的登入目录
-n # 取消建立以用户名称为名的群组
-r # 建立系统帐号
-s<shell> # 指定用户登入后所使用的shell。默认值为/bin/bash
-u<uid> # 指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499
参数:
用户名 # 指定新账号的登录名
实例:
useradd tom # 建立新用户
useradd -u 544 -d /usr/tom -g users -m tom # 建立新用户tom,设置UID为544,主目录为/usr/tom,属于users组
userdel:删除用户
语法:
userdel <选项> <参数>
选项:
-f # 强制删除用户,即使用户当前已登录
-r # 删除用户的同时,删除与用户相关的所有文件
参数:
用户名 # 要删除的用户名
实例:
userdel tom # 删除用户,保留用户主目录
userdel -r tom # 删除用户以及用户主目录(一般不使用一并删除用户主目录方式)
usermod:修改用户
语法:
usermod <选项> <参数>
选项:
-c<备注> # 修改用户帐号的备注文字
-d<登入目录> # 修改用户登入时的目录
-e<有效期限> # 修改帐号的有效期限
-f<缓冲天数> # 修改在密码过期后多少天即关闭该帐号
-g<群组> # 修改用户所属的群组
-G<群组> # 修改用户所属的附加群组
-l<帐号名称> # 修改用户帐号名称
-L # 锁定用户密码,使密码无效
-s<shell> # 修改用户登入后所使用的shell
-u<uid> # 修改用户ID
-U # 解除密码锁定
参数:
用户名 # 要修改的用户名
实例:
usermod -l jerry tom # 修改tom用户名为jerry
id:显示用户信息
语法:
id <选项> <参数>
选项:
-g或--group # 显示用户所属群组的ID
-G或--groups # 显示用户所属附加群组的ID
-n或--name # 显示用户,所属群组或附加群组的名称
-r或--real # 显示实际ID
-u或--user # 显示用户ID
参数:
用户名 # 要查看的用户
实例:
id # 显示当前用户信息
id -u tom # 显示tom用户UID
passwd:指定/修改用户密码
语法:
passwd <选项> <参数>
选项:
-d # 使账号无口令(系统管理者)
-f # 强迫用户下次登录时修改口令
-k # 设置只有在密码过期失效后,方能更新
-l # 锁定用户口令
-S # 显示密码信息(系统管理者)
-u # 解锁用户口令
-x # 设置密码的有效期
-i # 过期后停止用户账号
-g # 修改群组口令
参数:
用户名 # 需要设置密码的用户名
实例:
passwd tom # 更改或创建tom用户密码
passwd -l tom # 锁定用户不能更改密码
su:切换用户
语法:
su <选项> <参数>
选项:
-c<指令>或--command=<指令> # 执行完指定的指令后,即恢复原来的身份
-f或--fast # 适用于csh与tsch,使shell不用去读取启动文件
-l或--login # 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量
-m,-p或--preserve-environment # 变更身份时,不要变更环境变量
-s<shell>或--shell=<shell> # 指定要执行的shell
参数:
用户名 # 指定要切换身份的目标用户
实例:
su tom # 切换用户
su - tom # 切换用户,改变环境变量(whoami显示当前用户, exit退出当前用户)
用户组
groupadd:添加用户组
语法:
groupadd <选项> <参数>
选项:
-g<群组> # 指定GID,默认使用当前最大的GID加1
-r # 创建系统工作组,系统工作组GID小于500
-K # 覆盖配置文件"/ect/login.defs"
-o # 允许设置相同GID的群组
参数:
组名 # 指定新建工作组的组名
实例:
groupadd group1 # 添加用户组group1
groupadd -g 101 group2 # 添加用户组group2并设置组GID
groupdel:删除用户组
语法:
groupdel <参数>
参数:
组名 # 要删除的工作组名
实例:
groupdel group1 # 删除用户组group1
groupmod:修改用户组
语法:
groupmod <选项> <参数>
选项:
-g<群组识别码> # 设置欲使用的群组识别码
-o # 重复使用群组识别码
-n<新群组名称> # 设置欲使用的群组名称
参数:
组名 # 指定要修改的工作组名
实例:
groupmod -n group2 group1 # 修改group1组名为group2
newgrp:切换用户组
语法:
newgrp <参数>
参数:
组名 # 指定要切换的用户组
实例:
newgrp group2 # 切换到group2组