在任何时候,用户操作计算机无非就是发起进程,因此,进程是用户操作计算机的代理,所以进程在运行时,一定是以发起它的用户的身份在运行,那么进程所能访问的权限就决定于发起它的用户的权限和要访问文件的权限。
权限:
文件:
r: 可使用查看工具查看其内容;
w:可编辑其内容;[若仅有w,且目录无w,则不能删除文件]
x: 可将此文件向内核提请启动为进程;
目录:
r: 可以使用ls命令列出其内部所有文件或子目录的相关信息;
w: 在此目录内创建或删除文件;
x: 可以cd进此目录,可以使用ls -l查看其内部所有文件或子目录的相关详细信息;
用户有两类:
1:管理员:root,UID为0
2:普通用户:UID为1-65535[2^16]
系统用户:1-499
仅用于运行某些服务类进程而存在;一般不用于登录系统;
普通用户:500+
交互式登录
组有两类:
管理员组:root,GID为0
普通组:GID为1-65535
系统组:1-499
普通组:500+
组的类别:一个用户可同时属于多个组;当一个用户有多属组时,且他去访问一个文件需要看文件的属组的权限时,用户的多个属组中只要有一个属组不匹配,则无法访问文件,即拒绝优先
私有组:创建用户是如果没有为其指定其所属组,系统会自动为其穿件一个与用户名相同的组
基本组:用户的默认组
附加组、额外组:默认组之外的其他组
ls -l
-rw-r--r--
1 root root 0 Mar 27 04:05 /etc/root.test
每三位一组,分别对应于属主、属组、其它类别用户对此文件的访问权限;
用户启动某进程访问某文件资源时,权限匹配机制:
1、首先查看此进程的属主,与被访问的文件的属是否是同一个用户;
如果是:则以被访问的文件的属主的身份来访问它;从而应用权限为属主的权限;
如果不是:
2、查看此进程的属主,是否属于被访问的文件的属组;
如果是:则以被访问的文件的属组的身份来访问它;从而应用的权限为属组的权限;
否则:则应用的是其它类别的权限;
管理用户和组:useradd, passwd,
userdel, usermod, groupadd, gpasswd, groupdel, groupmod
useradd:
useradd
[options] LOGIN
-u UID:指定UID
-g GID:若用 -g 组名 也可以指明基本组的GID;GID对应的组需要事先存在;
-G GID:指定附加组
-r:系统用户(没有家目录)
-c ‘COMMENT‘:指明注释信息
-d /path/to/somedir: 指明家目录;
-s /bin/SHELL: 指明默认使用的shell;
useradd -r -s
/sbin/nologin 用户名
添加系统用户xx且不允许登陆
/etc/passwd
lx:x:500:500::/home/lx:/bin/bash centos:x:501:501::/home/centos:/bin/bash mageia:x:1100:1100::/home/linux:/bin/bash lx2:x:1101:2016::/home/lx2:/bin/bash user1:x:1102:1102::/home/user1:/bin/bash
登录名 |
密码 |
UID |
GID |
注释 |
家目录 |
用户默认shell |
注意:创建用户时如果没有指定基本组,则useradd会自动为其添加一个与当前用户同名的组;且其GID一般同UID;
passwd修改密码:
用法:
passwd:不加任何选项时表示修改自己的密码;
passwd USERNAME: 修改指定用户的密码;只有管理员root有此权限;
你是普通用户的话,修改自己的密码,直接用passwd就可以了,会让你先输入自己的旧密码,再输入两遍新密码
-d 删除密码。本参数仅有系统管理者才能使用。
-f 强制执行。
-k 设置只有在密码过期失效后,方能更新。
-l 锁住密码。
-s 列出密码的相关信息。本参数仅有系统管理者才能使用。
-u 解开已上锁的帐号。
--stdin password需要从标准输入通过管道设置new
password
[[email protected] ~]$ passwd Changing password for user centos. Changing password for centos. (current) UNIX password: New password: Retype new password: passwd: all authentication tokens updated successfully.
usermod:修改用户属性
userdel:删除用户
userdel
[-r] LOGIN
-r: 删除用户的同时,删除其家目录;不用-r时不会删除家目录
groupadd: 添加组
groupadd
[options] group
不指定GID时,为/etc/group中的最后一个GID加1
-g GID: 指明要使用的GID;
-r :添加系统组
/etc/group
lx:x:500: centos:x:501: mageia:x:1100: abc:x:2016: distro:x:2015: user1:x:1102:
组名 |
密码 |
GID |
以这个为附加组的用户表 用,隔开 |
gpasswd:为组添加密码
groupdel:删除组
groupmod: 修改组属性
-g GID:修改GID
-n NEW_NAME: 修改组名;