个人主页:💗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