Linux权限管理之用户、用户组、文件所属用户等介绍

添加用户

用法:useradd [选项] 登录
      useradd -D
      useradd -D [选项]

选项:
  -b, --base-dir BASE_DIR       新账户的主目录的基目录
  -c, --comment COMMENT         新账户的 GECOS 字段
  -d, --home-dir HOME_DIR       新账户的主目录
  -D, --defaults                显示或更改默认的 useradd 配置
 -e, --expiredate EXPIRE_DATE  新账户的过期日期
  -f, --inactive INACTIVE       新账户的密码不活动期
  -g, --gid GROUP               新账户主组的名称或 ID
  -G, --groups GROUPS   新账户的附加组列表
  -h, --help                    显示此帮助信息并推出
  -k, --skel SKEL_DIR   使用此目录作为骨架目录
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -l, --no-log-init     不要将此用户添加到最近登录和登录失败数据库
  -m, --create-home     创建用户的主目录
  -M, --no-create-home          不创建用户的主目录
  -N, --no-user-group   不创建同名的组
  -o, --non-unique              允许使用重复的 UID 创建用户
  -p, --password PASSWORD               加密后的新账户密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录
  -s, --shell SHELL             新账户的登录 shell
  -u, --uid UID                 新账户的用户 ID
  -U, --user-group              创建与用户同名的组
  -Z, --selinux-user SEUSER             为 SELinux 用户映射使用指定 SEUSER

例如:

[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# useradd 20220808  #默认创建,组和用户同名,并且在/home目录创建用户目录
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# id 20220808
uid=1005(20220808) gid=1006(20220808)=1006(20220808)  
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# passwd 20220808 #修改用户20220808用户的密码
更改用户 20220808 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# useradd -d /var/202208081 202208081 #-d设置用户家目录
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# id 202208081
uid=1006(202208081) gid=1007(202208081)=1007(202208081)
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# useradd -p admin234 202208082 #-p设置新建的用户密码为admin234
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# useradd -g root 202208083 #创建用户添加到root组
[202208082@09385fd8-d2bc-5626-846f-5803027959a2 root]$ ls /home/  #查看home下自动建的用户家目录 
        20220808/     202208082/    202208083/

添加用户组

用法:groupadd [选项] 组

选项:
  -f, --force           如果组已经存在则成功退出
                        并且如果 GID 已经存在则取消 -g
  -g, --gid GID                 为新组使用 GID
  -h, --help                    显示此帮助信息并推出
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -o, --non-unique              允许创建有重复 GID 的组
  -p, --password PASSWORD       为新组使用此加密过的密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录

例如:

[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# groupadd d20220808 
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# cat /etc/group |grep d20220808
d20220808:x:1010:
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# groupadd -p admin234 d202208081 #为新创建的组创建默认密码

修改用户所在组

用法:usermod [选项] 登录

选项:
  -c, --comment 注释            GECOS 字段的新值
  -d, --home HOME_DIR           用户的新主目录
  -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE
  -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态
  -g, --gid GROUP               强制使用 GROUP 为新主组
  -G, --groups GROUPS           新的附加组列表 GROUPS
  -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,
                                并不从其它组中删除此用户
  -h, --help                    显示此帮助信息并推出
  -l, --login LOGIN             新的登录名称
  -L, --lock                    锁定用户帐号
  -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)
  -o, --non-unique              允许使用重复的(非唯一的) UID
  -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码
  -R, --root CHROOT_DIR         chroot 到的目录
  -s, --shell SHELL             该用户帐号的新登录 shell
  -u, --uid UID                 用户帐号的新 UID
  -U, --unlock                  解锁用户帐号
  -Z, --selinux-user  SEUSER       用户账户的新 SELinux 用户映射

例如

[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# cat /etc/passwd |grep 20220808
20220808:x:1005:1006::/home/20220808:/bin/bash
202208081:x:1006:1007::/var/202208081:/bin/bash
202208082:x:1007:1008::/home/202208082:/bin/bash
202208083:x:1008:0::/home/202208083:/bin/bash
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# usermod -g root 20220808

查看用户所属用户组

一个用户可以属于多个组,记录在/etc/passwd 的那个组叫主要组,创建用户的时候系统自动创建的叫私有组,主要组可以是私有组,私有组一定是主要组,只能有一个主要组,可以有多个附加组,像一个人有多个职务,但是只有一个是主要职务,其他都是附加职务。

[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# useradd wx  #新建用户wx
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# usermod -G root wx  #为wx用户添加附加组
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# groups wx  #查询wx所属用户组,wx为默认组,root为附件中
wx : wx root
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# groups  #直接使用groups命令表示查询当前登录用户所在的组
root

修改文件所属用户

示例:

chown 用户名 文件名 #修改文件所属用户
chown命令的所有参数列表:
1、-c:若该档案拥有者确实已经更改,才显示其更改动作
2、-f:若该档案拥有者无法被更改也不要显示错误讯息
3、-h:只对于连结(link)进行变更,而非该link真正指向的档案
4、-v:显示拥有者变更的详细资料
5、-R:对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
6、--help:显示辅助说明
7、--version:显示版本
  chown root /u         将 /u 的属主更改为"root"chown root:staff /u   和上面类似,但同时也将其属组更改为"staff"chown -hR root /u     将 /u 及其子目录下所有文件的属主更改为"root"

修改用户组信息

groupmod命令用于修改用户组的相关信息,可更改群组(用户组)识别码或名称
-g GID:修改组 ID
groupmod -n 新组名 组名
groupmod -n testgrp group1 #把组名group1修改为testgrp

删除用户、用户组

功能说明:删除用户帐号。
语  法:userdel [-r][用户帐号]
补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
参  数:
-f  删除用户登入目录以及目录中所有文件。
其他详见各命令的help

[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# userdel 20220808
userdel:组“20220808”没有移除,因为它不是用户 20220808 的主组   #因为用户已删除
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# id 20220808 #表明已经没有了该账号
id: 20220808: no such user
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# groupdel 20220808 #删除用户组
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# 

who id w 使用

[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# who   #查看当前登录系统的用户信息
root     pts/0        2022-08-07 19:51 (172.17.84.169)
root     pts/1        2022-08-07 19:51 (172.17.84.169)
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# whoami 
root
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# id
uid=0(root) gid=0(root)=0(root)
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# id 20220808  #用于查看系统中已存在用户账号的属性信息
uid=1005(20220808) gid=0(root)=0(root)
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# id -un  
root
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# w     #用于显示当前登录到系统的用户,展示登录时间、方式、运行的命令等
 20:03:02 up  7:00,  2 users,  load average: 6.78, 6.23, 6.22
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    172.17.84.169    19:51    0.00s  0.03s  0.02s -bash
root     pts/1    172.17.84.169    19:51   11:48   6.14s  6.14s top

账号存放位置

/etc/gshadow #安全组账号信息
/etc/group#组信息
/etc/shadow和/etc/passwd系#统存在的所有用户名

[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# 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
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

passwd文件内容备注:
1、每行代表一个用户
2、每行有7个字段,用:隔开(用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell)

[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# cat /etc/group
root:x:0:wang,wx
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# cat /etc/group |grep wang 
root:x:0:wang,wx    #用户组root有wang、wx两个用户
wang:x:1004:        #用户组wang只有wang一个用户 

group文件内容备注:
1、/etc/group文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组
2、每个用户组一条记录,用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),用:间隔开来

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值