每个用户都会分配一个user id(UID)
root的UID为0
其它用户为500+
1~499保留给系统用户,用于管理服务(系统分配),如果这个服务有漏洞被攻击,则只能波及到这个系统用户,这个系统用户权限很小
用户密码等信息存在/etc/passwd中:
redhat5:用户名
x:密码位,密码放在/etc/shadow中
507:UID
507:GID(group id)
第五个为空:描述位
第六个:该用户的home目录
第七个:shell
chown:(change owner)只能有root来做
改变文件的用户(如果是目录,则目录的内容的权限没有改变):chown clc abc.txt
递归改变(改变目录中所有的文件和目录):chown -R clc abc.txt
同时改变文件的拥有人和拥有组:chown clc:clc abc.txt
chgrp:(change group),有root或文件拥有人做
chgrp [-R] clc a:改变a的拥有组为clc
userdel:
删除用户:userdel clc
useradd:
创建用户:useradd clc
创建和之前同名的用户但是UID并不相同,拥有的权限也不相同,系统是通过UID来识别的,UID相同即使用户名不同拥有的权限也相同
创建用户并指定该用户的UID:useradd -u 500 clc
组:
默认情况下创建一个用户就会创建一个和这个用户名相同的组,并把这个用户划入这个组,这个组为私有组,同时这个用户加入的其它组为附加组
组信息存储在/etc/group中:clc:x:500:a,b,c其中clc为组名,x为组密码,500为组号,a和b和c为加入这个组的用户名
一个用户可以加入多个组
usermod: mod为修改(等于 modify );
把用户加入额外组:把用户redhat3加入组it2
也可以直接编辑文件/etc/group中:clc:x:500:a,b,c
用户创建的文件属于其私有组,和额外组没有任何关系
改变用户初始组:usermod -g it2 redhat3
变redhat3的初始组为it2
也可以把/etc/passwd中的redhat3的GID直接改为it2的GID
每个文件都有一个UID和GID
每个运行的进程都有一个UID和多个GID
访问文件的用户分为三类:
1.拥有相同UID:拥有人
2.拥有相同GID:拥有组
3.其他人
如果拥有人和拥有组同时有,则应用拥有人权限,也就是说1>2>3
如:
拥有人clc拥有权限drwx,拥有组clc2拥有权限rx,其他人拥有权限rx
第一个栏目如果为d表示这是一个目录,如果为-表示这是一个文件
后面每三个栏位为一组,第一组为拥有人权限,第二组为拥有组权限,第三组为其他人权限,每组的权限顺序为读写执行,即rwx,1代表有权限,0代表无权限,即rwx为111,即7,r-x为101,即5,r--为100,即4
权限类型:
r:读 w:写 x:执行 -:无权限
对于文件:
r:可以看到文件内容
w:可以修改文件内容
x:可以执行
对于目录:
r:可以列出目录中的文件,看到文件的文件名和权限,必须和x配合使用,否则只能看到目录中的文件名,看不到详细信息
w:可以创建和删除文件
x:和r权限配合使用
chmod:(change modify)修改权限:
u,g,o代表拥有人,拥有组,其他人
-R表示递归
加权限:chmod [-R] u+x a:给a文件的拥有人加上x的权限;chmod [-R] ugo+rwx a或者chmod [-R] a+rwx a或者chmod [-R] 777 a:777权限
减权限:chmod o-x a:去除a文件的其他人的x权限
只有root用户可以修改文件的拥有人
只有root用户和文件的拥有人可以改变的文件的所属组