Linux基础-用户管理

一、用户和用户组

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

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

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

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

二、普通用户和超级用户

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

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

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

修改超级用户root的密码

语法:

sudo passwd
//然后按照提示

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

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

  • 普通用户切换到超级用户

sudo -i    #没有设置root密码的时候,使用这个进入
---------------------------------------------
su root    #设置root密码之后,可以通过命令进入
  • 超级用户切换到普通用户
su 用户名

whoami

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

whoami

三、团队共享临时文件

问题抛出

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

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

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

如何解决以上问题

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

2.建立工作目录/home/work

3.把这个新建的目录的所有权交给workgroup

4.组成员对其拥有读写权限,其他人无权限。(r-读,r-写,r-执行,- -无权)

5.把这个工作目录所属的用户设置为lewis

具体操作

# 1.新建组workgroup
sudo groupadd workgroup


# 2.添加四个用户并设置密码
sudo useradd -d /home/lucy -m lucy
sudo passwd lucy
sudo useradd -d /home/lewis -m lewis
sudo passwd lewis
sudo useradd -d /home/mike -m mike
sudo passwd mike
sudo useradd -d /home/petter -m petter
sudo passwd petter


# 3. 建立工作目录
sudo mkdir /home/work


# 4. 把目录所有权交给workgroup组
sudo chown :workgroup /home/work


# 5. 设置权限,组成员有读写权限,其他人无权限
sudo chmod g=rw,o= /home/work


# 6. 把工作目录所属用户设置为lewis
sudo chown lewis /home/work

四、用户管理 

指令

添加新用户

执行者:root用户

语法:

[sudo] useradd [选项] 用户名

注意:

如果在普通用户下,需要在指令中加入sudo,如果在root用户下,则省略sudo,这里sudo是临时提升到root权限。

举例:

sudo useradd -d /home/lucy -m lucy
#解释:创建了一个用户Lucy,并在家目录下创建一个同名目录/home/lucy(还会默认创建一个跟用户同名的组:Lucy)
#以上指令做了三件事
#1.在系统创建了一个名为Lucy用户(用户)
#2.在/home目录下创建了一个名为Lucy的目录(用户文件夹)
#1.在数据路创建了一个跟用户同名的组Lucy(用户组)

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

举例

sudo useradd -d /home/petter -mg lucy peter
#解释:创建了一个用户Peter,并在家目录下创建一个同名目录/home/petter,同时将用户添加到用户已经存在的组Lucy

查看用户所属的组

执行者:root用户

语法:

[sudo] groups 用户名

举例:

sudo group st

删除用户

执行者:root用户

语法:

[stdo] userdel [选项] 用户名

选项:

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

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

举例:

sudo userdel -rf peter
#解释:删除用户Peter,并在不提示任何信息的前提下递归删除Peter在/home下对应的用户文件夹(/home/peter)

给用户添加口令(密码)

执行者:root用户

语法:

[sudo] passwd [选项] 用户名

选项:

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

    -u:解锁命令,也就是解锁账户,和-l不能同时用

    -d使账号无口令

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

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

说明:

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

sudo password lucy
#解释:给Lucy设置初始密码,密码复杂度无要求

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

passwd

修改用户

执行者:root用户

语法:

[sudo] usermod [选项] 用户名

选项:

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

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

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

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

-u:uid,修改用户的uid

举例:

sudo usermod -g root peter
#解释:将Peter用户所属的主组改成root组

sudousermod -g lucy -G root,st lucy
#解释:将Lucy用户所属的主组改成Lucy,将附属组改成root,st,多个附属组之间用逗号分隔

五、用户组管理

指令

添加用户组

执行者:root用户

语法:

[sudo] groupadd [选项] 组名

选项:

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

举例:

sudo groupadd workgroup
#解释:创建一个名为workgroup组

查看所有用户组

语法:

#方式1:查看用户组信息
cat /etc/group
#方式1:查看用户组信息
[sudo] cat /etc/gshadow

查看用户组中的用户(扩展)

语法:

#使用grep命令从/etc/group文件中查找包含指定组名的行
grep '组名' /etc/group

#使用getent命令获取指定组名的组信息
getent group 组名

删除用户组

执行者:root用户

语法:

[stdo] groupdel [选项] 组名

举例:

sudo groupdel workgroup
#解释:删除我们添加的workgroup组

修改用户组

执行者:root用户

语法:

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

选项:

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

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

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

举例:

sudo groupmod -n YQ workgroup  #解释:将workgroup改名为YQ
sudo groupmod -n workgroup YQ -g 1002 -o #解释:同时更改组名以及GID

六、权限管理

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

指令

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

执行者:root用户

语法:

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

选项:

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

-f:忽略错误信息

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

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

举例:

sudo chown lucy /home/work/demo01.c
#解释:指定demo01.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(执行)对应的r x w替换成-,表示无这个权限

执行者:root用户

语法:

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

选项:

-c:显示更改部分

-f:忽略提示信息

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

-v:显示详细信息

文字设定法(实现1)

语法:

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

参数:

  • 参数1:给谁添加权限

    • a:all,所有用户,举例:rwx rwx rwx

    • u:user,用户,举例:rwx --- ---

    • g:group,用户组,举例:--- rwx ---

    • o:other,其他用户或者组,举例:--- --- rwx

注意:ugo可以组合

  • 参数2:如何权限

    • +:增加权限

    • -:删除权限

    • =:赋予权限

  • 权限名:添加什么权限

    • r;readonly,只读

    • w:write,写

    • x:执行

    • -:无权限(针对r、w、x)

举例:

sudo chnod u=rwx,g=rx,o=- /home/work/demo01.c
#解释:针对demo01.c文件,用户拥有读和执行权限,其他用户或组无权限
数字设定法(实现2)

语法:

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

权限数字:

r:4 w:2 x:1 -0

解释:

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

1.第一个数字表示用户权限,最终的值是rw-的和,比如:表示拥有读写执行的权限,就是4+2+1=7

2.第二个数字表示用户权限,最终的值是rwx-的和,比如:表示拥有读和执行权限,就是4+1=5

1.第三个数字表示其他用户或组权限,最终的值是rwx-的和,比如:表示拥有无权限,就是0

sudo chnod 750 /home/work/demo01.c
#解释:针对demo01.c文件,用户拥有读和执行权限,其他用户或组无权限

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值