Linux 用户与群组管理

目录

Linux用户管理--用户的添加

 Linux用户管理--用户的删除

Linux用户管理--用户的修改

Linux用户管理--用户密码的设置和修改

Linux用户组管理--用户组的添加

Linux用户组管理--用户组的删除

Linux用户组管理--用户组的修改

Linux用户组管理--用户在所属的用户组之间切换


本实验需在root账户下开展。

Linux用户管理--用户的添加

语法:
useradd [-cdgGsu] 用户名

选项与参数:

  • -c 添加备注文字,将添加到passwd的备注栏位

  • -d 指定用户主目录,若该目录不存在,可以使用-m创建

  • -g 指定用户所属的用户组

  • -G 指定用户所属的附加组

  • -s 指定用户登录后使用的Shell

  • -u 指定用户的用户号

示例:

添加用户sam,并指定家目录为/home/sam

root@db2e7b5ec045:~/Desktop# useradd -d /home/sam -m sam
root@db2e7b5ec045:~/Desktop# su sam
sam@db2e7b5ec045:/headless/Desktop$ cd ~
sam@db2e7b5ec045:~$ pwd
/home/sam
sam@cg:~$ exit
exit
root@cg:~/Desktop#

useradd添加用户时,默认会为用户创建一个与用户同名的用户组

-g 选项表示不为用户创建新组, 而使用 -g 后的指定用户组。

-G 后面跟一个用户组列表,使用户属于指定的多个用户组。

root@cg:~/Desktop# groupadd hadoop1
root@cg:~/Desktop# groupadd hadoop2
root@cg:~/Desktop# groupadd hadoop3
root@cg:~/Desktop# useradd -s /bin/bash -g hadoop1 -G hadoop2,hadoop3 tom
root@cg:~/Desktop# groups tom
tom : hadoop1 hadoop2 hadoop3

首先使用groupadd 创建了hadoop1、hadoop2、hadoop3三个组。然后,添加tom用户,将tom添加到这三个组中

groups命令可查看某个用户属于哪些组。

 Linux用户管理--用户的删除

语法:
userdel -r 用户名

选项与参数:

  • -r 将用户的主目录一并删除

此命令将删除该用户在系统文件中的记录,同时删除用户主目录。

示例:

root@cg:~/Desktop# useradd -s /bin/bash -d /home/lucy -m lucy
root@cg:~/Desktop# ls -l /home
total 8
drwxr-xr-x 2 lucy lucy 4096 Feb 17 12:17 lucy
drwxr-xr-x 2 sam  sam  4096 Feb 17 12:10 sam
root@cg:~/Desktop# userdel lucy
root@cg:~/Desktop# userdel -r sam
userdel: sam mail spool (/var/mail/sam) not found
root@cg:~/Desktop# ls -l /home
total 4
drwxr-xr-x 2 1002 1004 4096 Feb 17 12:17 lucy
root@cg:~/Desktop#

Linux用户管理--用户的修改

修改用户的一些属性,如用户号、主目录、用户组、登录Shell等。

什么是登录shell?

一般Linux默认的用户shell都是bash ,也就是说你可以登录进去敲命令。

非登陆shell ,经典的 /bin/nologin 就是一个非登陆shell,也就是说如果一个用户默认的shell是它的话,这个用户即使登录进Linux也不无法使用Linux。

语法:
usermod [-cdgGsu] 用户名

选项与参数:

  • -l 用于重命名该用户 其余参数与useradd命令基本类似

示例:

root@cg:~/Desktop# useradd -s /bin/bash -d /home/test -g hadoop1 test
root@cg:~/Desktop# id test
uid=1002(test) gid=1001(hadoop1) groups=1001(hadoop1)
root@cg:~/Desktop# cat /etc/passwd | grep test
test:x:1002:1001::/home/test:/bin/bash
root@cg:~/Desktop# mkdir /home/test_new
root@cg:~/Desktop# usermod -s /bin/ksh -d /home/test_new -g hadoop2 test
root@cg:~/Desktop# id test
uid=1002(test) gid=1002(hadoop2) groups=1002(hadoop2)
root@cg:~/Desktop# cat /etc/passwd | grep test
test:x:1002:1002::/home/test_new:/bin/ksh
root@cg:~/Desktop#

可以看到,使用usermod对test用户的默认shell、家目录、所归属的组都做了修改

注意:/etc/passwd文件中存储了每个用户的基本信息。

