Linux用户与组


转载:https://www.kancloud.cn/chunyu/php_basic_knowledge/1882202

用户与用户组的关系

 

Linux 是多用户多任务操作系统,也就是说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。
不同的用户具有不同的权限,每个用户可以在不同的权限范围内执行不同的操作。

用户与用户组的关系:
1、一个用户可以存在于一个组中(一对一关系)
2、一个用户可以存在多个用户组中,此用户具有这多个组的共同权限(一对多关系)
3、多个用户可以存在一个组中,这些用户具有和组相同的权限(多对一关系)
4、多个用户可以存在多个组中,也就是以上 3 种关系的扩展(多对多关系)

用户相关的系统配置文件

 

/etc/group文件、/etc/gshadow文件、/etc/passwd文件、/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件。
其中/etc/group文件存放着linux用户组的所有信息,而/etc/gshadow是/etc/group的加密信息文件。


1、查看用户组配置文件:cat /etc/group

用户组的所有信息都存放在/etc/group文件中,用户组的增加、删除和修改实际上就是对/etc/group文件
的更新。

[root@izwz91quxhnlkan8kjak5hz ~]# cat /etc/group | grep www
www:x:1001:

其含义依次为:

  • 第一列:群组名称
  • 第二列:群组密码(通常不需要设定,密码被记录在/etc/gshadow)
  • 第三列:GID,即群组ID
  • 第四列:附加组(以,来分割,该账户没有附加组所以为空)

1、新增用户:useradd [option] [option] [用户帐号]
  • 2、新增用户:adduser [option] [账号]
  • 3、删除用户:userdel [-r] [账号]
  • 4、修改用户账号:usermod [option] [用户账号]
  • 5、更改密码:passwd [option] [用户账号]
  • 6、切换用户:su [option] [用户账号 [argument] ]
  • 7、查看用户信息:finger [option] [用户账号]
  • 8、显示目前登入系统的用户信息:w [option][用户名称]
  • 9、查看登录的用户:who [option] [用户名称]
  • 10、显示当前用户名:whoami
  • 11、显示当前登录的用户名称:logname
  • 12、显示最近登录的用户信息:last [option]
  • 13、显示登录系统失败的用户信息:lastb [option]
  • 14、切换用户:su [option] [-] [USER [参数]...]
  • 1、修改某个目录或文件的用户名和用户组:chown [-cfhvR] [--help] [--version] user[:group] filename
  • 2、新增用户组:groupadd [-g gid [-o]] [-r] [-f] 用户组名
  • 3、删除用户组:groupdel [用户组]
  • 4、修改用户组:groupmod [option] [用户组名称]
  • 5、查看用户所属用户组:groups [用户]
  • 1、修改某个目录或文件的用户名和用户组:chown [-cfhvR] [--help] [--version] user[:group] filename

    这个指令只有是由系统管理者(root)所使用

    • user : 新的文件拥有者的使用者 ID
    • group : 新的文件拥有者的使用者组(group)
    • -c : 显示更改的部分的信息
    • -f : 忽略错误信息
    • -h :修复符号链接
    • -v : 显示详细的处理信息
    • -R : 处理指定目录以及其子目录下的所有文件
    • --help : 显示辅助说明
    • -version : 显示版本
    命令 注释
    chown -R www:www * 将目前目录下的所有文件与子目录的拥有者皆设为 www,群体的使用者 www
    chown www:www file1.txt 将文件 file1.txt 的拥有者设为 www,群体的使用者 www

    2、新增用户组:groupadd [-g gid [-o]] [-r] [-f] 用户组名

    • -g:指定新建工作组的 id;
    • -r:创建系统工作组,系统工作组的组ID小于 500;
    • -K:覆盖配置文件 "/ect/login.defs";
    • -o:允许添加组 ID 号不唯一的工作组。
    • -f,--force: 即使组群已经存在,还是强制创建组群。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。
    命令 注释
    groupadd -g 344 runoob 创建一个新的组,并添加组 ID
    groupadd -f test 强制创建用户组

    3、删除用户组:groupdel [用户组]

    命令 注释
    groupadd test 删除test用户组

    4、修改用户组:groupmod [option] [用户组名称]

    • -g  设置欲使用的群组识别码。
    • -o  重复使用群组识别码。
    • -n  设置欲使用的群组名称。
    命令 注释
    groupmod -n test test1 修改用户组名

    5、查看用户所属用户组:groups [用户]

    [root@izwz91quxhnlkan8kjak5hz /]# groups root guest
    root : root
    guest : guest