一、用户及用户组的概念
现在操作系统均为多用户、多任务的操作系统。其中多用户是指多人同时使用系统资源;多任务是指系统同时运行多个进程。
用户是为了在多个使用者之间尽心资源的分配,而用户组则是用户的集合,方便对同一类型的用户权限进行管理。
(一)用户
(1)用户分类及UID
用户的类别:用户主要分为管理员和普通用户,其中普通用户还分为系统用户与登录用户两类。用户通过UserID即UID来标识。
管理员:root
UID为0
普通用户:
系统用户:仅用于运行服务程序。
UID:在CentOS5和CentOS6中为 1-499
Centos7:1-999
登录用户:系统资源的正常使用者。
UID:CentOS5和CentOS6:500+
Centos7:1000+
(2)用户配置文件
1.用户信息库,名称解析库:/etc/passwd
[root@localhost ~]# man 5 passwd
格式(七段):account:password:UID:GID:GECOS:directory:shell
account: 用户名
password:可以是加密的密码,也可是占位符x
UID:用户的ID号
GID:用户所属的主组的ID号
GECOS:注释信息
directory:用户的家目录
shell:用户的默认shell,登录时默认shell程序
2. 密码存储位置:/etc/shadow
[root@localhost ~]# man 5 shadow
格式(九段):用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:过期宽限时间:账号失效日期:保留字段
login name:用户名
encrypted password:经过编码的密码,第二个$和第三个$之间是SALT,后面是加密后的密码
date of last password change:最近一次修改密码的时间
minimum password age:最短使用期限
maximum password age:最长使用期限
password warning period:警告期段
password inactivity period:过期宽限时间
account expiration date:账号失效日期
reserved field:保留字段
密码经加密侯存放,采用党项加密机制。
单向加密:仅能加密不能解密
(二)用户组
(1)用户组分类及GID
管理员组,GID为0
普通用户组:
系统用户组:
GID:在CentOS5和CentOS6中为 1-499
Centos7:1-999
普通用户组:
GID:CentOS5和CentOS6:500+
Centos7:1000+
组类别:以用户为核心来划分
用户的主组(用户的基本组)
用户的附加组(用户的额外组)
组类别:以组内容纳的用户来划分
私有组:与用户名相同,且只有该用户。
公共组:组内包含了多个用户
(2)用户组配置文件
1.名称解析库:/etc/group
[root@localhost ~]# man 5 group
格式:group_name:password:GID:user_list
group_name:用户组名;
password:组密码;
GID:用户所属的主组的ID号;
user_list:该组的用户成员,以此组为附加组的用户的用户列表;
2.密码库:/etc/gshadow
[root@localhost ~]# man 5 gshadow
格式:group name:encrypted password:administrators:members
group name:组名称
encrypted password:加密密码,以!开头表示无合法密码,所以无用户组管理员
administrators:用户组管理员账号
members:该用户组的所属账号
二、用户及用户组的相关命令
(一)用户管理命令
1.useradd:创建用户
useradd [options] LOGIN
-u, --uid UID:指定UID;
-g, --gid GROUP:指定基本组ID,该组必须事先存在;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组
-c, --comment COMMENT:指明注释信息;
-s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文中;
-r, --system:创建系统用户;
-d, --home HOME_DIR:指定路径为用户的家目录;通过复制/etc/skel目录并重命名实现 指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
-f, --inactive : 更改非活动期限
-M: 不创建用户家目
useradd -D:显示创建用户的默认配置;
2.usermod:修改用户属性
usermod [options] LOGIN
-u, --uid UID:修改用户的ID为此处指定的新UID;
-g, --gid GROUP:修改用户所属的基本组;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;
原来的附加组会被覆盖;
-a, --append:与-G一同使用,用于为用户追加新的附加组; -aG
-c, --comment COMMENT:修改注释信息;
-d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
-m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;-md
-l, --login NEW_LOGIN:修改用户名;
-s, --shell SHELL:修改用户的默认shell;
-L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";
-U, --unlock:解锁用户的密码;
3.userdel:删除用户,默认删除用户时不删除用户家目录
格式:usermod [options] LOGIN
-r:删除用户时一并删除其家目录;
4.passwd:密码修改
(1) passwd:修改用户自己的密码;
(2)passwd USERNAME:修改指定用户的密码,但仅root有此权限;
【OPTIONS】
-l, -u:锁定和解锁用户;
-d:清除用户密码串;
-e DATE: 过期期限,日期;
-i DAYS:非活动期限;
-n DAYS:密码的最短使用期限;
-x DAYS:密码的最长使用期限;
-w DAYS:警告期限;
--stdin:从标准输入读取,一般和管道、重定向用来实现自动化
echo "PASSWORD" | passwd --stdin USERNAME
(二)组管理相关命令
1.groupadd:添加组
groupadd [options] group
-g GID:指定GID;默认是上一个组的GID+1;
-r: 创建系统组;
2.groupdel:删除组
groupdel [options] GROUP
3. groupmod:修改组属性
groupmod [options] GROUP
-g GID:修改GID;
-n new_name:修改组名;
4.gpasswd:给组添加密码 ,一般组都没有密码
在临时切换到不属于自己的附属组的其他组时候要通过组密码验证
无密码的组不能被任何用户切换,仅能被组所包含的用户切换
gpasswd [OPTION] group
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
5.newgrp:临时切换指定的组为基本组,使用exit退出
newgrp [-] [group]
二、权限管理
(一)权限的概念
文件系统中,文件权限只要针对三类用户:
(1)属主,owner,u
(2)属组,group,g
(3)其他,other,o
每类用户都有三种权限:
(1)r:readable,可读
(2)w:writeable,可写
(3)x:excutable,可执行
三种权限在文件和目录中具有不同的含义。
文件:r:可获取文件数据
w:可修改文件数据
x:可将此文件运行为进程
目录:r:可使用ls命令获取其下的所有文件列表,但不可使用ls -l命令获取详细信息
w:可修改此目录下的文件列表,即可在此目录下创建或删除文件
x:可以使用ls -l命令来获取旗下的文件详细属性信息,也可cd至此目录中
文件或目录的权限位共九位,即rwxrwxrwx,每类用户各拥有三位权限rwx,左三位为属主权限位,中三位为属组权限位,右三位为其他用户权限位。
权限组合机制:
以owner为例:
权限 二进制表示 十六进制表示
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
(二)权限管理相关命令
1.chmod命令:change file mode bits
chmod [OPTION]... MODE[,MODE]... FILE...
# 以ugoa的方式来进行授权
chmod [OPTION]... OCTAL-MODE FILE...
# 权限数字是数值模式:是从一到四的八进制数字(0-7),分别用4(读权限) 2(写权限) 1(可执行权限)
chmod [OPTION]... --reference=RFILE FILE...
# 标识权限参照某文件修改
(1) chmod [OPTION]... MODE[,MODE]... FILE...
MODE:
赋权表示法:直接操作一类用户的所有权限位rwx;
u=
g=
o=
a=
两类用户权限相同:ug=, go=
不同类的用户权限不同:u=,g=,o=
授权表示法:操作一类用户一位或多位权限;
u+, u-
g+, g-
o+, o-
a+, a-
两类用户权限收授机制相同:ug+, ug-, ...
不同类的用户权限不同:u+,g+,o+
2.chmod [OPTION]... OCTAL-MODE FILE...
OCTAL-MODE:权限标识
r:4
w:2
x:1
3.chmod [OPTION]... --reference=RFILE FILE...
常用选项:
-R, --recursive:递归修改;
--reference=RFILE:RFILE表示参考其权限模型;
4.chown命令:修改属主或属组
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
# 此处也是参照文件修改,只是此处修改的是属主和属组( 注意:此处不修改权限)
-R, --recursive:递归修改;
# 与chmod使用方式相同,此处不在过多介绍
5.chgrp命令:修改属组
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
本文出自 “宋臻的LINUX学习” 博客,请务必保留此出处http://songzhen.blog.51cto.com/6300389/1750379
原文地址:http://songzhen.blog.51cto.com/6300389/1750379