Linux 管理本地用户组 | sudo提权

发布于:2022-11-28 ⋅ 阅读:(522) ⋅ 点赞:(0)

在这里插入图片描述

个人主页:💗wei_shuo的个人主页

🏀 Hello World !🏀


管理本地用户组

创建用户:useradd

格式:
	useradd	[选项]	用户名
-u:指定uid
[root@node1 ~]# useradd -u 1010 user3
[root@node1 ~]# grep user3 /etc/passwd
user3:x:1010:1010::/home/user3:/bin/bash
	
-c:指定描述信息
[root@node1 ~]# useradd -c user4 user4
[root@node1 ~]# tail  -n 2 /etc/passwd
user3:x:1010:1010::/home/user3:/bin/bash
user4:x:1011:1011:user4:/home/user4:/bin/bash

-d:指定家目录
[root@node1 ~]# useradd -d /test1 user5
[root@node1 ~]# tail  -n 2 /etc/passwd

-s:指定shell
[root@node1 ~]# useradd -s /sbin/nologin user6
[root@node1 ~]# tail  -n 2 /etc/passwd
user5:x:1012:1012::/test1:/bin/bash
user6:x:1013:1013::/home/user6:/sbin/nologin

[root@node1 ~]# su - user6
This account is currently not available.

-g:将用户加入到主组
-G:将用户加入到从属组
[root@node1 ~]# useradd -g group1 -G group2 user7
[root@node1 ~]# id user7
uid=1014(user7) gid=1014(group1) groups=1014(group1),1015(group2)

[root@node1 ~]# echo "redhat"  | passwd --stdin user7
Changing password for user user7.
passwd: all authentication tokens updated successfully.

练习

1.创建用户 fred,用户ID为1111,密码为fred1111

2.
创建组sysadm
创建用户harry,natasha,tom
要求harry,natasha的附加组为sysadm
要求tom用户的登陆shell为非交互式shell
三个用户的密码为redhat

修改用户:usermod

[root@node1 ~]# tail -n 2 /etc/passwd
harry:x:3535:3536::/home/harry:/bin/bash
sarah:x:3536:3537::/home/sarah:/sbin/nologin
[root@node1 ~]# usermod -u 5050 -c testsarsh -d /test2 -s /bin/bash sarah
[root@node1 ~]# tail -n 2 /etc/passwd
harry:x:3535:3536::/home/harry:/bin/bash
sarah:x:5050:3537:testsarsh:/test2:/bin/bash

删除用户:userdel

-r 
[root@node1 ~]# userdel user1
[root@node1 ~]# id user1
id: ‘user1’: no such user
[root@node1 ~]# cd /var/spool/mail/
[root@node1 mail]# ls
devops  manalo   remoteuser1  sarah    user1  user3  user5  user7
harry   natasha  rpc          student  user2  user4  user6  wallah
[root@node1 mail]# userdel -r user2
[root@node1 mail]# id user2
id: ‘user2’: no such user
[root@node1 mail]# ls
devops  manalo   remoteuser1  sarah    user1  user4  user6  wallah
harry   natasha  rpc          student  user3  user5  user7
[root@node1 mail]# 

创建组:groupadd

命令格式:
	groupadd [选项] 组名
	-g
[root@node1 ~]# groupadd -g 5055 group4
[root@node1 ~]# tail -2 /etc/group
group3:x:3538:
group4:x:5055:

修改组:groupmod

命令格式:
	groupadd [选项] 组名
	-g :gid
[root@node1 ~]# groupmod -g 6000 group4
[root@node1 ~]# tail -2 /etc/group
group3:x:3538:
group4:x:6000:

	
	-n : 修改组名
	[root@node1 ~]# groupmod -n testgroup4 group4
[root@node1 ~]# tail -2 /etc/group
group3:x:3538:
testgroup4:x:6000:

删除组:groupdel

[root@node1 ~]# groupdel group3

gpasswd:将用户加组

-a 将用户加入到组
-d 将组里的用户删除
[root@node1 ~]# useradd user10
[root@node1 ~]# groupadd group10

[root@node1 ~]# gpasswd -a user10 group10
Adding user user10 to group group10
[root@node1 ~]# id user10
uid=5051(user10) gid=5051(user10) groups=5051(user10),6001(group10)

[root@node1 ~]# gpasswd -d user10 group10
Removing user user10 from group group10
[root@node1 ~]# id user10
uid=5051(user10) gid=5051(user10) groups=5051(user10)

身份切换

以某个用户的身份执行某个命令,使用命令su - username -c cmd

[root@node1 ~]# su - harry -c id
利用harry的身份查看id信息

sudo提权

[root@servera ~]# vim /etc/sudoers    (有高亮、只读)
[root@servera ~]# visudo  (没有高亮,不是只读)

99 ## Allow root to run any commands anywhere
100 root    ALL=(ALL)       ALL
root:用户名
ALL:主机名
ALL:角色
ALL:命令

案例1:让harry用户有root权限

[root@node1 ~]# visudo
	100 root    ALL=(ALL)       ALL
    101 harry   ALL=(ALL)       ALL
    
测试
[root@node1 ~]# su - harry
Last login: Sun Apr 24 11:26:21 EDT 2022 on pts/0
[harry@node1 ~]$ sudo useradd user100
[sudo] password for harry: 
[harry@node1 ~]$ id user100
uid=5052(user100) gid=5052(user100) groups=5052(user100)

案例2:让sysadm组sudo时不需要密码

[root@node1 ~]# visudo
 111 # %wheel        ALL=(ALL)       NOPASSWD: ALL 
 112  %sysmgrs       ALL=(ALL)       NOPASSWD: ALL
测试:
[root@node1 ~]# su - harry
Last login: Sun Apr 24 11:26:21 EDT 2022 on pts/0
[harry@node1 ~]$ sudo cat /var/log/messages

在这里插入图片描述