linux从组内删除用户名和密码,linux中用户和组的管理

一、用户的帐号管理

①添加帐号:useradd

选项:

-c, --comment ‘COMMENT’;在创建用户时为用户添加注释信息,一般为全名。

-d, --home/PATH/TO/HOME_DIR:在创建用户的时候为用户指定家目录的绝对路径,被指定的目录应该是事先不存在的目录;

-g, --gid GROUPNAME:在创建用户时,为用户指定主组;

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:在创建用户时,为用户添加附加组;

-m, --create-home:在创建用户时强制性的为用户创建家目录

-M:在创建用户时,不会创建用户的家目录,即使在/etc/login.defs和CREATE_HOME的值为yes也不创建,

-r, --system:创建系统用户

-u, --uid UID:在创建用户的时候,为用户指定UID,这个UID可以超出60000的限制;

-s, --shell /PATH/TO/SHELL:在创建用户时,为用户指定默认shell,使用绝对路径;

-D, --defaults:显示或修改用户默认属性值;

-s, --shell /PATH/TO/SHELL:修改/etc/default/useradd文件中SHELL的默认值;、

示例:# useradd -u 5000 -g centos -G distro,peguin gentoo

意为:创建用户gentoo,UID为5000,基本组为centos,附加组为distro和peguin

# useradd -c "fedora Core" -G distro,peguin -s /bin/tcsh fedora

意为:创建用户fedora,其全名为"Fedora Core",附加组为distro和peguin,默认shell为/bin/tcsh;

注:此两个过程可能要新建centos、distro、penguin组

用户帐户本身在 /etc/passwd 中定义。Linux 系统包含一个 /etc/passwd 的同伴文件,叫做 /etc/shadow。该文件不像 /etc/passwd,只有对于 root 用户来说是可读的,并且包含加密的密码信息。我们来看一看 /etc/shadow 的一个样本行:     drobbins1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0       每一行给一个特别帐户定义密码信息,同样的,每个字段用 : 隔开。第一个字段定义和这个shadow条目相关联的特别用户帐户。第二个字段包含一个加密的密码。其余的字段在下表中描述:                             字段 3 自 1/1/1970 起,密码被修改的天数               字段 4 密码将被允许修改之前的天数(0 表示“可在所有时间修改”)               字段 5 系统将强制用户修改为新密码之前的天数(1 表示“永远都不能修改”)               字段 6 密码过期之前,用户将被警告过期的天数(-1 表示“没有警告”)               字段 7 密码过期之后,系统自动禁用帐户的天数(-1 表示“永远不会禁用”)               字段 8 该帐户被禁用的天数(-1 表示“该帐户被启用”)

字段9  保留供将来使用

②删除帐号userdel

选项:

-r:删除用户的同时,清除用户的家目录

示例:# userdel -r sam

意为:此命令删除用户sam在系统文件(主要是/etc/passwd,/etc/shadow,/etc/group等)中的记录,同时删除用户的主目录。

③修改帐号信息usermod

选项:

-c, --comment‘COMMENT’;修改用户的注释信息;

-g, --gid GROUPNAME:修改用户的主要组

-G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]:修改用户的附加组为列表中的组;

-a, --append;与-G选项同时使用,给用户添加新的附加组;

-d, --home /PATH/TO/HOME_DIR:修改用户的家目录;

-m, --move-home:与-d选项同时使用,将旧的家目录中的数据移动至新家之中;

-l, --login NEW_LOGIN:更改用户账户的登录名;

-s, --shell /PATH/TO/SHELL:修改用户账户的登录shell

-u, --uid UID:修改用户的UID

-L, --lock:锁定用户密码;

-U, --unlock:解锁用户密码;

示例:# usermod gentoo -G bin,root -s /bin/csh -c "Gentoo Distribution"

意为:将用户gentoo的附加组修改为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution";

# usermod fedora -aG centos

意为:为用户fedora添加新的附属组centos

④查看帐号属性 id

格式: id user1  显示user1的uid和gid ,缺省为当前用户的id信息

真实的ID:在/etc/passwd定义的用户的UID和GID

有效的ID:当前生效的用户的UID和GID

id [OPTION]... [USER]

-u:尽显示用户的user ID

-g:尽显示用户的group ID

-G:显示用户所有组的ID

-n:以名称来代替ID进行显示

二、用户认证管理

指定和修改用户密码的Shell命令是passwd。超级用户能为自己和其他用户指定密码,普通用户只能修改自己的密码。

①passwd

1.如果省略用户名,意味着更改当前登录用户的密码;

2.如果指定用户名,更改指定用户的密码,只能root使用;

选项:

-l, --lock:锁定用户密码

-u, --unlock:解锁用户密码;

相比较usermod -L|-U而言,其优先级更高;

如果使用usermod -L锁定的用户密码,可以使用passwd -u解锁;

而使用passwd -l锁定的用户密码,无法使用usermod -U解锁;

-d, --delete:删除用户密码;将/etc/shadow文件中第二字段清空

-S, --status:查看用户的密码状态;

--stadin:借住于管道将输入数据流当作标准输入信息送给passwd命令;

echo “PASSWORD”|passwd --stdin USERNAME

示例:# passwd -d sam

意为:此命令将用户sam的密码删除,这样用户sam下一次登录时,系统就不再询问密码

三、用户组的管理

①添加用户组groupadd

选项:

-g gid:在创建组账户的时候,指定组账户的GID;如果不使用该选项指定,系统会选择在组解析文件中出现在的不大于60000最大的GID加1;

