一·什么是用户
用户:是能够获取系统资源的权限的集合
Linux做为一个多任务,多进程的操作系统,必然会出现多个用户同时登陆的情况,做为运维人员来说,用户管理是日常重要的工作内容之一。Linux中用户按照其性质划分可以分为以下几种:
- 超级用户(root),拥有至高无上的权利,具有使用系统所有权限的能力;
- 系统用户,为了保障系统运行的用户,一般不提供密码登录系统;
- 普通用户,即一般用户,其使用系统权限通常受很大限制:
- UID:系统识别用户的ID标识;
- 超级用户(root)的UID为0,
- 系统用户的UID为1-499(Centos5,6),1-999(Centos7);
- 普通用户的UID为500-65535(Centos5,6),1000-65535(Centos7);
查看用户UID的命令:id username
二·用户管理
1)与用户管理相关的配置文件
/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
此配置文件格式以:为分隔符,以root用户为例:
第一字段:“root” 代表该用户的名称,用来对应UID
第二字段:“ x " 代表该用户的密码,指向/etc/shadow文件中
第三字段:“ 0” 代表用户UID
第四字段:“ 0” 代表用户GID
第五字段:“root” 代表用户信息说明列
第六字段:“/root" 代表用户主文件夹
第七字段:“/bin/bsah"代表用户默认Shell
/etc/shadow
root:$6$qU5xMWeOTrQLuEPhQqf2S3ge1RroLMbE6.D5RAm23rKQ/:16868:0:99999:7:::
bin:*:16659:0:99999:7:::
daemon:*:16659:0:99999:7:::
此配置文件格式以:为分隔符,以root用户为例:
第一字段:“root” 代表用户名称
第二字段:“$6$q..” 代表密码
第三字段:“16868” 代表最近一次修改密码的日期(`date +%s/86400+1`)
第四字段:“0” 代表密码最短使用天数(不可变更时间,0表示随时可以改动)
第五字段:“99999” 代表密码最长使用天数,99999表示永不过期
第六字段:“7” 代表密码需要更改前的警告天数
第七字段:“:” 代表密码过期后的宽限时间
第八字段:“:” 代表账号失效日期
第九字段:“:” 保留
三·用户管理相关命令
1)useradd : 增加用户
useradd [选项] 用户名
-d, --home directory:家目录路径;目标路径不能事先存在,指定一个目录为该用户的家目录;
-g, --gid GROUP:指定用户的基本组组名或GID;
-G, --groups GROUP1(当然这里可以有多个组,[组1,组2...]):用户所属的附加组列表,彼此间用逗号隔开,中间没有空格;
-m, --create-home:强制创建家目录;
-M:不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes;
-r, --system:创建一个系统账户
2)usermod: 修改用户信息
-c, --comment COMMENT
-d, --home HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的文件会移动到新目录中;
-g, --gid GROUP
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加新的附加组;
-l, --login NEW_LOGIN:修改当前用户的用户名;
-s, --shell SHELL
-u, --uid UID
-L, --lock:锁定用户的密码。这会在用户加密的密码之前放置一个“!”
-U, --unlock:解锁用户的密码。这将移除加密的密码之前的“!”
3)userdel:删除用户
userdel [选项] 登录名
-r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除
4)passwd:密码管理命令
-l:锁定密码
-u:解锁解密
-d:清除密码
--stdin:从标准输入接收密码;
echo "PASSWORD" | passwd --stdin USERNAME
5)id:查看用户UID
-u:仅查看uid
-g:仅查看gid
-G:查看所属的所有组的ID
-n:显示名称,而非ID
6)su:切换用户命令
su -l USERNAME 读取目标用户的配置文件(登录式切换,完全切换);