Linux用户和组管理

Linux用户和组管理

基础知识
Linux用户
管理员:root 0
普通用户:1-65535
系统用户:1-499,1-999
登录用户:500+,1000+
Linux组
管理员组:root 0
普通组:1-65535
系统组:1-499,1-999
登录组:500+,1000+
组类别
基本组
当创建一个用户时,会自动产生一个与用户名相同的组名,且仅包含当前用户
附加组
一个用户可以属于多个附加组
Linux安全上下文
运行中的程序叫做进程
进程能够访问的所有资源的权限取决于进程发起者的身份
用户和组的相关配置文件
/etc/passwd:用户及其属性信息(用户名、uid等等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性信息
/etc/gshadow:组密码及其相关属性信息
配置文件详解

[root@localhost ~]# cat /etc/passwd | head -n 1
		root:x:0:0:root:/root:/bin/bash
		用户名:密码:uid:gid:用户注释信息:用户家目录:登录shell

	[root@localhost ~]# cat /etc/group 
	组名称:密码:组id:用户列表
	
	[root@localhost ~]# cat /etc/shadow
	登录名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间:
		密码禁用使用:账户过期日期:保留字段

user相关

useradd命令

​ -u:指定uid
​ -g:指定gid
​ -c:指定用户注释信息
​ -d:指定用户家目录
​ -s:指定登录shell
​ -G:指定附加组
​ -r:创建系统用户
userdel命令
​ -r:连同用户家目录一起删除
usermod命令
​ -aG:将用户添加到附加组
​ -dm:移动用户新登录家目录

-d:单独使用时,只是把保存在/etc/passwd这个配置文件当中的源目录名改成指定的新目录名,并不会把源目录下的内容移动到新目录下,如果要把源目录下的内容移动新目录下,则要和-m选项一起使用,才会把源目录下的内容移动到新目录下。

-m:与-d一起使用时会将原有的家目录移动要指定目录并根据需要改名
————————————————

​ -L:锁定用户
​ -U:解锁用户

passwd命令

  • -k:保持身份验证令牌不过期

  • -d:删除已命名帐号的密码(只有根用户才能进行此操作)

  • -l:锁定指名帐户的密码(仅限 root 用户)

  • -u:解锁指名账户的密码(仅限 root 用户)

  • -x:密码的最长有效时限(只有根用户才能进行此操作),设置该用户的密码有效期,对应 /etc/shadow 文件中各行密码的第 5 个字段

  • -n:密码的最短有效时限(只有根用户才能进行此操作),在此时间内不能修改密码

  • -w:在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)

  • -i:当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)

  • -S:报告已命名帐号的密码状态(只有根用户才能进行此操作)

  • –stdin:从标准输入读取令牌(只有根用户才能进行此操作)

[root@localhost ~]# echo "1" | passwd --stdin lisi

案例
​ 创建用户gentoo、附加组尾distro、linux,默认shell为/bin/csh,注释信息为“GENTOO”

[root@localhost ~]# useradd -G distro,linux -s /bin/bash -c "GENTOO" gentoo

组管理

groupadd [选项]

选项

  • -g:指定新建工作组的 id

  • -r:创建系统工作组,系统工作组的组ID小于 500;

  • -K:覆盖配置文件 /etc/login.defs

  • -o:允许添加组 ID 号不唯一的工作组。

  • -f:如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。
    groupdel
    groupmod
    gpasswd
    相关命令
    id:可以查看到用户及其组的信息
    -g:输出gid
    -G:输出附加组
    -u:输出uid
    -n:输出name替代id
    su:可以切换用户环境
    su username:切换用户,不读取用户配置信息
    su - username:切换用户,完全切换
    su - userame -c command:切换用户执行命令
    sudo:用户提权root权限

用户权限管理

​ 文件的权限管理主要针对三类对象定义
​ 属主;u
​ 属组:g
​ 其他:o
​ 每个文件针对每类对象都有三种权限
​ r:可读,4
​ w:棵写,2
​ x:可以执行,1
​ 对于普通文件
​ r:可以使用文件查看类工具获取其内容,比如ls
​ w:可以修改类工具
​ x:可以把此文件启动为一个进程
​ 对于目录来说
​ r:可以使用ls命令查看此文件列表
​ w:可以在此目录中创建文件,也可以在此目录中删除文件
​ x:可以使用cd命令进入到此目录中
​ 举例
​ [root@localhost ~]# ll
​ -rw-r–r–. 1 root root 1162 8月 22 11:09 eagle
​ 属主的权限是:rw-,拥有可读可写不可执行的权限
​ 属组的权限是:r–,拥有可读不可写不可执行的权限
​ 其他的权限是:r–,拥有可读不可写不可执行的权限
​ 权限值644
相关管理命令
chmod命令
​ -R:递归修改
​ 修改方式
​ u=
​ g=
​ o=
​ 421
chown命令
​ -R:递归修改
chgrp命令
umask命令
​ 在当前文件夹下创建文件时的默认权限遮掩码

特殊权限

​ SUID:4
​ SGID:2
​ SBIT:1
SUID:4
​ SUID权限仅仅对二进制程序是有效
​ 执行者必须有x权限
​ 仅在本程序拥有权限
​ 借出属主的权限
​ 当属主有x权限时,suid设置为s
​ 当属主没有x权限时,suid设置为S
​ 典型例子passwd工具
SGID:2
​ 二进制程序有效
​ 执行者需要拥有x权限
​ 当属组有x权限时,sgid设置为s
​ 当属组没有x权限时,sgid设置为S
SBIT:1
​ 共享目录
​ 针对目录
​ 只有属主和root用户可以修改删除该文件
​ 其他用户不可以删除别人的文件
​ 典型例子/tmp

ACL权限

原文链接:https://www.cnblogs.com/MLibra/p/6240209.html

主要目的是针对传统的属主属组其他权限控制不够的地方,进行细节权限补充
ACL可以针对单一使用者,单一文件或目录来进行rwx的权限规范,对于需要特殊权限的使用有帮助

setfacl命令
-m:添加acl参数,只针对目录有效
-x:删除acl参数
-b:移除所有acl的相关的参数
-R:递归添加acl设定参数
-d:添加默认的acl参数
删除用户权限
setfacl -x u:username filename
删除组权限
setfacl -x g:groupname filename
删除整个acl权限
setfacl -b filename
添加参数
getfacl
[root@localhost ~]# getfacl test1

#file: test1

#owner: root

#group: root

​ user::rw-
​ group::r–
​ mask::r–
​ other::r–

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值