用户管理基础概念:
用户类别:管理员、普通用户(系统用户和登陆用户)
组类别:
管理员组、普通用户组
基本组和附加组
私有组、公共组
数据库文件:
/etc/passwd
login:password:uid:gid:comment:home:shell
/etc/shadow
login:encrpted_password:.........
/etc/group
group:password:gid:user_list
密码存储格式:单向加密,并借助于salt完成
1: MD5
sha1
sha224
sha256
sha384
6:sha512
linux用户和组管理
安装上下文:
进程以器发起者的身份运行:
进程对文件的访问权限。取决于发起此进程的用户的权限:
系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户:这里用户从不登陆系统:
groupadd:创建一个新组
groupadd[选项】group _name
-g GID:指定GID:默认是上一个组的GID+1;
-r:创建系统组
groupmod命令:修改组属性
groupmod[选项】GROUP
-g GID:修改GID:
-n new_name:修改组名:
groupdel命令:删除组
groupdel [选项] GROUP
useradd命令:创建用户
useradd[选择]登陆名
-u,--uid UID:指定UID
-g, --gid GROUP :指定基本组ID,此组事先存在
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间逗号分隔;
-c,--comment COMMENT
-d,--home HOME_DIR:以指定的路径为用户的家目录:通过复制/etc/shel此目录并重命名实现:指定的家目录实现存在,则不会为用户复制环境配置文件
-s:--shell SHELL:指定用户的默认shell,可用的所有shell列表存储在
-r: --system:创建系统用户
注意:创建用户时的诸默认设定配置文件为/etc/login.defs
useradd -D:显示创建用户的默认配置:
useradd -D 选项 :修改默认选项的值
修改的结果保存于/etc/default/useradd文件中:
usermod命令:修改用户属性
usermode[选项]登陆
-u, --uuid UID:修改用户的ID为此处指定的新UID
-g,--gid GROUP:修改用户所属的基本组:
-G, --group,GROUP1[,GROUP2,....[,GROUPN]]]:修改用户所属的附加组:原来的附加组会被覆盖
-a, --append:与-G一同使用,用于为用户追加新的附加组
-c , --comment COMMENT:修改注释信息:
-d, --home HOME_DIR:修改用户的家目录:用户原有的文件不会被转移新位置:
-m,--move-home :只能与-d选项一同使用,用于将原来的家目录移动为新目录中
-l, --login NEW_LOGIN:修改用户名:
-s, --shell SHELL: 修改用户的默认shell
-L, --lock:锁定用户密码:即在用户原来的密码字符串之前添加一个“!”
-U, --unlock:解锁用户的密码:
userdel 命令:删除用户命令
userdel [选择]
-r:删除用户时一并删除其家目录
练习1:创建用户gentoo,UID为4001,基本组为gentoo,附加组distro(GID为5000)和peguin(GID为5001)
练习2:创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tchsh:
练习3:修改gentoo用户的家目录为var/tmp/gentoo:要求其原有文件仍能被用户访问
练习4:为gentoo新增附加组netadmin
passwd命令:
(1)passwd:修改用户自己的密码
(2)passwd USERNAME:修改指定用户的密码,但仅root有此权限
-l,--u :锁定和解锁用户
-e DATE:过期期限,日期
-i DAYS:非活动期限
-n DAYS: 密码的最短使用期限
-x DAYS: 密码的最长使用期限
-w DAYS:警告期限
--stdin:
echo "PASSWORD"| passwd --stdin USERNAME
gpasswd命令:
组密码文件:/etc/gshadow
gpasswd[选项]group
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
newgrp命令:临时切换指定的组为基本组
newgrp[-][group]
-:会模拟用户重新登陆以实现重新初始化其工作环境
chage命令:更改密码过期信息
chage[选项]登陆名
-d
-E
id命令:显示用户的真实和有效ID
id[OPTION]....[USER]
-u:仅显示有效的UID
-g:仅显示用户的基本组ID;
-G:仅显示用户所属组的ID
-n:显示名字而非ID
su命令: swith user
登陆式切换:会通过重新读取用户的配置文件来重新初始化
su - USERNAME
su -l USERNAME
非登陆式切换:不会读取目标用户的配置文件进行初始化
su USERNMAE
注意:管理员可无密码切换至其他任何用户:
-c 'command':仅以指定用户的身份运行此处指定的命令:
其他几个命令:chsh,chfn,finger,whoami,pwck,grpck
来源:51CTO
作者:lht_8
链接:https://blog.51cto.com/liuhaitao/2484055