linux 用户和用户组

一、 用户与用户组

用户的添加、删除、修改及用户密码的管理
用户组添加、删除、修改
注意三个文件:
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组关键信息
/etc/shadow 存储用户的密码信息

1、 添加用户

常用语法:#useradd 选项 用户名
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,表示用户的id(用户的标识符),系统默认会从500这后按顺序分配uid,如果不想系统分配的,可以通过该选项自定义。
案例1:创建用户zhangsan,不带任何选项
#useradd zhangsan
注意结果,验证是否成功
a. 验证/etc/passwd的最后一行,查看是否有zhangsan的信息
b. 验证是否存在家目录(在Centos下创建用户之后随之产生一个同名家目录)
c. 验证/etc/group

扩展:认识/etc/passwd

用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
用户名:创建新用户名称;
密码:此密码位置一般情况都是“x”表示密码点位符;
用户ID:用户的识别符;
用户组ID:该用户所属的主组ID;
注释:解释该进入用户是做什么用的;
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户的指令,传递给内核处理。

注意:在不添加选项的时候,执行useradd之后会执行一系列的操作
a. 创建同名的家目录
b. 创建同名的用户组

案例1:创建用户lisi,让lisi属于501主组,附加组500,自选号666

#useradd  -g 501 ,-G 500, -u 666

验证 /etc/passwd /etc/group

小技巧:查看用户主组可以查看passwd 文件,查看附加组可以查看group文件。

2、 修改用户

常用语法:#usermod 选项 用户名
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,表示用户的id(用户的标识符),系统默认会从500这后按顺序分配uid,如果不想系统分配的,可以通过该选项自定义。
-l :修改用户名

案例1:修改zhangsan 用户组为500,附加组为501
usermod –g 500 –G 501 zhangsan
验证 passwd 、group

案例2:修改zhangsan 用户用户名,改为zhangsi
usermod -l zhangsi zhangsan
验证 passwd 、group

案例3:修改zhangsan用户名,改为zhangsi
usermod -l zhangsi zhangsan
验证 passwd,group

3、设置密码

常用语法:#passwd 用户名
案例:设置 zhangsi的密码
Passwd zhangsi

扩展下切换用户命令:
# su [用户名]
如果用户名不指定,则表示切换到root用户
切换用户需要注意事项
a. 从root用户往普通用户切换不南要密码,但是反之,则需要root密码
b. 切换用户之后,前后的工作路径是不变的
c. 普能用户没有办法访问root用户家目录,但是反之则可以。
4、删除用户
常用语法:userdel [选项] 用户名
常用选项 –r,表示删除用户的同时,删除其家目录
案例:userdel –r zhangsi

tail -3 /etc/passwd

注意:正在登录的用户不能删除
提示:所有跟用户操作的命令(除passwd之外),只有root超级管理员有权限执行。

二、用户组管理

用户组属于它同名的用户组,这个用户组在创建用户时同时创建
用户组的增加、删除和修改实际上就是对/etc/group文件的更新

文件结构:用户组名:密码:用户组id:组内用户

1、 用户组的添加

#groupadd 选项 用组名

-g :表示选择自己设置一个自定义的用户组的id数字,如果自己不指定,则默认从500之后递增
案例:使用groupadd指创建一个校报用户组
#groupaddd admin

2、用户组修改

#groupmod 选项 用户名
-g :用户组的id
-n :类似于用户修改“-l” ,表示设置新的用户组的名称
案例:修改admin用户组,将组的id从502改成520,将名称改为adm
groupmod – 520 -n adm admin

2、 用户组删除

#groupdel 用户组名

案例:#groupdel adm
查看 tail -3 /etc/group
注意:当如果删除一个组,但这个组是某个用户的主组时,则不允许删除,如果确定需要删除,则从组内移出所有用户
如 #usermod -g 0 linux1
# groupdel linux1

三、权限介绍

1、权限

权限是某个特定的用户肯有特定的系统资源使用权力

  1. 读权限

对于文件夹:读权限影响用户是否能列出目录结构
对于文件:读权限影响用户是否能查看文件内容

  1. 写权限

对于文件夹:写权限影响用户是否能创建、删除、复制、移动目录。
对于文件:写权限影响用户是否能编辑文件内容。

  1. 执行权限
    一般都是对于文件而,是否可以执行
2、 身份介绍

1) 所有者:就是文档的创建者
每个人均可在主机上设置文件的权限,让其成为个人的“私密文件”,即个人所有者

2) group身份:与文件所有者同组的用户

