Linux 用户和用户组管理
系统上的每个进程(运行的程序)都是作为特定用户运行的
. Every file is owned by a particular user.
每个文件是由一个特定的用户拥有 .
. Access to files and directories are restricted by user.
访问文件和目录受到用户的限制
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
1.添加用户
首先呢,先创建一个普通用户
useradd <用户名称>
id 用户
uid=1010(happy) gid=1010(happy) 组=1010(happy)
用户uid 主属组 附属组
uid 系统用来识别账户的user identify
gid 系统用来识别组的group identify
su - 用户名 登录后返回到用户家目录
su 用户名 用户位置不发生改变
exit 登出
whoami 查看我现在使用的账户
当我们用 vim /etc/passwd 可以查看一些关于用户以及一些其他的信息.在此点击 " i "就可以进行修改了(小心修改)
happy:x:1010:1010::/home/happy:/bin/bash
分隔符::
第一列:用户名
第二列:密码
第三列:用户标识号--->(uid)是一个整数,系统内部用它来标识用户。通常用户标识号的取值范围是0~65535。0是超级用户root的标识号
第四列:gid
第五列:描述信息。
第六列:家目录
第七列:是用户登陆到界面的第一个命令,开启一个shell。登陆shell
如果我们将这些看懂了就可以做一些操作
参数说明:
选项:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名:
指定新账号的登录名。
[root@localhost ~]# useradd ccc -c 123 输入之后我们会对用户增加描述
[root@localhost ~]# cat /etc/passwd 查看信息
我们已经发现用户ccc 第五列出现描述信息 "123"
[root@localhost home]# useradd user2 -d /opt/user2
[root@localhost home]# ll /opt/
这样家目录就可以不在/home/下面了
[root@localhost home]# uesradd user7 -g 1016 指定用户的 主组和附属组
[root@localhost home]# useradd user8 -G user6,user2 定义此用户为多个不同的groups的成员.
[root@localhost home]# useradd user9 -s /sbin/nologin 设置登录状态 nologin 不可登录
[root@localhost home]# useradd ttt -u 520 指定用户 uid
当然了,我们可以手动修改
2.删除用户
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
删除一个已有的用户账号使用userdel
命令,其格式如下:
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
例如:
# userdel -r sam
当我们删除user1之后,为什么/home之下仍然存在呢?
举个栗子,就好像你下载一个应用,仅仅是目录的东西删完了,可是图标还存在,虽然图表仍然存在,但是这个应用已经无法使用了.
所以我们要将一个用户彻底删除
[root@localhost home]# userdel -r user9