博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 用户组权限讲解
阅读量:7209 次
发布时间:2019-06-29

本文共 6329 字,大约阅读时间需要 21 分钟。

用户分类

  • 用户分类
    • 管理员 ID 0
    • 普通用户 ID 1-65535
      • 系统用户 ID centos7:1-999 centos6: 1-499
      • 登入用户 ID centos7:1000-60000 centos6 500-60000
  • 用户信息表 /etc/passwd

    • 管理员组 gid 0
    • 普通用户组 gid 1-65535
      • 系统用户组:gid 1-499(CentOS6), 1-999(CentOS7)
      • 登录用户组:gid 500-60000(CentOS6), 1000-60000(CentOS7)
    • 组信息表 /etc/group

认证信息

  • 认证信息
    • 通过比对事先存储的,与登录时提供的信息是否一致;
    • password:
      • /etc/shadow
      • /etc/gshadow
    • 加密算法:
      • 对称加密:加密和解密使用同一个密钥;
      • 非对称加密:加密和解密使用的一对儿密钥; 比对称大概慢3倍
        • 密钥对儿:
          • 公钥:public key 加密
          • 私钥: private key 解密
      • 单向加密:只能加密,不能解密;提取数据特征码; 比如md5
        • 定长输出: 比如md5 32位十六进制
        • 雪崩效应: 改变一点,面目全非
        • 算法:
          • md5: message digest, 128bits 2**128
          • sha , 160bits
          • sha224
          • sha256
          • sha384
          • sha512

/etc/passwd 用户列表介绍

获取帮助

[root@localhost ~]# whatis passwdsslpasswd (1ssl)     - compute password hashespasswd (1)           - update user's authentication tokens[root@localhost ~]# man 1 passwd

字段解释:

name password UID GID GECOS directory shell
用户名 可以是加密的密码,也可是占位符x; UID 用户所属的主组的ID号; 注释信息 用户的家目录 用户的默认shell,登录时默认shell程序;
marvin x 1000 1000 marvin /home/marvin /bin/bash

/etc/shadow 用户账号信息介绍

获取帮助:

[root@localhost ~]# whatis shadowshadow (3)           - 加密密码文件工具函数shadow (5)           - 影子化了的密码文件

字段解释及设置:

用户名 加密的密码 最近一次修改密码的时间 最短使用期限 最长使用期限 警告期段 过期期限 绝对过期期限
marvin $6$BO6gfCBNbXupeuqH$maRP57l/Uidh ... 17639 0 99999 7 10 --
marvin 按照$分割,第一段表示加密方式6:sha512,第二段是salt,第三段是加密数据 17639 (从1970到上次改密码天数) 0:表示必需修改密码,空表示功能不被启用 至少使用多少天才能再次修改密码 从最近一次修改时间+最长使用天数 提前7天警告 修改密码时间+99999+10天后还没修改,账号锁定不能登入,只能改密码 过期时间
- - passwd -e zander passwd -n 6 zander passwd -x 24 zander passwd -w 29 zander passwd -i 19 zander useradd -e 2018-04-25 zander
- - chage -d 1 zander chage -m 10 zander chage -M 100 zander chage -W 100 zander chage -I 0 zander chage -E 2018-04-25 zander

/etc/group 用户组介绍

group_name password GID user_list
marvin x /etc/gshadow 1000 marvin 该组的用户成员;以此组为附加组的用户的用户列表

管理命令介绍

groupadd

添加组:

[root@localhost ~]# groupadd mygrp1

添加指定组:

[root@localhost ~]# groupadd   -g 1009 mygrp5

添加系统组:

[root@localhost ~]# groupadd   -r  mygrp6[root@localhost ~]# groupadd   -r  mygrp7mygrp6:x:996:mygrp7:x:995:

添加系统指定组:

[root@localhost ~]# groupadd   -r -g 993  mygrp8mygrp8:x:993:[root@localhost ~]# groupadd   -r -g 13  mygrp10[root@localhost ~]# groupadd   -r   mygrp11mygrp10:x:13:mygrp11:x:991:

修改组:

[root@localhost ~]# groupmod -g 1011  mygrp11[root@localhost ~]# groupmod -n mygrp12  mygrp11

删除组:

[root@localhost ~]# groupdel mygrp9

useradd

常见选项说明:

-u, --uid UID:指定UID;

-g, --gid GROUP:指定基本组ID,此组得事先存在;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
-c, --comment COMMENT:指明注释信息;
-d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
-s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
-r, --system:创建系统用户;
-m 创建家目录,一般自动创建 如果没有此选项和没开启CREATE_HOUME,那么家目录不会创建
-M 不创建家目录

默认创建用户会添加一个私有组

[root@localhost ~]# useradd zanderzander:x:1001:1002::/home/zander:/bin/bashzander:!!:17640:0:99999:7:::   #密码zander:x:1002:                #组

指定组:组必须存在

[root@localhost ~]# useradd -g 1001  zander1

添加注释

[root@localhost ~]# useradd -c 'for test'  zander2zander2:x:1003:1003:for test:/home/zander2:/bin/bash

添加附加组

[root@localhost ~]# useradd -g 1001 -G 1002,1003  zander3[root@localhost ~]# useradd -g 1001 -G 1002,1003  zander34zander3:x:1004:1001::/home/zander3:/bin/bashmygrp:x:1001:zander:x:1002:zander3,zander34     组名:x:id:附加成员zander2:x:1003:zander3,zander34

