用户及组的介绍
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户及组的介绍相关的知识,希望对你有一定的参考价值。
linux用户:管理员:root, UID号为:0
普通用户: 1-65535
系统用户:1-499(centos6),1-1000(centos7)
登录用户:500+(centos6), 1000+(centos7)
linux组:
管理员组:root, UID号为:0
普通组:
系统组:1-499(centos6),1-1000(centos7)
普通组:500+(centos6), 1000+(centos7)
linux组的类别
用户的主要组(primary group)
用户必须属于一个且只有一个主组,组名同用户名
用户的附加组(supplementary group)
一个用户可以没有或有多个附加组
linux 用户和组的主要配置文件:
/etc/passwd (root:x:0:0:root:/root:/bin/bash)
name:用户名
password:密码位,pwconv 密码被映射到了/etc/shadow
uid:
gid:
gecos:描述位
home: 家目录
shell: 默认为/bin/bash 如果设置为/sbin/nologin 表示不可以交互式登录
/etc/shadow (root:$6$4uOWPgUw$kAWs8f8m9EXMbdxLS1:17675:0:99999:7:::)
name:用户名
password:$6$salt$password
密码上一次的修改时间:
密码的最小存活期:在这个时间到达之前,不能改密码
密码的最大存活期:密码的过期时间
密码过期前多少天警告:
密码过期后多少天触发帐户过期:
帐户过期时间:从1970-1-1开始计算
保留位
chage
Options:
-d, --lastday LAST_DAY 修改密码上一次的修改时间
-E, --expiredate EXPIRE_DATE 设置密码的过期时间
-I, --inactive INACTIVE 设置密码过期之后多少天触发帐户过期
-l, --list 列出信息
-m, --mindays MIN_DAYS 设置密码的最小存活期
-M, --maxdays MAX_DAYS 设置密码的最大存活期
-W, --warndays WARN_DAYS 设置密码过期之前多少天提醒用户
/etc/group (root:x:0:gentoo)
组名称
组密码:x表示 grpconv 组密码被映射到了/etc/gshadow
组ID
组成员:作为附加组的成员列表,以逗号分隔
/etc/gshadow
组名称
组密码
组管理员:以逗号分隔,可以修改组密码以及修改组成员
组成员:作为附加组的成员列表,以逗号分隔
添加用户
useradd [options] LOGIN
-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID/GROUP NAME:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR: 以指定的路径(不存在)为家目录 确保指定目录的目录名要存在,而基名不要存在
-s SHELL: 指明用户的默认shell程序,默认不指定是为/bin/bash
-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
手工创建家目录
mkdir /home/magetest
cp -r /etc/skel/.[^.]* /home/magetest
chown -R magetest.magetest /home/magetest
chmod -R 700 /home/matgtest
添加用户的默认配置文件 (/etc/default/useradd)
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
修改用户的相关属性
usermod [OPTION] login
-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL
-c ‘COMMENT‘:新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字;
-L: lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
删除用户及其家目录
userdel -r 用户名
passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
passwd: 修改自己的密码
常用选项:
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码,相当于chage -d 0
[[email protected](mit) ~]$ su - leij
Password:
You are required to change your password immediately (root enforced)
Changing password for leij.
(current) UNIX password:
New password:
Retype new password:
Sorry, passwords do not match.
New password:
Retype new password:
Last login: Sat Jun 2 10:28:51 CST 2018 on pts/0
Last failed login: Sat Jun 2 10:30:48 CST 2018 on pts/0
There was 1 failed login attempt since the last successful login.
--stdin:从标准输入接收用户密码
echo "PASSWORD" | passwd --stdin USERNAME
groupadd
-g GID GNAME
-r GNAME
groupdel GNAME
gpasswd
Options:
-a, --add USER 增加单个用户到指定组当中(组管理员可执行)
-d, --delete USER 从指定组中删除单个用户(组管理员可执行)
-r, --delete-password 将指定组的组密码删除(组管理员可执行)
-R, --restrict 限制组成员访问该组
-M, --members USER,... 一次性设置组成员(仅root执行)
-A, --administrators ADMIN,... 设置组管理列表(root执行)
newgrp groupname
用户会打开一个子shell,在这个子shell下,该用户的主要组切换为该组,若该用户本不属于该组,则要输入组密码,若该组属于用户的附加组之一,则无需输入码。
groupmems
-g GNAME
-a USERNAME 加用户加入到指定组
-d USERNAME 把用户从指定组删除
-p 清除该组的所有成员
-l 列出组成员列表
groups USERNAME
查看用户属于哪些组(包含主要组)
chown 仅root才能执行
USERNAME FILENAME/DIRNAME
所属人修改文件的权限
-R 递归修改
.|: GNAME FILENAME/DIRNAME 修改所属组
如:chown .tom test 或 chown :tom test
USERNAME.|:GNAME FILENAME/DIRNAME 同时修改文件的所属人及所属组
如: chown tom.tom test 或 chown tom:tom test
--reference= FILENAME/DIRNAME 将指定文件的从属关系设置为与指定文件相同
如: -rw-rw-r--. 1 leij leij 0 Jun 2 10:56 test
-rw-r--r--. 1 root root 0 Jun 2 11:09 testb
chown --reference=testb test
-rw-rw-r--. 1 root root 0 Jun 2 10:56 test
-rw-r--r--. 1 root root 0 Jun 2 11:09 testb
chgrp 仅root和文件的所属人可以更改文件的所属组(但所属人一定要属于目标组)、
GNAME FILENAME/DIRNAME
-R 递归修改
以上是关于用户及组的介绍的主要内容,如果未能解决你的问题,请参考以下文章