学习嵌入式第二天

内容提要

  • 用户管理

  • 用户组管理

  • 权限管理

用户和用户组

1.计算机通过用户名和密码识别用户。

2.Linux中新建用户后,需要设置密码(企业开发中很多时候需要远程访问,为了安全必须设置密码)

3.系统中有一个特殊的用户叫root,这个被称作超级用户,一般会默认,拥有最高权限。

4.用户组:把几个用户归在一起,这样的组被称为用户组,规定文件所属用户组的权限可以使该组成员拥有权限。

普通用户和超级用户

一台电脑可以有且仅有一个超级用户以及若干个普通用户。

  • 普通用户:安装系统时我们创建的用户(st),也可由超级用户进行分配,如:lucy

  • 超级用户:又被称作最高管理员,用户名是root,Linux系统内置,第一次使用root用户的时候,需要修改密码

修改超级用户root的密码

语法:

 sudo passwd  --然后按照提示输入密码即可,这里的密码输入是不可见的

举例:

注意:终端输入密码的时候,没有提示。如果输入错误,重新输入即可

普通用户和超级用户的切换

  • 普通用户切换到root用户:

 sudo -i  --没有设置密码的时候,使用这个进入
 ​
 su root  --设置密码之后可以通过这个命令进入

root切换普通用户

 su 用户名
whoami

说明:查看当前登录的用户

 whoami

团队共享文件

问题抛出

企业开发中,我们一般是团队开发。团队成员需要在一台服务器上共同完成一项任务(开发一套软件)团队成员在服务器上,用户分别是luvy,lewis,mike,petter,他们都属于workgroup这个用户组

在/home目录下新建一个名为work的目录,作为这个小组的工作目录。

workgroup组成员拥有这个目录的读写权限,并禁止其他无关用户操作这个目录。

如何解决以上问题

①新建组workgroup并添加四个用户,分别为其设置密码(初始密码比较简单)。

②建立工作目录/home/work

③把这个新建目录的所有权交给workgroup组

④组成员对其拥有读写权限,其天然不具备任何权限。(r-读,w-写,x-执行,-无权)

⑤把这个工作目录交给lewis

用户管理

指令

添加新用户

执行者:ROOT用户

语法

 [sudo] useradd[选项]用户名

备注:如果在普通用户下,需要在指令中加入sudo,如果在root用户下,则省略sudo,这里的sudo是临时提升root用户

范例:

 sudo useradd -d /home/lucy -m lucy
 ​
 //解释:创建了一个用户lucy,并在加目录下为其创建一个同名目录(同时会默认创建一个跟用户同名的组lucy)
 ​
 以上指令做了三件事
 1.在系统数据库创建了一个名为lucy的用户
 2.在/home目录下创建了一个名为lucy的目录
 3.在数据库针对用户lucu创建了 一个同名的用户组llucy(用户组)

注意:;如果在新建用户的时候没有指定用户组,就会创建一个与用户名同名的组,并让新用户加入这个组

范例:

 sudo useradd -d /home/peter -mg lucy peter
 ​
 解释:创建了一个用户peter,并在家目录下为其创建一个同名目录/home/peter,同时将peter用户添加到已经存在的组,Lucy组
查看用户所属组

执行者:root 用户

语法:

 [sudo] groups 用户名

范例:

sudo groups st
删除用户

执行者:root

语法:

[sudo] suerdel [选项] 用户名

选项:

-f:强制删除用户,即使用户当前已经登录(强制删除)

-r:删除用户的同时,删除与用户相关的搜友文件(递归删除)

范例:

sudo userdel -rf peter

解释:删除用户peter,并在不提示任何信息的前提下递归删除peter对应的用户目录(/home/peter)
给用户添加口令(密码)

执行者:root用户

语法:

[sudo] passwd [选项] 用户名

选项:

-l:锁定口令,也就是禁用账户

-u:解锁口令

-d:使账号无口令(建议不这么做)

-e:强制用户下次登陆时修改密码

如果缺少选项,则修改/设置当前用户的口令

说明:

root用户:给用户设置初始密码(密码复杂度没有要求,因为初始密码一般比较简单)

sudo passwd lucy  
解释:给lucy设置初始密码,密码复杂度没有要求

普通用户:修改自己的密码(这个密码是用户的专属密码,对于密码复杂度有要求)

passwd
修改用户

执行者:root用户

语法:

[sudo] usermod [选项] 用户名