指定家目录

[root@localhost ~]# useradd -d /tmp/zander4 znader4[root@localhost ~]# cat /tmp/zander4/.bash.bash_logout   .bash_profile  .bashrc

指定shell

[root@localhost ~]# cat /etc/shells/bin/sh/bin/bash               #登入用户/sbin/nologin           #不能登入/usr/bin/sh/usr/bin/bash/usr/sbin/nologin[root@localhost ~]# useradd -s /usr/sbin/nologin  zander5marvindeMacBook-Pro:~ marvin$ ssh zander5@192.168.1.102zander5@192.168.1.102's password:This account is currently not available.Connection to 192.168.1.102 closed.

创建系统用户( 不会创建家目录)

[root@localhost ~]# useradd -r  zander6zander6:x:998:996::/home/zander6:/bin/bash

不创建家目录

[root@localhost ~]# useradd -M  zander7marvindeMacBook-Pro:~ marvin$ ssh zander7@192.168.1.102zander7@192.168.1.102's password:Could not chdir to home directory /home/zander7: No such file or directory-bash-4.2$

设置密码过期期限 不设置永久不过期

[root@localhost ~]# useradd -f 8 zander9zander9:!!:17640:0:99999:7:8::

设置绝对过期时间

[root@localhost ~]# useradd -e 2018-01-20 zander14

usermod

常见选项说明:

-u, --uid UID:修改用户的ID为此处指定的新UID;

-g, --gid GROUP:修改用户所属的基本组;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;
-a, --append:与-G一同使用,用于为用户追加新的附加组;
-c, --comment COMMENT:修改注释信息;
-d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
-m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;
-l, --login NEW_LOGIN:修改用户名;
-s, --shell SHELL:修改用户的默认shell;
-L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";
-U, --unlock:解锁用户的密码;

修改家目录

[root@localhost test]# usermod  -d  /home/test/3 -m  zander11

锁定

[root@localhost test]# usermod -L zander17

解锁

[root@localhost test]# usermod -U zander17

更改附加组

[root@localhost test]# usermod -G  1016 zander17

追加附加组

root@localhost test]# usermod -a -G  1016 zander17[root@localhost test]# id zander17uid=1016(zander17) gid=1016(zander17) groups=1016(zander17),1015(zander15)

userdel

删除常用选项r 删除家目录

[root@localhost test]# userdel -r zander17userdel: user zander17 is currently used by process 70106

文件和文件夹权限说明

  1. 文件:
    1. r:可获取文件的数据;
    2. w: 可修改文件的数据;
    3. x:可将此文件运行为进程;
  2. 目录:
    1. r:可使用ls命令获取其下的所有文件列表;
    2. w: 可修改此目录下的文件列表;即创建或删除文件;
    3. x: 可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息;

说说附加组在文件文件夹中意义

gpasswd 设置附加组密码 如果附加组没有密码,则不在附加组中的用户无法切换到附加组上

[root@localhost ~]# gpasswd marvinChanging the password for group marvinNew Password:Re-enter new password:

普通用户删除在附加组目录下的root文件

[root@localhost tmp]# pwd/tmp#test 目录组属于zander用户[root@localhost tmp]# ll -d testdrwxrwxr-x. 2 root zander 6 Apr 21 15:48 test[root@localhost tmp]# cd test/#创建一个root的文件[root@localhost test]# touch a[root@localhost test]# ll-rw-r--r--. 1 root root 0 Apr 21 15:50 a#切换到marvin用户[marvin@localhost test]$ iduid=1000(marvin) gid=1000(marvin) 组=1000(marvin)[marvin@localhost test]$ echo 888 >> a-bash: a: 权限不够[marvin@localhost test]$ rm arm:是否删除有写保护的普通空文件 "a"?yrm: 无法删除"a": 权限不够#切换到zander组[marvin@localhost test]$ newgrp zander密码:[marvin@localhost test]$ iduid=1000(marvin) gid=1006(zander) 组=1006(zander),1000(marvin)[marvin@localhost test]$ echo 888 >> abash: a: 权限不够#删除成功[marvin@localhost test]$ rm arm:是否删除有写保护的普通空文件 "a"?y[marvin@localhost test]$ ls[marvin@localhost test]$

转载于:https://blog.51cto.com/marvin89/2105500

你可能感兴趣的文章
一个忙着找实习工作的大三在校生的真实感受!!!
查看>>
installed jre指向jdk而非jre位置&
查看>>
C#导出Excel按照指定格式设置单元格属性值
查看>>
栈与队列问题(主要是栈的使用)
查看>>
OAuth
查看>>
21分钟 MySQL 入门教程
查看>>
610. 数对的个数
查看>>
Bash中的括号(三)
查看>>
Ural 1353 Milliard Vasya's Function(DP)
查看>>
Pause Web Sessions
查看>>
JS获取当前时间戳的方法
查看>>
利用content为伊特元素追加三个小点
查看>>
【Mysql】将Excel表导入至Mysql的当中一张表
查看>>
WebViewJavascriptBridge的使用说明
查看>>
struts1——静态ActionForm与动态ActionForm
查看>>
Razor入门
查看>>
设计模式---装饰模式(Decorator)
查看>>
Ubuntu 16.04下轻量级文件搜索工具Catfish
查看>>
百度编辑器ueditor给上传的图片加入水印
查看>>
P2746 [USACO5.3]校园网Network of Schools
查看>>