Linux用户和群组管理

Linux用户和群组管理,第1张

Linux系统使用一个专门的文件用户的登录名匹配到对应的UID值,这个文件就是/etc/passwd文件,它包含了一些与用户有关的关键信息

root用户账户是Linux系统的管理员,固定分配给他的UID是0。Linux系统会为各种功能创建不同的账户,而这些账户并不是真的用户,叫做系统账户

/etc/passwd文件文件中的密码字段都被设置成了x,这并不是说所有用户账户都用相同的密码,而密码都被保存在另一个叫/etc/shadow的文件中,这需要特殊的程序才能访问

/etc/passwd是一个标准的文本文件,但是不建议用编辑器直接修改其内容

/etc/shadow文件对Linux系统密码提供了更多的控制,只有root用户才能访问/etc/shadow文件,这让它比/etc/passwd安全许多

他一共有九个字段

1、与/etc/passwd文件中登录名对应字段的登录名

2、加密后的密码

3、上次修改密码后过去多少天

4、多少天后才能修改密码

5、多少天后必须修改密码

6、密码过期提前多少天通知用户

7、密码过期后多少天禁用用户账户

8、用户账户被禁用的日期

9、预留字段

/etc/group文件包含了系统上用到的每个组的信息和UID一样,GID也使用相同的格式,并从500开始分配

主目录 :用户的起始工作目录,用户登录后有 *** 作权限的访问目录

注释性描述 :这个字段并没有什么实际的用途。在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

登陆shell :用户登录后,要启动一个进程,负责将用户的 *** 作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。

newgrp 指令类似 login 指令,当它是以相同的帐号,另一个群组名称,再次登入系统。 newgrp 命令可以从用户的附加组中选择一个群组,作为用户新的初始组。 欲使用 newgrp 指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则 newgrp 指令会登入该用户名称的预设群组。

修改某个文件的拥有者,最常见的应用场景是在复制文件给其他人时 1 。

假设原来在 vagrant 账号下有一个 deniro.txt 文件:

这时我们使用 cp 命令( cp deniro.txt deniro_copy.txt ),把这个文件复制一份给其他人:

可以看到,这个新的 deniro_copy.txt 文件,它的拥有者以及拥有组名都为 vagrant。

如果我们把这个文件给其他账号,他们如果没有权限,根本无法使用。

解决这一问题的方法之一是使用 chgrp 命令修改这个新文件所在的组 2 。

这里我们采用另一种方法:修改这个新文件的拥有者。这会用到 chown 命令。Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令 3 。

chown 命令格式为: chown [-R] user[:group] file

比如我们想把新的 deniro_copy.txt 文件的拥有者改为 operator、组名修改为 tty,那么可以执行命令 chown operator:tty deniro_copy.txt (可能需要权限高的账号来执行该命令):

参考资料:

【1】鸟哥. 鸟哥的Linux私房菜 基础学习篇[M]. 第四版. 北京: 人民邮电出版社,2018:212-213.

【2】 说说在 Linux 中如何修改某个文件所属群组 .

【3】 Linux chown 命令 .


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7241812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存