用户和组的概念
用户组是具有相同特征用户的逻辑组合,需要让多个用户具有相同的权限时,如查看、修改某一个文件的权限,一种方法是分别对多个用户进行访问授权,若有是个用户就授权十次, 此方法效率不高;而另一种方法就是建立一个组,让这个组具有查看、修改文件的权限,然后将所有需要访问此文件的用户统一放到一个组内,那么组内的所有用户就拥有了和组一样的权限,这就是组。用户和组的关系属于多对多的关系
- 用户user
- 管理员:root,0
- 系统用户:1-499(centos6),1-999(centos7)对守护进程 获 取资源进行权限的分配
- 登陆用户:500+,1000+(centos7) 交互式登陆
- 组group
- 管理员组:root,0
- 系统组:1-499,1-999
- 普通组:500+,1000+
Linux组的类别
用户的主要组:用户必须属于一个且只有一个主组,组名同用户名,且仅包含一个用户,私有组
用户的附加组:一个用户可以属于零个或多个辅助组。
用户和组的配置文
/etc/passwd:用户及其属性信息(名称,UID,主组ID等)
account:password:UID:GID:GECOS:directory:shell
- 登录用名(wang)
- 密码 (x)
- 用户身份编号 (1000)
- 登录默认所在组编号 (1000)
- 用户全名或注释
- 用户主目录 (/home/wang)
- 用户默认使用shell (/bin/bash)
/etc/shadow:用户密码及其相关属性
- 登录用名
- 用户密码:一般用sha512加密
- 从1970年1月1日起到密码最近一次被更改的时间 u
- 密码再过几天可以被变更(0表示随时可被变更) u
- 密码再过几天必须被变更(99999表示永不过期) u
- 密码过期前几天系统提醒用户(默认为一周) u
- 密码过期几天后帐号会被锁定
- 从1970年1月1日算起,多少天后帐号失效
/etc/group:组及其属性信息
- 群组名称:就是群组名称
- 群组密码:通常不需要设定,密码是被记录在 /etc/gshadow uGID:就是群组的 ID
- 以当前组为附加组的用户列表(分隔符为逗号)
- /etc/gshadow:组密码及其相关属性
- 群组名称:就是群组名称
- 群组密码:
- 组管理员列表:组管理员的列表,更改组密码和成员 u以当前组为附加组的用户列表:(分隔符为逗号)
用户和组管理命令
- 创建用户useradd
-u:指定用户id(可指定数台电脑主机id一致)
-r:创建系统用户
-s :shell指明用户的默认shell程序,可用列表在/etc/shells
-d:HOME以指定的路径(不存在)为家目录
-c:”comment” 用户的注释信息
-g:GID指明用户所属基本组,可为组名,也可以GID
-G:GROUP1,[GROUP2,…]为用户指明9644加组,组必须事先存在
-m:
useradd -s /sbin/nologin -r -d /data/mysql -m -u 1234
- 修改用户属性usermod
语法:usermod [option] login
-u:新UID
-s:新的默认shell
-d:新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-c:新的注释信息
-G:新附加组,原来组会被覆盖,若要保留原有,需要同时使用-a选项。
-l:新的名字,例:usermod -l qqqqqq mysql
- 删除用户userdel
语法:userdel [option]… login
-r:删除用户家目录
- 创建组groupadd
语法:groupadd [option]… groupadd_name
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组
entOS 6: ID<500
CentOS 7: ID<1000
- 修改组groupmod
语法:groupmod [option]… group
-n:新名字
-g:新组id
- 删除组groupdel
语法:groupdel group
- 设置密码
修改指定用户的密码:passwd [ OPTIONS] UserName
常用选项:
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f: 强制操作
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
–stdin:从标准输入接收用户密码
echo “PASSWORD” | passwd –stdin USERNAME
- 修改组密码
语法:gpasswd [OPTION] GROUP
-a user 将user添加至指定组中
-d user 从指定组中移除用户user
-A user1,user2,… 设置有管理权限的用户列表
- 更改和查看组成员
groupmems [options] [action]
options:
-g, –group groupname 更改为指定组 (只有root)
Actions:
-a, –add username 指定用户加入组
-d, –delete username 从组中删除用户
-p, –purge 从组中清除所有成员
-l, –list 显示组成员列表
groups [OPTION].[USERNAME]… 查看用户所属组列
- 新建用户的相关文件和命令
- /etc/default/useradd
- /etc/skel/*
- /etc/login.defs
- newusers passwd格式文件,批量创建用户
语法:newusers [options][file]
- chpasswd:批量修改用户口令
工作原理:从系统的标准输入读入用户的名称和口令,并利用这些信息来更新系统上以存在的用户的指令
例:使用passwd..txt里面的用户名密码批量修改相应用户的密码
1.首先建立passwd.txt文件,格式为[username:userpassword]
user:123456
user2:12345
2.将passwd.txt文件的内容传输到chpasswd指令来修改相应用户的密码
cppasswd < passwd.txt
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95566