2020 Linux系统应用基础教程 期末复习【整理】 第三章 用户登录和账号管理

一、管理用户账号

(一)添加用户
1、终端命令添加用户
用法:useradd [选项] 用户名
-u UID: 手工指定用户的UID号
-d 家目录: 手工指定用户的家目录
-c 用户说明: 手工指定用户的说明
-g 组名: 手工指定用户的初始组
-G 组名: 指定用户的附加组
-s shell: 手工指定用户的登录shell。默认是/bin/bash
:# useradd -u 1200 -G root -d /user1 -c “test user” -s /bin/bash user1

2、修改文件添加用户
用户信息文件 /etc/passwd
文件格式:Login name:passwd:user ID:group ID:user full name:home directory:login shell
对应解释:用户名: 密码标志: 用户UID: 初始组GID: 用户说明: 家目录: 登录之后的Shell
在这里插入图片描述在这里插入图片描述

普通用户:/home/用户名/
超级用户:/root/

影子文件/etc/shadow
第1字段:用户名
第2字段:加密密码
加密算法升级为SHA512散列加密算法
如果密码位是“!!”或“*”代表没有密码,不能登录
第3字段:时间戳表示,密码最后一次修改日期,
使用1970年1月1日作为标准时间,每过一天时间戳加1
第4字段:两次密码的修改间隔时间(和第3字段相比)
第5字段:密码有效期(99999天,约273年,和第3字段相比)
第6字段:密码修改到期前的警告天数(和第5字段相比)
第7字段:密码过期后的宽限天数(和第5字段相比)
0:代表密码过期后立即失效
-1:则代表密码永远不会失效。
第8字段:账号失效时间
要用时间戳表示
第9字段:保留

组信息文件/etc/group
group name:passwd:group ID:user list
组名: 组密码标志: GID: 组中附加用户

组密码文件/etc/gshadow
组名: 组密码: 组管理员用户名: 组中附加用户

(二)删除用户
1、终端命令删除
用法:userdel [-r] 用户名
-r表示递归删除该用户的工作目录及该目录下的所有子目录和文件。如果不指定,只删除该用户的账号信息,而保留上述内容,但是除非这些内容想保留给其他用户使用,否则直接删除。

2、修改文件删除
①删除/etc/passwd和/etc/shadow文件中该用户对应的行;
②用rm -fr命令强制递归删除;
③还要在/etc/group文件中删除改用户组对应的行。

(三)修改用户属性
1、终端命令修改
用法:usermod [-u] [-c] [-g] [-G] [-L] [-U] 用户名
不仅可修改用户属性,还可以对用户账号口令进行加解锁处理。当用户登录系统,不可以修改。
-d home_dir[-m]:指定用户新的工作目录。如果采用-m参数选项,则用户当前工作目录中的内容将移动到新的工作目录;若新目录不存在,则自动建立它。
-l login_name:修改用户登录的用户名
-L:锁定用户账号口令,使口令无效
-U:解除用户账号口令锁定,使口令生效。

示例
usermod -d/home/ta01 -m -g root -l ta01 tc01
将用户登录名tc01改成ta01,用户工作目录改为/home/ta01,所属组群改为root
如果没有-m,则系统提示没有工作目录ta01

usermod -L ta01:使ta01用户的口令无效,同passwd -l ta01

2、修改passwd文件
①修改/etc/passwd和/etc/shadow文件中该用户属性对应的域;
②用mv命令更名该用户的工作目录;
③还要在/etc/group文件中修改该用户组对应的行。

二、添加用户组群(综合)创建一个组,把用户加入其中的做法

1、终端命令添加
用法:groupadd [ - g gid [- o] ] [ – r ] [ - f ] 群组名

2、修改文件添加

3、应用示例
问题分析:两个用户stu1、stu2共同开发软件,他们相互之间需要共享资源、复制和执行程序。
问题分析:由于这两个用户具有共同特性,他们可以设置成同组群的用户,有同样的组群权限;但组群权限不能有写的权限,而只能有读和执行的权限。
解决办法:
首先,groupadd stu
其次,如果两个用户未注册,先添加用户
useradd stu1 -g stu1
useradd stu2 -g stu2
passwd stu1
passwd stu2
然后
chmod 750/home/stu1
chomd 750/home/stu2
最后,通知用户登录并修改自己初始口令,两个用户可以互相访问

三、查看用户登录

1、who命令
查询目前登录系统的用户信息。
在这里插入图片描述
2、w命令
查询登录用户的详细情况。它不仅可以显示有哪些用户登录到系统,还可以显示用户正在执行的程序、现在的系统时间、系统已经启动多久、目前共有多少用户、在过去1、5、10分钟内系统的平均负载程度。
用法:w [-husfV] [user]
如果单独执行w命令,则显示所有的登录用户;如果指定用户名参数,则只显示该用户的相关信息。
3、finger命令
查找并显示用户信息。它会查找、并显示指定账号用户的相关信息,包括本地与远程登录的用户。
用法:finger [-lmsp] [user…] [user@host…]
参数user是本地用户、user@host是远程用户
如果显示bash:找不到命令,安装yum install finger,再输入finger命令

四、改变用户身份

如果只是改变身份,则使用su命令;如果要改变身份并执行命令,则可以使用sudo命令。
1、su命令
当su命令不带“-”选项时,只是切换了用户的身份,但其工作目录并没有切换
2、sudo命令
允许用户以其他身份执行指定的命令,系统预设的身份为root;其他用户的身份可以在命令中指定也可以在/etc/sudoers文件中设置。
sudo 是需要授权许可的,所以也被称为授权许可的su。
缺省情况下,sudo命令要求用户输入口令进行身份认证,这个口令是该用户自己的口令而不是超级用户的口令。一旦用户通过了身份认证,系统中的一个时间戳立即被更新以保证用户在5分钟内可以不再需要口令而使用sudo命令

sudo与su的区别
系统在/etc/sudoers文件中设置了可以执行sudo命令的用户,因此通过用visudo命令(需要有超级用户的权限)编辑该文件以增加、删除指定可以执行sudo命令的用户也相当于给用户赋予特定的权限;当然也可以在超级用户权限下,用文本编辑器打开/etc/sudoers文件进行修改编辑;但是两者还是有差别的,因为sudoers配置有一定的语法,直接用文本编辑器编辑后保存时系统不会检查语法,如有错可能导致无法使用sudo工具,最好使用visudo命令去配置。虽然visudo命令也是调用vi去编辑该文件,但是保存时会进行语法检查,有错会有提示。

学如逆水行舟,不进则退
发布了339 篇原创文章 · 获赞 491 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_42429718/article/details/103838936