一、用户与组

1、用户

 管理员:root,UID为0

 普通用户:1-60000 自动分配

  系统用户:1-499,1-999(Centos7),对守护进程分配获取资源进行权限分配

  登录用户:500+,1000+(Centos7),交互式登录

2、组

 管理员组:root,GID为0

 普通组:

  系统组:1-499,1-999(Centos7)

  普通组:500+,1000+(Centos7)

 注意:用户必须属于一个且只有一个主组;一个用户可以属于0个或多个附加组

3、用户和组的主要配置文件

  /etc/passwd:用户及其属性信息

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

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

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

  passwd文件的格式:

    root:x:0:0::/root:/bin/bash

    登录名:密码:UID:GID:用户全名或注释:家目录:shell

  shadow文件的格式:

    root:$1$TCVDVaiT$JC7TbKjvIZpIprdehWFH/1:15157:0:99999:7:::

    第一字段:登录名

    第二字段:用户密码

    第三字段:密码最近一次的修改时间(从1970年1月1日起)

    第四字段:密码再过几天可以被更改(0表示随时可以更改)

    第五字段:密码再过几天必需被变更(99999表示永不过期)

    第六字段:密码过期前几天系统提醒用户(默认为一周)

    第七字段:密码过期几天后账号会被锁定

    第八字段:从1970年1月1日算起,多少天后账号失效

    第九字段:保留字段

  group文件的格式:

    root:x:0:root

    组名称:组密码:GID:以当前组为附加组的用户列表

  gshadow文件的格式:

    root:::root

    组名称:组密码:组管理员的列表:以当前组为附加组的用户列表

4、用户与组的管理命令

