一、用户管理的配置文件
1、配置文件
(1)、/etc/passwd的文件格式
(2)、用户类型
(3)、伪用户
一、与系统相关:例如有些伪用户是与系统的个别操作相关(例如死机,重启等等,会调用伪用户的身分)。在linux上面,任何一个进程操作都要有一个用户身分,这就须要调用伪用户。
二、与程序服务相关:例如apache,启动以后也要对应一个伪用户。
伪用户的最大作用会是在系统操作或应用服务的时侯调用的一个用户身分而已,在一定程度上起到一定的安全作用。
伪用户的特征:不能登入系统、没有寄主目录
(4)、用户组
(5)、/etc/shadow的文件格式
(6)、/etc/group的文件格式
(7)、手工添加用户
问题:linux下自动创建一个uid=1000的user1的用户,该用户的GID=1000,附加组为mygroup,该用户密码是redhat。
步骤如下:
1、编辑/etc/group文件,新增一行user:x:1000,并在mygroup组前面追加user用户名
2、编辑/etc/passwd文件,新增一行user:x:1000:1000:user:/home/user:/bin/bash
3、编辑/etc/shadow文件,新增一行user:!!:16460:0:99999:7:::
4、将/etc/skel/目录下的内容copy到/home/user下:cp-r/etc/skel//home/user/
5、修改home目录的权限、属主、属组
此时,可以用id命令查看user用户的信息:
然而,user用户因为还没设置密码,时能用root切换过去手机linux操作系统,还不能正常登录,下边,我们就来用MD5加密的形式为user用户设置密码。
6、下面生成密码redhat对应的密文密码,将结果复制到/etc/shadow中user用户的密码数组中。
7、验证user用户是否能成功登录
成功登录自动创建的user用户!
二、linux新建用户、用户组以及为新用户分配权限1、Linux系统用户帐号的管理
用户帐号的管理工作主要涉及到用户帐号的添加、修改和删掉。
添加用户帐号就是在系统中创建一个新帐号,之后为新帐号分配用户号、用户组、主目录和登陆Shell等资源。刚添加的帐号是被锁定的,难以使用。
(1)、添加新的用户帐号使用useradd命令,其句型如下:
代码:
useradd选项用户名
其中各选项涵义如下:
代码:
-ccomment指定一段注释性描述。
-d目录指定用房主目录,假若此目录不存在,则同时使用-m选项,可以创建主目录。
-g用户组指定用户所属的用户组。
-G用户组,用户组指定用户所属的附加组。
-sShell文件指定用户的登陆Shell。
-u用户号指定用户的用户号,若果同时有-o选项,则可以重复使用其他用户的标示号。
用户名指定新帐号的登陆名。
例1:
代码:
#useradd–d/usr/sam-msam
此命令创建了一个用户sam,
其中-d和-m选项拿来为登陆名sam形成一个主目录/usr/sam(/usr为默认的用房主目录所在的父目录)。
例2:
代码:
#useradd-s/bin/sh-ggroup–Gadm,rootgem
此命令新建了一个用户gem,该用户的登陆Shell是/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
这儿可能新建组:#groupaddgroup及groupaddadm
降低用户帐号就是在/etc/passwd文件中为新用户降低一条记录,同时更新其他系统文件如/etc/shadow,/etc/group等。
Linux提供了集成的系统管理工具userconf,它可以拿来对用户帐号进行统一管理。
(2)、删除账号
假如一个用户的帐号不再使用,可以从系统中删掉。删掉用户帐号就是要将/etc/passwd等系统文件中的该用户记录删掉,必要时还删掉用户的主目录。删掉一个已有的用户帐号使用userdel命令,其格式如下:
代码:
userdel选项用户名
常用的选项是-r,它的作用是把用户的主目录一起删掉。
比如:
代码:
#userdelsam
此命令删掉用户sam在系统文件中(主要是/etc/passwd,/etc/shadow,/etc/group等)的记录,同时删掉用户的主目录。
3、修改账号
更改用户帐号就是按照实际情况修改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
更改已有用户的信息使用usermod命令,其格式如下:
代码:
usermod选项用户名
常用的选项包括-c,-d,-m,-g,-G,-s,-u以及-o等,这种选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用如下选项:
代码:
-l新用户名
这个选项指定一个新的帐号,将要原先的用户名改为新的用户名。
比如:
代码:
#usermod-s/bin/ksh-d/home/z–gdevelopersam
此命令将用户sam的登陆Shell更改为ksh,主目录改为/home/z,用户组改为developer。
4、用户口令的管理
用户管理的一项重要内容是用户口令的管理。用户帐号刚创建时没有口令,并且被系统锁定,难以使用,必须为其指定口令后才可以使用,虽然是指定空口令。
指定和更改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它更改自己的口令。命令的格式为:
代码:
passwd选项用户名
可使用的选项:
代码:
-l锁定口令,即禁用帐号。
-u口令解锁。
-d使帐号无口令。
-f逼迫用户上次登陆时更改口令。
假如默认用户名,则更改当前用户的口令。
比如,假定当前用户是sam,则下边的命令更改该用户自己的口令:
代码:
$passwd
Oldpassword:******
Newpassword:*******
Re-enternewpassword:*******
假如是超级用户,可以用下述方式指定任何用户的口令:
代码:
#passwdsam
Newpassword:*******
Re-enternewpassword:*******
普通用户更改自己的口令时,passwd命令会先寻问原口令,验证后再要求用户输入两遍新口令,假如两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时linux创建root用户命令,就不须要晓得原口令。
为了系统安全起见linux创建root用户命令,用户应当选择比较复杂的口令,比如最好使用8位长的口令,口令中包含有小写、小写字母和数字,但是应当与姓名、生日等不相同。
为用户指定空口令时,执行下述方式的命令:
代码:
#passwd-dsam
此命令将用户sam的口令删掉,这样用户sam下一次登陆时,系统就不再寻问口令。
passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登入,比如:
代码:
#passwd-lsam
新建用户异常:
useradd-d/usr/hadoop-u586-mhadoop-ghadoop
1Creatingmailboxfile:文件已存在
删掉即可rm-rf/var/spool/mail/用户名
2useradd:invalidnumericargument'hadoop'
这是因为hadoop组不存在请先建hadoop组
通过cat/etc/passwd可以查看用户的pass
cat/etc/shadow可以查看用户名
cat/etc/group可以查看组
二、Linux系统用户组的管理
每位用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和更改。组的降低、删除和更改实际上就是对/etc/group文件的更新。
1、增加一个新的用户组使用groupadd命令。其格式如下:
代码:
groupadd选项用户组
可以使用的选项有:
代码:
-gGID指定新用户组的组标示号(GID)。
-o通常与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
例1:
代码:
#groupaddgroup1
此命令向系统中降低了一个新组group1,新组的组标示号是在当前已有的最大组标示号的基础上加1。
例2:
代码:
#groupadd-g101group2
此命令向系统中降低了一个新组group2马哥linux,同时指定新组的组标示号是101。
2、如果要删掉一个已有的用户组,使用groupdel命令,其格式如下:
代码:
groupdel用户组
比如:
代码:
#groupdelgroup1
此命令从系统中删掉组group1。
3、修改用户组的属性使用groupmod命令。其句型如下:
代码:
groupmod选项用户组
常用的选项有:
代码:
-gGID为用户组指定新的组标示号。
-o与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组将用户组的名子改为新名子
例1:
代码:
#groupmod-g102group2
此命令将组group2的组标示号更改为102。
例2:
代码:
#groupmod–g10000-ngroup3group2
此命令将组group2的标示号改为10000,组名更改为group3。
4、如果一个用户同时属于多个用户组,这么用户可以在用户组之间切换,便于具有其他用户组的权限。用户可以在登陆后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。诸如:
代码:
$newgrproot
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户帐号的管理,用户组的管理也可以通过集成的系统管理工具来完成。
权限分配
分配权限
chown-Rhadoop:hadoop/usr/hadoop/
5、让普通用户拥有root的权限
1.root登陆
2.adduser用户名
3.passwd用户名
确定密码
4.更改/etc/passwd即可,把用户名的ID和ID组更改成0。