现在的位置: 首页 > 操作系统 > 正文

linuxcast笔记:linux用户权限基础

2018年09月30日 操作系统 ⁄ 共 1975字 ⁄ 字号 评论关闭

一、linux用户基础

用户限制进程可以使用不可以使用哪些资源

每个用户拥有一个userID,操作系统实际使用userID
每个用户属于一个主组,属于一个或者多个附属组
每个组拥有一个GroupID
每个进程以一个用户的身份运行,并接受用户可访问的资源限制
每个可登陆用户拥有一个指定的shell
用户ID为32位,从0开始,但为了兼容老式系统,ID限制在60000以下

用户类型

根用户:ID为0

系统用户:ID从0到499,专门为某些进程专用的服务,不需要shell(/sbin/nologin)

普通用户:ID大于499

查看用户 相关命令

id 查看当前用户

passwd 修改当前用户密码

whoami  显示当前用户

who 显示登录的用户信息

w 显示登陆的用户的详细信息

相关文件

/etc/passwd 保存用户信息

用户名:密码:userID:groupID:用户描述:用户家目录:用户登录shell

/etc/shadow    保存用户密码(加密)

/etc/group       保存组信息

管理用户和组相关命令

命令 参数 说明
useradd 参数 用户名 -d 指定用户家目录   -s 指定用户登陆shell  -u 指定用户uid
-g 指定用户所属主组  -G指定用户所属附属组
创建用户
usermod 参数 用户名 -l 修改用户名   -u 修改uid   -g 修改用户主组
-G 修改用户附属组  -L 锁定用户  -U 解锁用户
修改用户
userdel 用户名 -r(同时删除家目录) 删除用户
groupadd 组名   创建组
groupmod 参数 组名 groupmod -n  新组名 旧组名
groupmod -g 新组ID 旧组ID
修改组
groupdel 组名   删除组

其中创建用户(useradd)所执行的操作包括以下:

  1. 在/etc/passwd中添加用户信息
  2. 若使用passwd创建密码则在/etc/shadow中添加密码
  3. 为用户建立一个新的家目录
  4. 将/etc/skel中的文件复制到用户的家目录中
  5. 建立一个与用户名相同的组,新建用户默认属于这个组
组的概念
组用于方便归类管理用户,根据部门、职能和地理区域归类用户
-每个组有一个groupId
-组信息保存在/etc/group中
-每个用户拥有一个主组,同时最多拥有31个附属组

二、linux权限基础

权限是操作系统用来限制用户、组、进程对操作系统资源(文件、设备等)的访问的机制
权限分为:读、写、执行,一般表示为 r、w、x
系统中每个文件都拥有特定的权限、所属用户和所属组,通过这种机制限制哪些用户、组对特定文件进行什么样的操作
每个进程都是以某个用户的身份运行,进程的权限与该用户权限一致

权限
文件
目录
r
可读取文件内容
可列出目录中内容
w
可以修改文件内容
可创建删除目录
x
可以作为命令执行
可以访问目录内容

目录必须有x权限,否则无法查看其他内容

UGO模型

linux权限基于UGO模型User Group Other
权限三个一组(rwx),分别对应UGO设置
每个文件拥有一个所属用户和所属组,对应UG,不属于该文件所属用户或者所属组的使用O权限

文件所属用户、组和权限相关命令

修改文件的所属用户 chown 用户  文件 (-R 递归的修改目录下的所有文件的所属用户)

修改文件的所属组 chgrp组名 文件(-R 递归的修改目录下的所有文件的所属用户)

修改文件的权限 chmod  模式  文件

模式格式如下:
(1)u、g、o代表用户、组、其他
(2)a可以代指ugo
(3)+、-代表加入或删除对应权限
(4)r、w、x代表三种权限

如: chmod  u+w linuxcast-file(-R 递归的修改目录)

数字方式表示权限模式

-r  =4    -w =2    -x  =1
chmod 660 linuxcast ==rw-rw---- (数字形式必须3个都修改)
chmod 775 linuxcast ==rwxrwxr-x

三、linux扩展权限

默认权限umask
每一个终端都有一个umask熟悉,来确定新建文件夹和新建文件的默认权限
目录的默认权限是:777-umask
文件的默认权限是:666-umask
一般普通用户默认umask=002,root用户的默认umask=022
umask   查看umask取值或设置umask值
linux特殊权限
参数
文件
文件夹
suid=4
以文件的所属用户身份执行,而非执行文件的用户
-rwsr-xr-x  /usr/bin/passwd 
(普通用户运行passwd命令以所属用户root运行)
sgid=2
以文件的所属组身份执行
在该目录中创建的任意新文件的所属组与该目录的所属组相同
sticky=1
对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件

chmod   u+s testfile  设置suid
chmod   g+s testfile  设置sgid
chmod   o+t  testfile  设置sticky
chmod  4777 testfile

抱歉!评论已关闭.