3) other身份:其他人
大明、二明、小明一家三兄弟住在一间房,房产证上的登记者是大明(owner所有者),那么大明一家就是一个用户组,这个组有大明、二明、小明三个成员;另外有个人叫张三,和他们三个没有关系,那么张三就是other。
同时,大明,二明,小明各自的房间,三者虽然能自由进出各自房间,但是小明不能让大明看到自己的情书、日记等,这就是文件所有者(用户)的意义。

4) root用户(超级用户)
这个就是神一样用户,拥有最大权限。

3、查看权限

ls –s 路径 (等价于ll)

十位字表示含义:

第1位:表示文件类型,取值常见的有“d表示文件夹”、“-表示文件”、“l表示l软链接”
第2-4位:表示文档所有者的权限情况,第2位表读权限的情况,取值有r,-; 第3位表示写权限情况,取值有 w -;第4位表执行的情况,取值有x,-
第5-7位:表示与所有者同在一个组的用户情况,rwx,取值同第2-4位。
第8-10位:表示除了上面前2部分的用户之外的其他用户的权限情况。

权限分配中,均是rwx的三个参数组合情况,且位置顺序不会变化,没有对应权限就用-代替。

4、 权限设置

如果想要给文档设置权限,操作者要么是root用户,要么就是文档所有者

常用语法:#chmod 选项 权限模式 文档
常用选项:-R 递归设置权限 (当文档类型为文件夹的时候)
权限模式:就是该文档设置的权限信息
文档:可以文件、文件夹、相对路径、绝对路径:

1) 字母形式

给谁设置

u:表示所有者身份owner(user)
g:表示给所有者同组用户设置(other)
o:表示other用户,给其他用户设置权限
a:表示all ,给所有人,如果在设置权限的时候,不指定给谁设置,则默认给所有用户设置

权限字符
r ,w ,x

权限分配方式

+:表示给具体的用户新增权限(相对当前)
-:表示删除用户的权限(相对当前)
=:表示将权限设置成具体的值(注重结果)

案例:需要给anaconda-ks.cfg文件设置权限,要求所有者拥有全部权限,同组用户拥有读和执行权限,其他用户只读权限。

a. #chmod u+x, g+rx,o+r anaconda-ks.cfg
再ll 一次

使用=号操作

先还原
#chmod u-x, g-rx,o-r anaconda-ks.cfg

b. #chmod u=rwx, g=rx,o=r anaconda-ks.cfg

2) 数字形式
如 #chmod 777 xx.txt

读:r 4
写:w 2
执行:x 1
案例:需要给anaconda-ks.cfg 设置权限,权限要求所有者拥有全部权限,同组用户拥有读执行权限,其他用户只读

#chmod 754 anaconda-ks.cfg

查看下 ll anaconda-ks.cfg

案例1:先将anaconda-ks.cfg文件拷贝到根下,新建用户test,并设置密码123456,然后切换用户至test,在该用户下vim anaconda-ks.cfg下。

案例2:用超级管理员设置文档的权限是#chmod –R 731 aaa,请问这个有没有什么不合理的地方。

拥有者:7=4+2+1=读+写+执行
同组用户:3=2+1=写+执行、
其他用户:1=1执行

注意:如果一具权限中但凡出现2与3的数字,则该权限有不合理的情况。

案例3:使用root用户在根下创建一个oo文件夹,然后在oo文件下建一个xx.txt文件,给xx.txt全部权限。

a. 切换到root用户 su root
b. mkdir oo
c. touch oo/xx.txt
d. 查看xx.txt 文件 ll oo/
e. 切换到text用户 (属于other)
问题1:text用户是否可以打开 oo/xx.txt 文件
问题2:text用户是否可以编辑 oo/xx.txt 文件
问题3:text用户是否可以删除 oo/xx.txt 文件

5、 属主与属组

属主:所属的用户(文件的主人)
属组:所属的用户组

如果有时候需要删除某个用户,则该用户对应的文档属主和属组信息就需去修改

1) chown
作用:更改文档的所属用户
语法:#chown [-R] username 文档路径

案例1:将刚才root用户创建的oo目录所有者更改为test

a. 切换到 root目录 su
b. #chown test oo/

2) chgrp
作用:更改文档的所属用户组
语法:#chgrp [-R] groupname 文档路径

案例2:将刚才root用户创建的oo目录所有者更改为test,并将所属用户组也改为test
#chgrp test oo/

思考:如何通过一个命令既可以修改所属的用户,也可以修改的用户组。

3) chown -R username:groupname 文档路径

案例3:要求使用chown指令,将oo目录的所属用户和用户组改回成root,并且包含其子目录。

chown -R root:root oo/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值