linux并非通过登录的用户账号来识别用户身份,而是通过一个ID号,叫做UID(User's ID)

系统中每个用户都有一个独一无二的uid

linux的三类用户

①系统管理员用户

系统管理员用户拥有整个系统所有的权限,并且只能有一个,就是根用户root,UID是固定的,永远是0

②虚拟用户

不具有登录系统的能力,但却是系统运行不可缺少的。如bin、daemon、ftp、mail、nobody等等。

这些用户一般是给系统中的程序使用,如浏览器就是nobody用户,匿名访问ftp时会用到ftp用户

在centos中,1-499的UID预留给虚拟用户使用

③普通用户

在centos系统中,普通用户的UID从500开始

查看当前的所有用户

cut -d: -f1 /etc/passwd

切换用户

su - 用户

-是-l的缩写,表示不仅切换用户身份,还切换了shell运行环境(强烈建议跟上)

创建用户

需要sudo权限

useradd -m student -s /bin/bash

-m是自动创建用户的home目录, 如果不加有时候不会默认创建

-s shell 指定默认登录shell 

创建用户的时候是不会让你输密码的,如果想设置之后通过passwd命令设置,如果不设置默认就是没有密码

创建的用户

设置密码

passwd student

只有root用户才能用passwd命令设置其他用户的密码,普通用户只能够设置自己的密码

useradd -c 试验 -u 601 -d /tmp/stu01 -g moocers -G stu,s_group-1 -s /bin/bash hxx

-c指定用户备注
-u指定用户uid
-d指定用户家目录
-g指定用户主用户组
-G指定用户除主用户组之外所从属的用户组

最后创建的用户名字就是hxx

当你创建用户的时候没有给用户目录,那么新建的用户登进去就是没有目录的

修改用户

usermod 其他选项和useradd相同

usermod -c 试验 -u 601 -d /tmp/stu01 -g moocers -G stu,s_group-1 -s /bin/bash hxx

删除用户

删除student用户

userdel student

userdel -r student

 在删除用户的同时将用户home目录也一并删除

userdel -rf student

-f 强制删除,哪怕现在还有用户在登录等等

赋予用户sudo权限

法①

sudo adduser student sudo

给student用户sudo权限

如果想给root权限就加到root用户组

法②

sudo usermod -aG sudo student-1

用student-1用户sudo权限

如果用sudo usermod -g sudo student-1 的话也能赋予sudo权限,但是用cat /etc/group显示用户组的时候sudo组里却不会显示有student-1

法③

一开始系统默认只有root可以执行sudo命令,我们需要通过修改/etc/sudoers文件来让别的用户也能够执行sudo命令

sudoers文件也只有root用户可以修改

用户配置文件

不要手动修改配置文件

用户配置文件

     /etc/passwd

     /etc/shadow

用户组配置文件

    /etc/group

    /etc/gshadow

passwd和shadow文件互为补充,两个文件一起,能够完整描述系统中的用户

passwd对所有用户都是可读的,而shadow文件只有root可读,所以一些需要保护的信息如密码就放在shadow中

用户组

Linux通过GID(Group‘s ID)来识别用户组

用户组和用户之间时多对多的关系,一个用户可以从属于多个用户组,一个用户组也可以包含多个用户

但是一个用户只能由一个主用户组

查看当前所有用户组 & 查看某个用户组中有哪些用户

cat /etc/group

这里的x是密码段,表示没有设置密码

查看用户所属的用户组

查看当前用户的用户组

groups

当前用户属于这么多用户组

查看某个用户所属的用户组

groups student-1

student-1用户属于student用户组

创建用户组

只有root用户可以创建新用户组(或者sudo)

sudo groupadd student

(groupadd -g  id  [用户组名]    为用户组指定GID)

在用户组中创建用户

在student用户组中创建student-1用户

useradd -g student student-1

将用户加入到用户组

usermod  -G  [用户组名]  [用户名]         

修改用户组

groupmod -g  [gid] -n [新名称] 用户组名

删除用户组

groupdel student

只要有一个用户将该用户组作为主用户组,这个用户就没办法删除

Logo

更多推荐