Linux账号和权限

目录

用户账号和组账号

概述:Linux基于用户权限对资源访问进控制

用户账号及UID范围

组账号

UID/GID

useradd

usermod

userdel

passwd

chage

用户初始配置文件

groupadd

gpasswd

groupdel

文件及目录权限

三种权限:

chmod

chown

umask

三种特殊权限

suid 属主

SGID 属组

Sticky位 粘贴位

访问acl控制列表


本章重点

用户:

useradd添加用户

passwd修改密码

usermod修改用户属性

权限

chmod

chown

用户账号和组账号

概述:Linux基于用户权限对资源访问进控制
  • 用户账号及UID范围

    Linux用户通过UID识别新建普通用户,分配权限

    • 超级用户(全部权限,root):0

    • 普通用户(受限权限,在个人家目录中拥有完整权限)

      • centos6:500-60000(范围可调整)

      • centos7:1000-60000

    • 程序用户(系统自带,第三方软件安装时会创建,不可登录,程序使用)

      • centos6:1-499

      • centos7:1-999

  • 组账号
    • 基本组(私有,有且唯一)

    • 附加组(共有,可有可无,可有多个)

  • UID/GID
    • UID(User IDentity,用户标识号)

      • 可使用重复UID创建用户,相当于硬链接,属于同一用户不同名称

    • GID(Group IDentity,组)

useradd

实际操作:往/etc/passwd中添加了一条用户信息

  • /etc/passwd 用于保存用户名称、用户目录、登录shell等基本信息

    • 登录用户名(login name):wang

    • 密码(passwd):x

    • 用户身份编号(UID):1000

    • 登录所在组(GID):1000

    • 用户全名或备注(GECOS):wang

    • 用户主目录(home directory):/home/wang

    • 默认使用shell(shell):/bin/bash

      • /sbin/nologin:表示禁止登录

  • cat /etc/passwd |tail -n1 查看最后一行记录(最新创建的用户)

  • /etc/shadow 保存密码文件

    • tail -n1 /etc/shadow

通常nginx用户才能登录nginx软件,root用户权限过高,缺少安全性

语法:

useradd [选项] 用户名

作用:

  • 新建用户(同时生成组信息)

  • 修改新建用户的属性

[选项]:

  • -M:不添加家目录

  • -u:指定UID,范围1000-60000

  • -s:修改默认shall类型,指定目录默认/bin/bash,可修改为/sbin/nologin(禁止登录,nologin:程序用户)

  • -d:指定用户的宿主目录位置(与-M一起使用不生效)

  • -e:指定用户的账户失效时间(格式2023-10-30)

  • -g:指定用户的基本组名(或使用GID号)

  • -G:指定用户的附加组名(或使用GID号)

  • -r:创建系统用户,随机(centos6:id<500;centos7:id<1000,系统用户=程序用户)

  • -c:备注信息

补充命令:

  • id 用户名:查看用户id权限(UID、组ID、组)

  • whoami:查看当前登录用户信息

usermod

语法:

usermod [选项] 用户(更改已有用户属性)

  • -l(小L):修改用户名

  • -U:解锁用户账号

  • -L:锁定用户账号

userdel

语法:

userdel -r 用户(删除用户,-r 连同删除用户家目录)

passwd

语法:

passwd [选项] 用户名(修改用户密码)

[选项]:

  • 不添加任何字符:更改当前用户密码

  • -d:清空指定用户密码(生产环境中不建议使用)

  • -l:锁定用户账号

  • -S:查看被锁定用户

  • -u:解锁用户账号

扩展:echo 123123 | passwd   root  --stdin(直接更改密码,不提示更改命令)

  • --stdin:标准输入

chage

语法:

chage [选项] 用户名

[选项]:

  • -d:--lastday 最近日期

  • -E:--expiredate 过期日期

  • -h:--help

  • -I(大i):--inactive INACITVE

  • -l(小L):--list

  • -m:--mindays 最小天数

  • -M:--maxdays 最人天数

  • -R:--root CHROOT_DIR

  • -W:--warndays 警告天数

用户初始配置文件

文件位置:

  • 新建用户,从/etc/skel 中复制而来

  • 查看:cat /etc/default/Useradd

主要的用户初始配置文件

  • ~/.bash_profile(开机时)

  • ~/.bashrc(开机时)

  • ~/.bash_logout(关机时)

groupadd

语法:

groupadd [选项] 用户 组(给用户添加组)

[选项]:

  • -a:将用户加入组

  • -d:将用户删除出组

  • -M:批量加减

gpasswd

给组添加密码(基本不用)

groupdel

groupdel -r 用户 组(删除用户组)

扩展:

  • finger 用户:查询用户账号的详细信息

  • w [选项] 用户:查询已登录到主机的用户信息

  • whoami:查看当前登录用户信息

  • users:查询所有用户

文件及目录权限

三种权限:
  • r 读:可查看文件内容,显示目录列表

  • w 写:可修改内容,在目录中移动、复制、增减、删除其中文件内容

  • x 执行:可运行程序(对文件),切换目录(对目录),一般对程序运用(绿色)

文件权限,需要区分三类:

  • 属主:文件拥有者

  • 属组:文件的拥有组

  • 其他人:other

例:

  • rwx:属主

  • r-x:属组

  • r-x:其他人

  • -:没有权限

有权限为1,没有为0

r001001=1
w010010=2
x100100=4
只运行只写只读范围:0-7

补充:

对文件夹而言,必须拥有执行权限x,否则拥有其他权限也无法操作

x为目录的最小权限

一个普通文件被删除,与文件本身无关,与文件所在文件夹有关

chmod

语法:

  • chmod [ugoa] [+ - =] [rwx] 文件或目录(修改文件权限)

    • ugoa:属主、属组、其他用户、所有用户(不建议使用)

    • +-=:增加、去除、设置权限(不建议使用,必须同时使用[ugoa])

    • rwx:读、写、运行权限

  • chmod [选项] nnn(三位八进制数) 文件或目录

[选项]:

  • -R:递归修改指定目录下所有子目录

  • 例:chmod 777 test

chown

chown 属主.属组 文件名:改变文件的属主

  • -R:递归修改指定目录下所有子目录的属主或属组

  • chown wang test:只改变属主

  • chown .root test:只改变属组

  • 例:

补充:

  • 面试题:

    执行 cp /etc/issue /data/dir/所需要的最小权限?

    cp——x

    etc——x

    issue——r

    data——x

    dir——wx

umask

umask 将值保留在创建文件权限,决定了文件落地的权限

默认值:

  • 文件的默认权限为644——666-umask(022),其最大权限为666(不可执行,权限只能为偶数,若所得结果为奇数,则将奇数+1)

  • 文件夹默认权限为755——777-umask(022)

  • 非特权用户的umask默认为002

  • root的umask默认为022

  • 例:

三种特殊权限

[ugoa]

  • u:属主

  • g:属组

  • o:其他用户

  • a:所有用户

suid 属主

作用:

让普通用户临时拥有该文件的属主的执行权限,suid权限只能应用在二进制可执行文件(命令)上,而且suid权限只能设置在属主位置上。

SGID 属组

作用:

sgid权限一般应用在目录上,当一个目录拥有sgid权限时,任何用户在该目录下创建的文件的属组都会继承该目录的属组。

Sticky位 粘贴位

文件夹有效,文件无效

具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权

访问acl控制列表

ACL:Access Control List,实现灵活的权限管理,除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

CentOS7 默认创建的xfs和ext4文件系统具有ACL功能

CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值