Linux用户管理--用户密码的设置和修改

新用户被创建时没有密码,但是被系统锁定,不能使用,必须设置口令才能使用。

语法:
passwd [-ludf] 用户名

选项与参数:

  • -l 锁定用户

  • -u 解锁用户

  • -d 取消密码设置

示例:

创建新用户sam

root@cg:~/Desktop# useradd -d /home/sam -m sam
root@cg:~/Desktop#

在root用户下可以设置其他用户的密码,如给sam用户设置为sam123456

root@cg:~/Desktop# passwd sam
Enter new UNIX password: # 输入密码是是黑屏,不显示的
Retype new UNIX password: 
passwd: password updated successfully
root@cg:~/Desktop#

切换到tom用户,使用tom切换到sam账户,输入密码:sam123456登录。

su 用户名 :切换用户

root@cg:~/Desktop# su tom
tom@cg:/headless/Desktop$ su sam
Password: 
sam@cg:/headless/Desktop$

sam用户可修改自己的密码,将密码修改为helloworld。

用户修改自己的密码前需要先输入当前的密码:

sam@cg:/headless/Desktop$ passwd 
Changing password for sam.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
sam@cg:/headless/Desktop$

连续输入两次exit命令切换回root用户,再将sam用户密码置为空, 置空后,无法登录。

sam@cg:/headless/Desktop$ exit
exit
tom@cg:/headless/Desktop$ exit
exit
root@cg:~/Desktop# passwd -d sam
passwd: password expiry information changed.
root@cg:~/Desktop# su tom
tom@cg:/headless/Desktop$ su sam
Password: 
su: Authentication failure
tom@cg:/headless/Desktop$

重新为sam设置密码为:sam123456

root@cg:~/Desktop# passwd -u sam
passwd: unlocking the password would result in a passwordless account.
You should set a password with usermod -p to unlock the password of this account.
root@cg:~/Desktop# passwd sam
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
root@cg:~/Desktop# su tom
tom@cg:/headless/Desktop$ su sam
Password: 
sam@cg:/headless/Desktop$

加 -l 可锁定某一用户,使其无法登录,使用 -l 锁定 sam

sam@cg:/headless/Desktop$ exit
exit
tom@cg:/headless/Desktop$ exit
exit
root@cg:~/Desktop# passwd -l sam
passwd: password expiry information changed.
root@cg:~/Desktop# su tom
tom@cg:/headless/Desktop$ su sam
Password: 
su: Authentication failure
tom@cg:/headless/Desktop$

使用 -u 可对用户解锁,

tom@cg:/headless/Desktop$ exit
exit
root@cg:~/Desktop# passwd -u sam
passwd: password expiry information changed.
root@cg:~/Desktop# su tom
tom@cg:/headless/Desktop$ su sam
Password: 
sam@cg:/headless/Desktop$

Linux用户组管理--用户组的添加

语法:
groupadd [-go] 用户组名

选项与参数:

  • -g 指定新用户组的标识号

  • -o 使新用户组标示号可以与旧用户组的相同

示例:
$ groupadd group1    

$ groupadd -g 101 group2  

Linux用户组管理--用户组的删除

cd是Change Directory的缩写,这是用来变换工作目录的命令

语法:
groupdel 用户组名

示例:
$ groupdel group1

Linux用户组管理--用户组的修改

语法:
groupmod [-gon] 目录名称

选项与参数:

  • -g 为用户组指定新的标识号。

  • -o 与-g选项同时使用,用户组的新标示号可以与系统已有用户组的标示号重复

  • -n 修改用户组的名字

示例:
$ groupmod -g 102 group2  

$ groupmod -g 10000 -n group3 group2    

Linux用户组管理--用户在所属的用户组之间切换

用户在登录之后,如果其他用户组中包含该用户,可使用newgrp命令切换到其他用户组,以获得其他用户组的权限

语法:
newgrp 其他用户组  

  • 实验任务--任务一

创建用户组homeworkgroup,并创建用户homeworkuser,使得该用户属于这个用户组(30分)。

  • 实验任务--任务二

分别修改homeworkuser的用户名为newuser,主目录为/home/anotherhome,用户组为developer(先创建);并修改用户组homeworkgroup标示号为9000(50分)。

  • 实验任务--任务三

删除任务一中创建的用户和用户组(20分)。

!!!求助啊,哪位大佬任务二会呀,我试了好多次都不对。呜呜呜~

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值