[Linux]组管理

$$
一、组管理
$$

1、Linux组基本介绍

Linux中每个用户必须属于一个组,不能独立于组外。linux中每个文件都有所有者、所在组、其他组的概念。

2、文件/目录 所有者
  • ls -ahl:查看文件的所有者

  • chown 用户名 文件名:修改文件所有者

  • 1 -rw-r--r-- 1 tom  root      0 4月  26 13:51 apple.txt
    2 -rw------- 1 root root   1688 4月  25 12:54 anaconda-ks.cfg
    3 -rw-r--r-- 1 root police    0 4月  26 13:55 orange.txt
    第1行:tom 为文件的所有者  ,root为文件所在组
    
    第2行:root为文件的所有者  ,root为文件所在组
    
    第3行:tom 为文件的所有者  ,police为文件所在组
    
  • chgrp -R 组名 目录名:使其下所有子文件或目录递归生效

3、组的创建
  • groupadd 组名
4、文件/目录 所在组
  • ls -ahl:查看文件的所在组

  • chgrp 组名 文件名:修改文件所在组

  • 1 -rw-r--r-- 1 tom  root      0 4月  26 13:51 apple.txt
    2 -rw------- 1 root root   1688 4月  25 12:54 anaconda-ks.cfg
    3 -rw-r--r-- 1 root police    0 4月  26 13:55 orange.txt
    
    

    第1行:tom 为文件的所有者 ,root为文件所在组

第2行:root为文件的所有者 ,root为文件所在组

第3行:tom 为文件的所有者 ,police为文件所在组

5、其他组
  • 除的文件所有者和所在组的用户外,系统的其他用户都是文件的其他组
6、改变用户所在组

在添加用户时,可以指定该用户添加到那个组中去,同样用root的管理权限可以改变某个用户的所在组

  • usermod -g 组名 用户名:改变用户所在组
  • usermod -d 目录名 用户名:改变该用户登录的初始目录

注意:当我用usermod -d 目录名 用户名,来改变tom用户登录的初始目录时,发生了一点问题。

[Linux]组管理_第1张图片
这里写图片描述

原因是:用这个 usermod -d 目录名 用户名命令修改tom用户的家目录并没有自动创建,家目录所应该有的隐含文件。缺少的文件为 .bash_history, .bash_profile, .bashrc, .bash_logout
解决办法:将原来家目录的这些隐藏文件复制到新的家目录下。
指令 cp .b* 新家目录
小技巧:按键 Esc + .:可以显示上一行命令最后一段内容

你可能感兴趣的:([Linux]组管理)