Linux用户和权限管理

基础知识

  • Linux用户

    • 管理员:root 0
    • 普通用户:1-65535
      • 系统用户:Centos6:1-499,Centos7:1-999
      • 登录用户:Centos6:500+,Centos7:1000+
  • Linux组:

    • 管理员组:root 0

    • 普通组:

      • 系统组
      • 登录用户组
    • 组类别:

      • 基本组(主组):组名同用户名,且仅包含一个用户,私有组
      • 附加组(额外组):一个用户可以属于多个额外组
  • 用户和组相关的配置文件

    • /etc/passwd:用户及其属性信息(名称、UID、基本组ID等等)

    • /etc/group:组及其属性信息

    • /etc/shadow:用户密码及其相关属性

    • /etc/gshadow:组密码及其相关属性

[root@server1 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
字段解析:
name:password:UID:GID:描述:directory:shell[root@server1 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
字段解析:
group_name:password:GID:user_list[root@server1 ~]# cat /etc/shadow
root:$6$pGGxCptV$ORQhySfwpOCMr4mUPZ0bJfv3X82Zg8dCyqfcjfmafP5cyfaObevcXM2kl5azMfKYorG3BnjFwQyYkORIzGZry/:18819:0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
adm:*:18353:0:99999:7:::
lp:*:18353:0:99999:7:::
字段解析:
name:password:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码禁用日期:账户过期日期:保留字段

用户管理

信息查看

id

[root@server1 ~]# id
uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@server1 ~]# id user01
uid=1000(user01) gid=1000(user01) 组=1000(user01)

查看文件

[root@server1 ~]# ll /home
总用量 0
drwxr-xr-x. 4 root     root     29 7月  11 20:22 abc
drwx------. 2 alice    alice    83 4月  19 00:01 alice
drwxr-xr-x. 2 root     root      6 7月  11 20:22 dfg
-rw-r--r--. 1 root     root      0 7月  11 20:37 dir01
drwxr-xr-x. 2 root     root     36 7月  11 20:39 dir02

用户管理

创建用户useradd

常用选项:
‐u:指定uid
‐g:指定gid
‐c:用户注释信息
‐d:家目录
‐s:指定shell(/etc/shells)
‐G:附加组
‐r:创建系统用户
默认设置:/etc/default/useradd[root@server1 ~]# useradd zhangsan -G group1 -s /bin/csh -c '张三的信息'
[root@server1 ~]# id zhangsan
uid=1007(zhangsan) gid=1010(zhangsan) 组=1010(zhangsan),1009(group1)
[root@server1 ~]# cat /etc/passwd | grep zhangsan
zhangsan:x:1007:1010:张三的信息:/home/zhangsan:/bin/csh

修改用户组usermod

常用选项:
‐ aG:将用户添加到附加组
‐ dm:移动用户新登录目录
‐ L:锁定用户
‐ U:解锁用户[root@server1 ~]# usermod -G it user01 #覆盖附加组
[root@server1 ~]# id user01
uid=1000(user01) gid=1000(user01) 组=1000(user01),1011(it)[root@server1 ~]# usermod -aG hr user01 #追加附加组
[root@server1 ~]# id user01
uid=1000(user01) gid=1000(user01) 组=1000(user01),1004(hr),1011(it)

修改用户密码passwd

常用选项:
‐n mindays:指定最短使用期限
‐x maxdays:最大使用期限
‐w warndays:提前多少天开始警告
‐i inactivedays:非活动期限
‐‐stdin:从标准输入接收用户密码
echo "PASSWD" | passwd ‐‐stdin username[root@server1 ~]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

删除用户userdel

-r 连同家目录一起删除[root@server1 home]# ls
abc  alice  dfg  file10  gaoxinyu  nizhan  user01  user02  user03  user04  zhangsan
[root@server1 home]# userdel -r zhangsan
[root@server1 home]# ls
abc  alice  dfg  file10  gaoxinyu  nizhan  user01  user02  user03  user04

组管理

创建组groupadd

常用选项:
‐g:指定gid
‐r:创建系统组

删除组groupdel

sudo提权

常用切换方式:
su username:切换用户,不读取用户配置信息
su ‐ username:完全切换(记住这个,就可)[root@server1 ~]# id alice
uid=1004(alice) gid=1006(alice) 组=1006(alice)#普通用户alice尝试创建用户wanger,被拒绝
[alice@server1 ~]$ useradd wanger
useradd: Permission denied.
useradd:无法锁定 /etc/passwd,请稍后再试。#修改sudo提权配置文件
[root@server1 ~]# vim /etc/sudoers
将107行的%whee ALL=(ALL)   NOPASSWD:ALL前面的#和%删除
:wq!保存强制退出
[root@server1 ~]# gpasswd -a alice wheel
正在将用户“alice”加入到“wheel”组中
[root@server1 ~]# id alice
uid=1004(alice) gid=1006(alice) 组=1006(alice),10(wheel)#重新登录alice用户,sudo提权
[root@server1 ~]# su - alice#sudo提权并创建用户,成功
[alice@server1 ~]$ sudo useradd wanger
[sudo] alice 的密码:
[alice@server1 ~]$ ls /home
alice   wanger

权限管理

权限设置原因

  • 服务器中的数据价值

  • 员工的工作职责和分工不同

  • 应对自外部的攻击(挂马)

  • 内部管理的需要

基本概念

  • 文件的权限对象:

    • owner:属主,u
    • group:属组,g
    • other:其他,o

root不受权限限制,拥有所有权限

  • 文件的三种权限:

    • r:Readable 4
    • w:Writeable 2
    • x:eXcutable 1
  • 文件:

    • r:可读文件内容
    • w:可修改其内容
    • x:可作为命令执行
  • 目录:

    • r:可以使用ls查看此目录中的文件列表
    • w:可在此目录中创建mkdir,touch,也可以删除rmdir,rm -rf此目录中的文件
    • x:可以使用ls查看此目录中文件列表,可以cd进入此目录

注:一般给予目录读权限时,也将会给其执行权限

奇葩权限:
  • 设置不合理的权限,单独出现2或3的权限数字。如权限731中的3权限,3表示写+执行权限,但是写又必须需要能打开之后才可以写,因此必须需要具备可读权限,因此此权限设置不合理。

权限管理(u,g,o)

更改属主(组)chown

更改属组chgrp

[root@server1 ~]# chown alice:hr file1#改属主,属组
[root@server1 ~]# chown alice file1 #改属主
[root@server1 ~]# chown :hr file1 #改属组[root@server1 ~]# chgrp g1 file1#改文件属组
[root@server1 ~]# ll file1
-rw-r--r--. 1 alice g1 0 7月  12 18:01 file1[root@server1 ~]# chgrp -R g1 dir1#改文件夹属组
[root@server1 ~]# ll
总用量 16
-rw-------. 1 root  root 1241 3月  16 17:52 anaconda-ks.cfg
-rwxr-xr-x. 1 root  root 9024 5月  24 12:11 a.out
drwxr-xr-x. 2 root  g1      6 7月  12 18:10 dir1

更改文件权限chmod

常用选项:
‐R:递归设置,针对文件夹(目录)[root@server1 ~]# chmod u=rwx,g=r,o=r file1
[root@server1 ~]# ll file1
-rwxr--r--. 1 alice g1 0 7月  12 18:01 file1[root@server1 ~]# chmod u-x file1
[root@server1 ~]# ll file1
-rw-r--r--. 1 alice g1 0 7月  12 18:01 file1[root@server1 ~]# chmod a-w file1
[root@server1 ~]# ll file1
-r--r--r--. 1 alice g1 0 7月  12 18:01 file1[root@server1 ~]# chmod 764 file1
[root@server1 ~]# ll file1
-rwxrw-r--. 1 alice g1 0 7月  12 18:01 file1

删除文件失败如何解决?

  • sudo提权
  • 可检查用户对所在目录是否有w权限

ACL权限

  • ACL 是 Access Control List 的缩写,在 Linux 系统中, ACL 可实现对单一用户设定访问文件的权限。优势就是让权限控制更加的精准。

getfacl获取ACL权限

getfacl 文件或目录名

setfacl设置ACL权限

常用选项:
‐m :修改acl设定参数
‐x :删除acl设定参数
‐b :移除所有的ACL设定
‐R :递归
‐d :添加默认的acl权限
  • 删除ACL权限
删除用户权限:setacl ‐x u:username filename
删除组权限:setacl ‐x g:groupname filename
删除整个acl权限:setacl ‐b filename
  • 用户设定ACL权限:setfacl -m u:username:权限 filename
设定alice对file1有rwx权限
[root@server1 ~]# setfacl -m u:alice:rwx file1
[root@server1 ~]# getfacl file1
# file: file1
# owner: alice
# group: g1
user::rwx
user:alice:rwx
group::rw-
mask::rwx
other::r--设定user对testdirectory目录下所有文件有rwx权限
setfacl ‐R ‐m u:user:rwx testdirectory去掉user对testdirectory的x权限
setfacl ‐x u:user testdirectory/去掉所有acl权限
[root@server1 ~]# setfacl -b file1
[root@server1 ~]# getfacl file1
# file: file1
# owner: alice
# group: g1
user::rwx
group::rw-
other::r--为testdirectory目录添加默认的acl权限,此目录下创建目录和文件,user都有rwx权限
setfacl ‐d ‐m u:user:rwx testdirectory/
  • 组设定ACL权限: setfacl -m g:groupname:权限 filename
给acl_test1文件添加mygropu1组rx权限设定
[root@study ~]# setfacl ‐m g:mygroup1:rx acl_test1
[root@study ~]# getfacl acl_test1
# file: acl_test1
# owner: root
# group: root
user::rwx
user:vbird1:rx
group::r‐‐ group:mygroup1:rx # 组权限设定
mask::rx
other::r‐‐

特殊权限

文件的特殊权限包括:SUID、SGID、SBIT

SUID:冒险位S(4)

  • SUID:暂时借出程序所有者的权限

    • SUID权限仅对二进制文件(命令)有效 ,且仅在本程序中拥有改权限

查询命令所在的路径

[root@server1 ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz
[root@server1 ~]# type passwd
passwd 是 /usr/bin/passwd
  • 举例

    • 普通用户zhangsan修改密码=> 调用passwd命令=> 执行/usr/bin/passwd => 修改/etc/shadow文件
[root@server1 ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 4月   1 2020 /usr/bin/passwd
[root@server1 ~]# ll /etc/shadow
----------. 1 root root 1100 7月  12 17:44 /etc/shadow
普通用户没有直接修改/etc/shadow中密码的权利,只有root可以
普通用户可以通过使用具有s权限的passwd命令,借用root的权利来修改自己的密码

SGID:强制位S(2)

  • SGID:暂时借出用户组的权限 2

    • 二进制文件(命令)有效
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# useradd lisi
[root@localhost ~]# ll /home/
total 0
drwx‐‐‐‐‐‐. 2 lisi lisi 62 Aug 5 09:51 lisi
drwx‐‐‐‐‐‐. 2 zhangsan zhangsan 62 Aug 5 09:51 zhangsan
[root@localhost ~]# chmod 2770 /home/zhangsan
[root@localhost ~]# ll ‐d /home/zhangsan
drwxrws‐‐‐. 2 zhangsan zhangsan 62 Aug 5 09:51 /home/zhangsan
[root@localhost ~]# usermod ‐aG zhangsan lisi
[root@localhost ~]# su lisi
[lisi@localhost root]$ cd /home/lisi/
[lisi@localhost ~]$ touch 1.txt
[lisi@localhost ~]$ ll
total 0
‐rw‐rw‐r‐‐. 1 lisi lisi 0 Aug 5 09:56 1.txt
[lisi@localhost ~]$ cd /home/zhangsan
[lisi@localhost zhangsan]$ touch 1.txt
[lisi@localhost zhangsan]$ ll
total 0
‐rw‐rw‐r‐‐. 1 lisi zhangsan 0 Aug 5 09:57 1.txt
#lisi用户在SGID目录创建文件的属主为 zhangsan(该目录的所属组)

SBIT:粘滞位T(1)

  • 该特殊权限针对目录,目录中的文件只能被文件的拥有者删除

  • SBIT用来做共享目录 :同一用户组的多个用户拥有共同的目录,在创建文件时该用户组的所有用户都有相同的权利操作文件。用户创建该目录时,只有自己或root可以删除该目录下的文件,其他用户不可以修改此文件

[root@server1 ~]# ll -d /tmp
drwxrwxrwt. 9 root root 264 7月  12 14:01 /tmp#t表示具有SBIT权限

设置或修改特殊文件

使用数字,第一位表示特殊权限,后三位为基本权限
chmod u+s file1
chmod 4644 file1
chmod u-s file1
chmod 0644 file1chmod g+s dir1
chmod 2755 dir1
chmod g-s dir1
chmod 0755 dir1chmod o+t dir1
chmod 1755 dir1
chmod o-t dir1
chmod 0755 dir1[root@server1 ~]# chmod 7644 file1
[root@server1 ~]# ll
-rwSr-Sr-T. 1 alice g1      0 7月  12 18:01 file1注:
大写的高级权限表示普通权限没有x执行权限
小写的高级权限表示普通权限有x执行权限
特殊权限生效的前提是:文件(夹)必须拥有x执行权限

进程umask

umask :文件或目录的遮掩码

File:666 ‐ umask :root创建的文件权限默认为644,普通用户创建的文件权限默认为664

Dir: 777 ‐ umask :root创建的目录权限默认为755,普通用户创建的目录权限默认为775

扩展:实际上我们创建一个普通文件最高权限666(预设没有x权限)。而创建一个文件夹其最高权限777

实际文件权限 = 最高权限 - umask的值

  • 查看:umask
[root@server1 ~]# umask
0022  #root默认为022
[zhangsan@server1 ~]$ umask
0002  #普通用户默认为022
  • 临时设定:umask 设置值(不建议修改)

  • 永久设定:修改相关配置文件~/.bashrc(不建议修改)

    • 在文件中追加 :
    • umask 设置值

Linux用户、组和权限管理相关推荐

  1. Linux用户及文件权限管理

    一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别 ...

  2. linux用户及用户权限管理,Linux用户用户组及权限管理

    Linux安全上下文: 运行中的程序:进程 进程所能够访问资源的权限取决于进程的运行者身份 涉及的配置文件 /etc/passwd:保存用户信息 whatis passwd sslpasswd (1s ...

  3. linux系统用户,组和权限的管理

    PS: {最近一直在做毕业设计,前面博客也记录过我的一些过程.其中需要在Ubuntu上搭建一个FTP服务器,此处我选择Vsftpd,但是在我对vsftpd的配置文件vsftpd.conf设置正确后(对 ...

  4. Linux CentOS 8(用户与组相关权限管理实验)

    Linux CentOS 8(用户与组相关权限管理实验) 目录 一.项目介绍 二.相关概念 2.1 用户管理简介 2.2 在 Linux 中每个文件的所有者.所在组.其它组的概念 三.任务操作 任务1 ...

  5. 《Linux基础三》用户和文件权限管理

    用户和文件权限管理 1,用户 管理员用户: Root用户,也称根用户.超级用户.超级管理员 可对根目录执行读写和执行操作 具有系统中的最高.所有权限 普通用户: 权限有限的用户 Root用户拥有系统的 ...

  6. linux设置共享权限设置命令,Linux系列知识详解(三)--------- Linux链接命令和权限管理命令...

    Linux系列知识详解(三)--------- Linux链接命令和权限管理命令 一:链接命令ln 简介:什么是链接命令?链接命令分为软链接和硬链接.其中软链接产生的新文件是以路径的形式表示原文件,类 ...

  7. 【用户——提权——权限管理】

    用户--提权--权限管理 linux用户管理 用户基本概述 什么是用户 为什么需要用户 用户有哪些分类 查询用户的ID信息 用户相关配置文件 passwd文件 shadow文件 用户相关命令 添加用户 ...

  8. Linux 文件解压缩及权限管理

    Linux 文件解压缩及权限管理 一.文件解压缩 1.gzip 功能:压缩文件 补充知识说明:zip是使用广泛的压缩程序,文件经它压缩后会另外产生具有.zip扩展名的压缩文件. 压缩文件大小有两个明显 ...

  9. Linux 用户磁盘空间配额管理

    Linux 用户磁盘空间配额管理 2011-12-21 17:16 文件系统配额示例:检查quota功能包是否已经安装:rpm –q quota 1. 先要启动文件系统的限额功能.这一步主要是要编辑/ ...

  10. linux 774是什么权限,7.6 Linux用户与文件权限操作实例

    <7.6 Linux用户与文件权限操作实例>由会员分享,可在线阅读,更多相关<7.6 Linux用户与文件权限操作实例(15页珍藏版)>请在人人文库网上搜索. 1.Linux用 ...

最新文章

  1. CentOS 7.8下安装PyRosetta4
  2. matlab利用作图法求圆周率
  3. 一条命令教你安装centos下面的pip服务
  4. 什么是数据的完整性约束
  5. WEB应用中的信息泄漏以及攻击方法
  6. python 微信爬虫_PythonWchatScrapy
  7. python微信语音转发方法_微信怎么转发语音(想要转到别的群或者人这样做)
  8. tcp rst 情况
  9. 个性化Wordpress主题
  10. windows使用scp远程传输文件的方法
  11. Technical support of LYF-Solid Background
  12. 详细图解如何注册 Navicat for Mysql 11.0.17 企业版(Win7 64bit)
  13. 2023届嵌入式笔面经一位双非本科生的秋招日记
  14. 论文笔记:MPRNet: Multi-Stage Progressive Image Restoration
  15. Mac 修改系统默认Java版本
  16. 使用scrapy +selenium爬取动态渲染的页面
  17. git repo 入门 简介
  18. K8s 支持一键部署
  19. 面试经验 ❀ 无领导小组讨论的简介与经验
  20. C#常用字符串加解密方法封装

热门文章

  1. 【整理】什么是SDK(软件开发工具包)
  2. WorkManager笔记: 三、加急工作
  3. Azure OpenAI 官方指南03|DALL-E 的图像生成功能与安全过滤机制
  4. 8、Python 机器学习基础知识Pandas库中的DataFrom(二)
  5. 【运维】家有苹果——路由器端网络加速的黑白名单
  6. 有些型号的华为手机使用rem时,内容会超出屏幕宽度的问题
  7. 外出住酒店,要先烧水浇马桶?对了,还有五件事要注意,别忘了
  8. SkeyeVSS视频共享融合赋能平台技术方案之AI视频智能分析中台子系统架构设计
  9. 【数据结构】【模拟】HDU6406 Taotao Picks Apples
  10. 【操作系统⑫】——存储管理(下)【分段存储管理 虚拟存储管理 段页式存储管理方案 页面置换算法 OPT FIFO LRU】