-r:创建系统组,意思就是创建一个GID在1~999(1~499)之间的组;

示例:# groupadd -g 1001 group2

意为:此命令向系统中增加了一个新组group2,同时指定新组的组标识号是1001。

②删除用户组groupdel

# groupdel group1此命令从系统中删除组group1。

③修改用户组的属性gorupmod

选项:

-g gid:修改组账户的ID;

-n :修改组名;

示例:# groupmod mydisk -g 808

意为:将组mydisk的标识号修改为808

四、组的认证管理

①gpasswd命令

选项:

-a, --add user:向名为 group 的组中添加用户 user。

-d, --delete user:从名为 group 的组中移除用户 user。

-r, 删除密码

-R,限制用户登入组,只有组中的成员才可以用newgrp加入该组

五、其他命令

切换用户身份su

su - USERNAME

登录式切换,完全切换;在切换用户的时候,重新读取目标用户的配置文件并且初始化工作环境;相当于su -1 USERNAME

-c COMMAND:

并不会切换用户身份,而是以目标用户的身份执行某命令;

使用su命令的时候,从root切换到其他普通用户,无需密码;但普通用户进行切换时,必须给出目标用户的密码;

进行用户切换之后,不要连续切换,而是用exit命令返回之前的用户;

示例:# su -root -c "命令内容"

意为:用root的身份执行命令

================================================================================

* 、和用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd,/etc/shadow,/etc/group

Ⅰ.用户组的所有信息都存放在/etc/group文件中。此文件的格式也 类似于/etc/passwd文件,由冒号隔开若干个字段,这些字段有:组名:口令:组标识号:组内用户列表(1)“组名”是用户组的名称,由字母或数字构成。和/etc/passwd中的登录名相同,组名不应重复。(2)“口令”字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或是*。(3)“组标识号”和用户标识号类似,也是个整数,被系统内部用来标识组。(4)“组内用户列表”是属于这个组的所有用户的列表,不同用户之间用逗号“,”分隔。这个用户组可能是用户的主组,也可能是附加组。/etc/group文件的一个例子如下:# cat /etc/grouproot::0:rootbin::2:root,binsys::3:root,uucpadm::4:root,admdaemon::5:root,daemonlp::7:root,lpusers::20:root,sam

Ⅱ./etc/shadow中的记录行和/etc/passwd中的一一对应,他由pwconv命令根据/etc/passwd中的数据自动产生。他的文件格式和/etc/passwd类似,由若干个字段组成,字段之间用“:”隔开。这些字段是:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志(1)“登录名”是和/etc/passwd文件中的登录名相一致的用户账号(2)“口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不必口令;如果含有不属于集合{ ./0-9A-Za-z }中的字符,则对应的用户不能登录。(3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不相同。例如在SCO Linux中,这个时间起点是1970年1月1日。(4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。(5)“最大时间间隔”指的是口令保持有效的最大天数。(6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。(7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(8)“失效时间”字段给出的是个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是个合法的账号,也就不能再用来登录了。下面是/etc/shadow的一个例子:# cat /etc/shadowrootnakfw28zf38w:8764:0:168:7:::daemon:*::0:0::::bin:*::0:0::::sys:*::0:0::::adm:*::0:0::::uucp:*::0:0::::nuucp:*::0:0::::auth:*::0:0::::cron:*::0:0::::listen:*::0:0::::lp:*::0:0::::sam:EkdiSECLWPdSa:9740:0:0::::

Ⅲ./etc/passwd文件是用户管理工作涉及的最重要的一个文件。Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,他记录了这个用户的一些基本属性。这个文件对所有用户都是可读的。他的内容类似下面的例子:# cat /etc/passwdroot:x:0:0:Superuser:/:daemon:x:1:1:System daemons:/etc:bin:x:2:2:Owner of system commands:/bin:sys:x:3:3:Owner of system files:/usr/sys:adm:x:4:4:System accounting:/usr/adm:uucp:x:5:5:UUCP administrator:/usr/lib/uucp:auth:x:7:21:Authentication administrator:/tcb/files/auth:cron:x:9:16:Cron daemon:/usr/spool/cron:listen:x:37:4:Network daemon:/usr/net/nls:lp:x:71:18rinter administrator:/usr/spool/lp:sam:x:200:50:Sam san:/usr/sam:/bin/sh从上面的例子我们能看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号分隔为7个字段,其格式和具体含义如下:代码:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell(1)“用户名”是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号,因为冒号在这里是分隔符。为了兼容起见,登录名中最佳不要包含点字符“.”,并且不使用连字符“-”和加号“+”打头。(2) “口令”,一些系统中存放着加密后的用户口令,虽然这个字段存放的只是用户口令的加密串,不是明文,不过由于/etc/passwd文件对所有用户都可读,所以这仍是个安全隐患。因此,目前许多Linux系统都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特别的字符,例如“x”或“*”。(3)“用户标识号”是个整数,系统内部用他来标识用户。一般情况下他和用户名是一一对应的。如果几个用户名对应的用户标 识号是相同的,系统内部将把他们视为同一个用户,不过他们能有不同的口令、不同的主目录及不同的登录Shell等。通常用户标识号的取值范围是 0~65535。0是终极用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是 500。(4)“组标识号”字段记录的是用户所属的用户组。他对应着/etc/group文件中的一条记录。(5) “注释性描述”字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux系统中,这个字段的 格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。(6)“主目录”,也就是用户的起始工作目录,他是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用 户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。(7)用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程式,即Shell。Shell是用户和Linux系统之间的接口。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值