3.用户及用户组相关操作
用户及组的管理
1.1 文件基本信息
[root@linux-server ~]# touch a.txt
[root@linux-server ~]# stat a.txt #查看inode号
File: ‘a.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 33641760 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-01-16 04:37:00.686999335 +0800
Modify: 2021-01-16 04:37:00.686999335 +0800
Change: 2021-01-16 04:37:00.686999335 +0800
Birth: -
时间类型
访问时间:atime,查看内容
修改时间:mtime,修改内容
改变时间:ctime,文件属性,比如权限,mv改名
1.2 Linux中的用户及其角色划分
Linux的一大特性:多用户、多任务。
多用户多任务就是指可以在同一时间,有多个用户登录同一个系统执行不同的任务而互不影响。
账户为分三类:
1.超级用户(root管理员):享有最高权限,具备系统中的所有权限,UID号为0。
2.系统用户 别称"伪用户": 无法登录系统,其主要作用是支撑系统运行,方便系统管理。UID号码小于1000。
3.普通用户:有权限限制,只能对自己目录下的文件进行操作,可以登录系统。UID大于1000,登陆shell是bin/bash(命令解析器的一种)。
任何一个账户在创建的同时都会在系统里面创建一个同名的组。
1.3 用户组的创建和修改
创建组
[root@linux-server ~]# groupadd hr #创建一个用户组叫hr
[root@linux-server ~]# groupadd hr1 -g 2000 #创建组 并指定gid为2000
修改组
[root@linux-server ~]#groupmod 参数 组名
-g:修改组的gid
-n:修改组名
删除组
[root@linux-server ~]# groupdel hr
注意:用户的主属组不能删除
查看组的配置文件
[root@linux-server ~]# grep 'hr' /etc/group #查看 /etc/group 中 hr 组信息
1.4 用户操作
用户创建
[root@linux-server ~]# useradd user01 #创建用户
[root@linux-server ~]# useradd user02 -u 520 #创建并指定uid为520
[root@linux-server ~]# useradd user03 -s /sbin/nologin #创建用户并指定shell
[root@linux-server ~]# useradd user04 -G it,hr #创建用户并指定附加组
[root@linux-server ~]# useradd -g hr user5 #指定用户的主属组
[root@linux-server ~]# useradd user6 -u 1006 -s /sbin/nologin
查看用户
[root@linux-server ~]# id user01 #查看用户的uid、gid、和所在组
[root@linux-server ~]# whoami #查看我现在所使用的账户
删除用户
[root@linux-server ~]# userdel -r user02 #删除用户user2,同时删除用户家目录
用户密码
root用户可以给任何用户设置密码
普通用户只能给自己修改密码,而且必须提供原密码
[root@linux-server ~]# passwd user01 #给user01设置密码
[root@linux-server ~]# passwd #root用户给自己设置密码
1.4.1 用户的进阶操作
修改用户名:-l
[root@linux-server ~]# usermod -l NEW_name user01
[root@linux-server ~]# id user01
id: user01:无此用户
修改GID:-g
[root@linux-server ~]# id user10
uid=1000(user10) gid=1000(tom) groups=1000(tom)
[root@linux-server ~]# usermod user10 -g new_gid #gid需要提前存在
修改UID:-u
[root@linux-server ~]# usermod -u new_id jack
[root@linux-server ~]# id jack
uid=1005(jack) gid=1004(jack) groups=1004(jack)
修改用户的登录shell:-s
[root@linux-server ~]# usermod -s /sbin/nologin user05 #修改用户的登录shell
追加用户到附加组:-aG
[root@linux-server ~]# usermod -aG hr user07
1.5 用户及组管理
1.给组添加账户 -a
[root@linux-server ~]# gpasswd -a user10 grp2
Adding user user10 to group grp2
2.同时添加多个用户到组 -M:members成员的缩写
[root@linux-server ~]# gpasswd -M user1,user2 it
3.从组删除用户 -d
[root@linux-server ~]# gpasswd -d user07 hr
Removing user user07 from group hr