选项:

-c:备注,修改用户的备注文字

-g:用户组,修改用户所属的用户组

-G:附属组,修改用户所属的附属群组

-s:shell,修改用户登陆后所使用的shell

-u:uid,修改用户的uid

范例:

sudo usermod -g root peter

解释:将peter用户所属的组改成root组

sudo usermod -g lucy -G root,st lucy
解释:将lucy用户所属的组改成lucy,并且设置附属组为root和st,多个附属组用逗号分隔

用户组管理

指令

添加用户组

执行者:root用户

语法:

[sudo] groupadd [选项] 组名

选项:

-g:GID,指定新用户组的标识(唯一编号),如果不指定,系统会自动编号,一般采用自动编号

范例:

sudo groupadd workgroup  --创建一个名字为workgroup的组
查看所有组

语法

方式1: cat /etc/group

方式2: [sudo] cat /etc/gshadow
查看用户组中的用户

语法:

grep '组名' etc/group
getent group
删除用户组

执行者:root用户

语法:

[sudo] groupdel [选项] 组名

范例:

sudo groupdel workgroup --删除我们添加的workgroup组
修改用户组

执行者:root用户

语法:

[sudo] groupmod [选项] 新组名 旧组名

选项:

-g:gid,组编号(唯一编号)

-o:和-g同时使用,允许用户组新的GID和系统已有用户组的GID相同,不建议用

-n:将用户组的名字改为新名字(new)

范例:

sudo groupmod -n YQ workgroup --将workgroup改为YQ
sudo groupmod -N workgroup YQ -g 1002 -o --将yq改名为workgroup,并且将GID改成跟系统相同GID

权限管理

所谓的权限管理,就是说让某个用户拥有某个文件或者目录,让用户对文件是否拥有读写执行的权限。

指令

修改文件/目录的拥有着或者组

执行者:root用户

语法:

[sudo] chown [选项] ...[所有者[组名]] 文件或者目录的路径

选项:

-c:显示更改部分的信息

-f:忽略错误信息

-r:处理指定目录及其子目录中的所有文件

-v:显示详细的处理信息

范例:

sudo chown lucy /home/work/demo01.c
解释:指定demo10.c文件的所有者为用户lucy(直接作用于单个用户)

sudo chown lucy /home/work/demo02.c
解释:指定demo02.c文件的所有者为用户组lucy(直接作用于同一组下多个用户)

sudo chown -R mike:lucy /home/work/demo02
解释:指定demo02目录及其子目录所偶文件的所有者为用户mike以及用户组lucy

举例:;

修改文件或者目录的权限

这里提到的权限:r(读)w(写)x(执行)-(无权限)

执行者:root用户

语法:

 [sudo] chmod [选项] 权限 文件或目录路径

选项:

-c: 显示更改部分

-f:忽略提示信息

-r:递归指定目录及子目录中的所有文件

-v:显示详细信息

方式1:文字设定法

语法:

 sudo chmod [选项1] [选项2] 权限名 文件 或目录路径

选项:

  • 选项1:给谁添加权限

  • a:all,所有用户

  • u:user,当前用户

  • g:group,当前用户组

  • o:other,其他用户组

  • 选项2:操作权限

  • + :增加权限

  • -:删除权限

  • =:设置权限

  • 权限名

  • r:readonly,只读

  • w:write,写

  • s:执行

  • -:无权限(针对rwx对应的位置进行设置)

    范例:

    sudo chmod u=rwx,g=rx,o=- /home/work/demo01.c
    解释:针对demo01.c,当前用户拥有读写执行权限,用户组拥有读和执行权限,其他用户或者组没有权限

方式2:数字设定法

语法:

 [sudo] chmod 权限数字 文件或目录路径

权限数字:

r:4

w:2

x:1

~:0

范例:

sudo chmod 750 /home/work/demo01.c

解释:

权限数字的表示:777,三个数字:

①第一个数字表示当前用户(4+2+1=7:rwx,4+2=6:rw,0:---,。。。)

②第二个数字表示用户组(4+2+1)

③ 第3个数字表示其他用户或用户组(4+2+1)

每个数字都是权限累加的和。

范例:

sudo chmod 750 /home/work/demo01.c
解释:针对demo01.c,当前用户拥有读写执行权限,用户组拥有读和执行权限,其他用户或者组没有权限

资料补充

菜鸟教程:菜鸟教程 - 学的不仅是技术,更是梦想!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值