(1) useradd  用户创建

  useradd [options] loginname

    -u  指定用户的UID

    -g  指定用户的GID

    -o  配合 -u 选项,不检查UID的唯一性

    -c "COMMENT"  用户的注释信息

    -d HOME_DIR   以指定的路径为用户的家目录

    -s SHELL  指定用户的默认shell,可用列表在 /etc/shells 文件中

    -G GROUP1[,GROUP2...]  指定用户的附加组,组须事先存在

    -N  不创建私有组为主组,使用 users 组作为主组

    -r   创建系统用户

    -m  创建家目录,用于系统用户

    -M  不创建家目录,用于非系统用户

    -D  显示与更改创建用户时的默认选项,如useradd -D -s SHELL,默认值的设定在文件 /etc/default/useradd 中

  新建用户的相关文件:

    /etc/default/useradd  新建用户时的一些默认选项

    /etc/skel/*  新建用户的家目录中的默认生成的文件信息

    /etc/login.defs  登录用户的一些选项设置

(2) userdel  用户删除

  -r  删除用户同时删除家目录

(3) id  查看用户相关的ID信息

  -u  显示UID

  -g  显示GID

  -G  显示用户所属的ID(包括主组与附加组)

  -n  显示名称,配合ugG使用

(4) usermod  用户属性修改

  usermod [options] loginname

    -u UID  新UID

    -g GID  新GID

    -G GROUP1[,GROUP2...]  新附加组,原来的附加组会被覆盖,如要保留原有的,则要同时使用 -a 选项,表示追加

    -s SHELL  新的默认SHELL

    -c "COMMENT"  新的注释信息

    -d HOME   新家目录不会自动创建,若要创建新家目录并移动原家数据,则同时使用 -m 选项

    -l login_name  新的登录名

    -L  锁定用户(在 /etc/shadow 文件密码栏填加 !)

    -U  解锁用户

    -e YYYY-MM-DD  指明用户账号的过期时间(用于修改 /etc/shadow 中第八字段信息)

    -f INACTIVE  设定非活动期限(密码过期后的宽限时间)

(5) passwd  设置密码

  -d  删除指定用户密码

  -l  锁定用户

  -u  解锁用户

  -e  强制用户下次登录修改密码

  -f  强制删除

  -n mindays  指定用户密码最短使用期限

  -x maxdays  指定用户密码最大使用期限

  -w warndays  提前多少天开始警告

  -i inactivedays  非活动期限(密码过期后的宽带天数)

  --stdin  从标准输入接收用户密码

(6) chage  修改用户密码策略

  -d last_day  修改上次密码修改时间

  -E expire_date  修改密码过期时间

  -I inactive  修改密码过期后的宽限天数,超过天数,帐号将不可用

  -m min_days  修改密码最短使用时间

  -M max_days  修改密码最长使用时间

  -W warn_days  修改密码过期前的警告天数

  -l  显示密码策略

 示例:

  chage -d 0 tom  下次登录强制修改密码

  chage -m 0 -M 42 -W 14 -I 7

[root@linuxde ~]# chage -l root
最近一次密码修改时间 : 3月 ,
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :
两次改变密码之间相距的最大天数 :
在密码过期之前警告的天数 :

(7) su  切换用户或以其他用户身份执行命令  

  切换用户的方式:
    su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
    su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

(8) groupadd  创建组

  groupadd [OPTION]... group_name

    -g GID 指明GID号

    -r  创建系统组;CentOS 6: GID<500,CentOS 7 GID<1000

(9) groupdel  删除组

  groupdel GROUP

(10) groupmod  组属性修改

   -n group_name  指定新的组名

   -g GID  指定新的GID

(11) gpasswd  更改组密码

  gpasswd [OPTION] GROUP

    -a user  将指定用户添加至指定组中

    -d user  从指定组中移除某用户

    -A user1,user2...  设置有管理权限的用户列表

(12) newgrp  临时切换主组

  如果用户本不属于此组,则需要组密码

(13) groupmems  更改组成员

  groupmems [options] [action]

  optinos:

    -g, --group groupname 更改为指定组 (只有root)

  action:

    -a, --add username 指定用户加入组

    -d, --delete username 从组中删除用户

    -p, --purge 从组中清除所有成员

    -l, --list 显示组成员列表

(14) groups  查看组成员

  groups [OPTION] [USERNAME]... 查看用户所属组列表

二、权限相关

1、文件权限

(1) 文件属性

  文件的权限主要针对三类对象用户定义:user,所有者,u;group,所属组,g;other,其他人,o;

  每个文件针对每类访问者都定义了三种权限:r(读),w(写),x(执行)

  权限对应的操作:

   对于文件:

     r:可使用文件查看类工具获取其内容

     w:可以修改其内容

     x:可以把此文件提给内核启动为一个进程

   对于目录:

     r:可以使用ls查看此目录中文件列表

     w:可以在此目录中创建文件,也可删除此目录中的文件

     x:可以使用ls -l查看此目录中文件元数据(须配合r),可以cd进入此目录

     X 只给目录x权限,不给文件x权限

(2) 文件相关命令

  chown  修改文件的属主与属组

   chown [OPTION]... [OWNER][:[GROUP]] FILE...

     -R  递归

   示例:

    chown root file.txt  修改文件属主为root

    chown root:root file.txt   修改文件属主为root属组也为root(冒号:也可以用点 . 代替)

    chown :root file.txt  修改文件属组为root 

  chgrp  修改文件的属组

    chgrp [OPTION]... GROUP FILE...

    chgrp [OPTION]... --reference=RFILE FILE...

      -R  递归

  chmod  文件权限操作

    chmod [OPTION]... OCTAL-MODE FILE...

      -R  递归修改权限

    chmod [OPTION]... MODE[,MODE]... FILE...

      MODE:

        修改一类用户的所有权限:u= g= o= ug= a= u=,g=

        修改一类用户某位或某些位权限 u+ u- g+ g- o+ o- a+ a- + -

    chmod [OPTION]... --reference=RFILE FILE...  参考RFILE文件的权限,将FILE的修改为同RFILE

    示例:

      chmod u+wx,g-r,o=rx file

      chmod -R g+rwX /testdir

      chmod 600 file

(3) umask值

  umask值可以用来保留在创建文件的权限

   新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1

   新建目录的默认权限: 777-umask

  非特权用户的umask为002,root用户的umask为022

  umask # 设定umask的值  如 umask 002  或 umask u=rw,g=r,o=;全局设置:/etc/bashrc 或 ~/.bashrc

  umask -S  模式方法显示umask值

  umask -p   输出可被调用  

[root@Centos7 ~]# umask -p
umask
[root@Centos7 ~]# umask -S
u=rwx,g=rx,o=

(4) 文件系统上的特殊权限

  SUID权限:只对二进制可执行程序有效,对目录设置无意义

    权限设定:chmod u+s file 或 chmod 4xxx file

         chmod u-s file

  SGID权限:

    对文件来说:只针对二进制可执行文件,当文件上有sgid时,不管任何人执行此文件的进程都属于文件的组

    对目录来说:当目录上有sgid时,不管任何人在此目录中建立的文件都属于目录的所有组,但是用户还是创建的用户

    权限设定:chmod g+s file 或 chmod 2xxx file

         chmod g-s file

  STICKY权限:只针对目录生效,当一个目录上有sticky权限时,那么这个目录中的文件只能被文件的所有者删除

    权限设定:chmod o+t file 或 chmod 1xxx file

         chmod o-t file

  权限位映射:

   SUID: user,占据属主的执行权限位

    s:属主拥有x权限

    S:属主没有x权限

   SGID: group,占据属组的执行权限位

    s: group拥有x权限

    S:group没有x权限

   Sticky: other,占据other的执行权限位

    t:other拥有x权限

    T:other没有x权限

(5) 设定文件的特殊属性

  chattr +i  不能删除,改名,更改

  chattr +a  只能追加内容

  lsattr  显示特定属性

(6) 访问控制列表(ACL)

  getfacl  acl列表查看

  setfacl -m  更改文件或目录的ACL规则

  setfacl -x   删除文件或目录指定的ACL规则

  示例:

    setfacl -m u:wang:rw file

    setfacl -m g:wang:rx file

    setfacl -x u:wang file

    setfacl -x g:wang file

    setfacl -m d:u:student:rwx dir  ACL默认权限,只针对目录设定

    setfack -k dir  删除默认ACL权限

    setfack -b file  清除所有ACL权限

  mask值:在权限列表中mask表示能生效的权力值

[root@Centos7 mnt]# setfacl -m mask::r file1
[root@Centos7 mnt]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rwx #effective:r--
group::r--
group:testg1:r--
mask::r--
other::r-- [root@Centos7 mnt]# ls -l file1
-rw-r--r--+ root root Dec : file1

linux学习-用户组与权限管理的更多相关文章

  1. Linux学习之常用权限管理命令(二)

    (一)常用权限管理命令 (1)chmod命令 (2)chown (3)chgrp (4)umask (一)常用权限管理命令 (1)chmod命令 命令名称:chmod命令英文原意:change the ...

  2. Linux学习,ACL权限管理

    1.setfacl 得到指定文件的ACL权限 -m       表示后续有参数,不可与 -x参数配合使用 -x         删除后续的acl参数,不可与 -m 配合使用 -b        删除所 ...

  3. Linux用户组和权限管理

    Linux用户组和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.Linux的安全模型 1>.安全3A 这并不是Linux特有的概念,在很多领域都有3A的概念 ...

  4. Linux UGO和ACL权限管理

    自主访问控制(Discretionary Access Control, DAC)是指对象(比如程序.文件.进程)的拥有者可以任意修改或者授予此对象相应的权限.Linux的UGO(User, Grou ...

  5. Linux学习之RPM包管理-rpm命令管理(十六)

    Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...

  6. Linux学习之ACL权限详解(十)

    Linux系统ACL权限详解 目录 ACL权限简介与开启 查看与设定ACL权限 最大有效权限与删除ACL权限 默认ACL权限和递归ACL权限 ACL权限简介与开启权限 ACL权限简介 用户权限管理始终 ...

  7. Linux学习笔记(五) 账号管理

    1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...

  8. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  9. Linux学习之RPM包管理-yum管理(十七)

    Linux学习之RPM包管理-yum管理 目录 IP地址配置 网络yum源 yum命令 光盘yum源搭建 IP地址配置 IP+子网掩码就可以在局域网(内网)使用. IP+子网掩码+网关+DNS就可以访 ...

随机推荐

  1. HDU 5634 Rikka with Phi

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5634 ------------------------------------------------ ...

  2. CEF3 命令行 CefCommandLine 所有选项 与 开发中使用的测试网址

    转自: https://blog.csdn.net/xiezhongyuan07/article/details/86640413 1.cef3 commandLine设置 在cef3开发过程中,在O ...

  3. mysql定时备份shell脚本

    #!/bin/bash #每天早上4点, mysql备份数据 # backup.sh #crontab -e # * * * /home/erya/run/moniter/mysql_backup.s ...

  4. Win7 VSCode 离线安装Rust语言及环境配置

    前置依赖 装过Visual Studio或Visual Studio Build Tool 2015 下载Rust离线安装包 https://forge.rust-lang.org/other-ins ...

  5. css圣杯布局

    HTML <div class="container"> <div class="content">content</div> ...

  6. Jenkins设置默用户为root

    https://www.jianshu.com/p/181dfb259dc7 最近在需要在jenkins执行shell脚本,由于Jenkins之前是默认在线安装的,这样jenkins设置了默认用户je ...

  7. MySQL错误信息语言设置为英文

    MySQL错误信息语言设置为英文 安装的wamp环境中,mysql的错误提示信息默认不是英语(大概是法语) 这里说下改为英语的过程 第一步 找到以下文件夹,确保里面可以看到各种"国际方言&q ...

  8. 链接层-UDP

    五大特点:无连接,不可靠,面向报文传输,没有拥塞控制,首部开销小

  9. B+树索引结构解析

    一.二分查找法 二分查找法(binary search)也成为折半查找法.用来查找一组有序的记录组中的某一记录. 基本思想是:将记录按有序化(递增或递减)排列,在查找过程中采用跳跃式方法查找,即先以有 ...

  10. 14、numpy——统计函数

    NumPy 统计函数 NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等. 函数说明如下:(沿哪条轴执行,就是是最后结果的形式) 1.numpy.amin() 和 ...