导航:首页 > 操作系统 > linux帐号管理

linux帐号管理

发布时间:2025-09-11 19:09:42

Ⅰ 如何在linux上用命令实现用户和组的管理

linux上用户和组的管理一般使用user和group相关命令管理
用户管理:
1、添加新的用户账号
使用useradd命令,其语法如下:
useradd 选项 用户名
其中各选项含义如下:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名 指定新账号的登录名。
2、删除用户
使用userdel命令, 其格式如下:
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。删除一个已有的用户账号使用userdel命令,其格式如下:
userdel 选项 用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。
3、修改用户
使用usermod命令, 其格式如下:
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,其格式如下:
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
用户组的管理
1、增加一个新的用户组
使用groupadd命令, 其格式如下:
groupadd 选项 用户组
可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
2、删除一个已有的用户组
使用groupdel命令, 其格式如下:
groupdel 用户组
3、修改用户组的属性
使用groupmod命令。 其语法如下:
groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

Ⅱ Linux中如何创建用户和组

linux中如何创建用户和组用户管理,主要的工作就是建立一个合法的用户帐户、设置和管理用户的密码、修改用户帐户的属性以及在必要时删除已经废弃的用户帐号。1)增加一个新用户在linux系统中,只有root用户才能够创建一个新用户,如下的命令将新建一个登录名user1的用户。
www.shiwu.com
#useradser1但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录。在linux中,新增一个用户的同时会创建一个新组,这个组与该用户同名,而这个用户就是该组的成员。如果你想让新的用户归属于一个已经存在的组,则可以使用如下命令:#useradd-gusergroup1user1这样该用户就属于usergroup1组的一员了。而如果想让其再属于一个组usergroup2,那么使用:#useradd-Gusergroup2user1完成了这一操作后,你还应该使用passwd命令为其设置一个初始密码。2)删除一个用户删除用户,只需使用一个简单的命令userdel用户名即可。不过最好将它留在系统上的文件也删除掉,你可以使用userdel-r用户名来实现这一目的。3)增加一个组我们可以根据自己的需要创建用户组:
www.shiwu.com
groupadd<组名>4)删除一个组同样的,我们有时会需要删除一个组,它的命令就是groupdel。本文来自于红联linux门户

Ⅲ 用户管理

Linux是个多用户多任务操作系统,所有要使用系统资源的用户都必须向管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面能帮助管理员对使用系统 的用户 进行跟踪,并控制他们对系统资源的访问;另一方面也能帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一 的用户 名和用户口令。用户在登录时输入正确 的用户 名和口令后,才能进入系统和自己的主目录。

实现用户的管理,要完成的工作主要有如下几个方面:

1、用户账号的添加、删除和修改。

2、用户口令的管理。

3、用户组的管理。

首先Linux用户类别有:

管理员,UID:root,0

系统用户,UID:1-499(CentOS 6),1-999(CentOS 7)

登陆用户,UID:>500(CentOS 6),>1000(CentOS 7)

用户组类别:

管理员组,GID:root,0

系统组,GID:1-499(CentOS 6),1-1000(CentOS 7)

普通组,GID:>500(CentOS 6),>1000(CentOS 7)

Linux组的类别:

用户的主要组(主组):每个有且仅有一个主要组,当用户创建时,自动创建一个与用户同名的组作为主要组。

用户的附加组(辅助组):一个用户可以属于零个或多个辅助组。

CentOS6和7的默认UID和GID不同,这个是由于/etc/login.defs文件里面的默认值所决定的

Linux用户和组的主要配置文件

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

该文件里面一共有7项,包括

# [root@centos ~]# cat  /etc/passwd

# root(用户名):x(密码):0(UID):0(GID):root(注释):/root(家目录):/bin/bash(默认SHELL)

假如把普通用户的UID更改成0,该普通用户会变成管理员账号,因为在Linux系统里面,识别管理员是否为管理员,就是查看用户的UID号码,为0则为管理员,在生产环境中,可能会把管理员root的账号改成其他名字,这样做是以防止黑客攻击root账号来进行破解。

/etc/group:组及其属性信息

getent group [groupname]

# [root@centos7 ~]# cat /etc/group

# root(主组):x(组密码):0(GID):gentoo(附加组的用户列表)

组成员:将该组作为辅助组的成员列表。当成员先把该组当作辅助组,再转成主要组时,不改变。当成员离开该组时,被删除。

/etc/shadow:用户密码及其相关属性

# [root@centos 7~]# cat  /etc/shadow

# root(用户名):$6$(加密方式为sha512加密)5wrv8BV(随机数,俗称盐)$n3wljU/4.OUa/X.(用户密码):17110(从1970-1-1到最近一次修改的时间经过了多少天来表示):0(最小存活期,密码再过几天可以被更改):99999(最大存活期,密码过期时间):7(在正确登录时,密码过期前提醒时间):(在正确登录时,密码过期后几天账号会被锁定):(从1970年1月1日算起,多少天后帐号失效):(保留)

上面这个设置了密码显示的用户。

现在我们再新建一个用户看看

[root@centos6 ~]# useradd wang

[root@centos6 ~]# tail -1 /etc/shadow

wang:!!:17015:0:99999:7:::

我们会看见账号密码那里有两个!!,这表示账号被锁定,没有密码的话不允许该用户去登陆,假如有密码,但是那里还是有一个叹号的话,也表示账号被锁定,不对用户进行解锁的话该用户将无法登陆。假如没有叹号的话,该用户可以没有密码的情况下面直接登陆。不过该功能只能在CentOS 5版本和更老的版本可以实现,为了安全起见,从CentOS 6以后已经修正此问题。

/etc/gshadow:组密码及其相关属性

getent gshadow [groupname]

# cat /etc/gshadow

# root/(主组):(组密码):(组管理员列表):gentoo(附加组的用户列表)

当用户不是该groupname的辅助组成员时,则需要输入密码,成功后临时以主要组的身份加入该组。

当用户是该groupname的辅助组成员时,无需输入密码,将临时以主要组的身份加入该组,而其原有的主要组,临时变为辅助组。

注意:为安全起见,现在一般都没有组密码,直接管理员指派,因为当其他用户知道了组密码,可以随意加入该组,这样的话就显得不安全。

用户和组管理命令

用户管理命令:   useradd   usermod  userdel 

组的管理命令:   groupadd   groupmod   groupdel

用户管理命令

useradd [options] username增加用户

-u  UID username 创建用户时指定UID,(如不指定则Centos:500-60000, Centos7: 1000-60000)

-o  配合-u选项使用,不检查UID的唯一性,可以与已存在的用户的uid相同

-g  groupname username 创建用户时,指定主组为某个已存在的组(将不会再创建与用户同名的组)

-G  group1[,group2] username  指定用户的辅助组,但GID要事先存在

-N username 不创建私用组做主组,使用用户的主要组做主组

-d  目录: 指定家目录(确保指定的家目录所在的上级目录要存在,且家目录本身不能存在)

-c  备注  创建用户时指定描述信息

-s  shell:指定默认shell,应该指定使用/etc/shells文件中出现的shell

-r  创建系统用户 特点:CentOS 6: ID<500,CentOS 7: ID<1000 默认shell为/sbin/nologin

-D  显示或更改默认设置  (默认值设定:/etc/default/useradd或/etc/login.defs文件中)(此命令相当于cat / etc/default/useradd)

注:创建用户时的诸多默认设定配置文件为/etc/login.defs

useradd –D -s SHELL      -d是指定用户的家目录和登录shell

注意:创建用户不加-d和-s是是系统默认的家目录(/home/qqq)和登录shell(/bin/bash)。

useradd –D –b BASE_DIR

useradd –D –g GROUP

[root@centos6 ~]# useradd -D

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

该命令,可以查看到创建用户时候的各项默认值

例如更改其他用户默认的家目录和默认SHELL之类等等的参数就在这里面

/etc/skel    家目录文件的来源,在此文件夹里面新建文件的话,创建新用户的时候会连指定的新文件一并创建

/etc/login.defs  一些用户和组等创建的默认设置的文件

usermod [options] username 修改指定用户(跟useradd命令使用方法类似)

-u UID 更改用户的UID

-g 组名  用户名 更改用户的主组

-G "" username  或 usermod -G primarygroup username 清空用户所有的辅助组

-aG  组名,可以追加辅助组而不用覆盖之前的组

-s SHELL 更改用户的默认SHELL

-c 注释

-d home,跟-m同时用移动家目录数据,并将家目录移动到目的目录并改名 (不会创建,只修改/etc/passwd当中的家目录信息)

-m 移动家目录数据,跟-d同时用

-l 新的名字,把用户改名

-e 指定过期日期yyyy-mm-dd

-f days  指定密码过期之后多少天帐户过期

-L 锁定指定用户,在/etc/shadow 里面加!    (同以上/etc/shadow的解释)

-U 解锁用户,将/etc/shadow 里面的!号拿掉    (同以上/etc/shadow的解释)

userdel [options] LOGIN 删除指定用户

-r 连同家目录和邮箱一起删除

组的管理命令

groupadd [options] groupname 添加指定组

-g:指定用户的GID

-r groupname: 创建系统组     CentOS 6: ID<500   CentOS 7: ID<1000

groupmod [options] GROUP 修改指定组

-g  newgid groupid: 修改组的GID

-n  newgrpname oldgrpname: 修改组的组名

groupdel [options] GROUP 删除指定组

groupmems [options]  [action] 更改和查看组成员

groupmems -a user_name | -d user_name | [-g group_name] | -l | -p  (CentOS 7才有此命令)

options:

-g, --group groupname 更改为指定组 (只有root)(查看组里有哪些用户)

-l -g 用户名: 查看指定用户名组下面还有哪些用户属于此组

-a    要增加的组 

切换用户或以其他用户身份执行命令

切换用户的方式:

su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录

su – UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

root su至其他用户无须密码;非root用户切换时需要密码

换个身份执行命令:

su [-] UserName-c 'COMMAND'

选项:-l –login:

su -l UserName相当于su-UserName

查看用户相关的ID信息

id [OPTION]… [USER]

-u: 查看用户的UID

-g: 查看用户的GID

-G: 查看用户的Groups

-n: 查看用户的Name

修改用户密码策略

chage -l username 显示帐户的密码信息

-d 指定密码的上次修改时间(yyyy-mm-dd)

-d 0 则强制用户下次登录时必须修改密码

-E 指定账户的过期时间

-I 密码过期之后多少天帐户过期

-m 设置最小存活时间

-M 设置最大存活时间

-W 设置密码过期前的提醒时间

chage username 交互式修改用户的密码策略

示例:

chage -d 0 tom 下一次登录时强制重设密码

chage -m 0 –M 42 –W 14 –I 7 tom

chage -E 2016-09-10 tom

getent  passwd,shadow,gourp,gshadow  USERNAME/GROUPNAME

直接查看指定用户/组里面的passwd,shadow,gourp,gshadow文件里面的内容

其他命令总结:

chsh:修改默认的shell

chfn:修改用户注释

finger:查看个人信息

vipw:使用vim来编辑passwd文件

vigr:使用vim来编辑group文件

pwconv:pwconv命令用来开启用户的投影密码

pwunconv:pwconv命令用来关闭用户的投影密码

Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于/etc目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符,有效的强化了系统的安全性。

批量增加用户和改密码

newusers FILE(有格式的文件)  批量加用户  文件格式  /etc/passwd 文件的格式 root:x:0:0::/root:/bin/bash

ex. newusers user.txt

chpasswd FILE (有格式的文件) 批量改密码  USERNAME:PASSWORD

ex. cat p.txt |chpasswd

注意,按照以上步骤的方法批量添加完用户和密码以后,这些用户的家目录里面并没有配置,此时需要我们手动把这里面的配置复制到它们的家目录里面

/etc/skel 这个文件甲下面的文件是关于用户初始配置里面的变量文件之类

cp -r /etc/skel/.[^.]* /home/USERNAME

练习:

创建下面的用户、组和组成员关系

名字为admins 的组

用户natasha,使用admins 作为附属组

用户harry,也使用admins 作为附属组

用户sarah,不可交互登录系统,且不是admins 的成员,

natasha,harry,sarah密码都是centos

groupadd admins

useradd -G admins natasha

useradd -G admins harry

useradd -s /sbin/nologin sarah

echo centos |passwd --stdin natasha > /dev/null

echo centos |passwd --stdin harry > /dev/null

echo centos |passwd --stdin sarah > /dev/null

/dev/null是一个特殊的设备,就是一个数据黑洞,吞噬送往该设备的所有数据,以后如果不想让屏幕有显示可以,会经常用到这个/dev/unll 的数据吞噬设备

Ⅳ Linux用户和群组管理

Linux系统使用一个专门的文件将用户的登录名匹配到对应的UID值,这个文件就是/etc/passwd文件,它包含了一些与用户有关的关键信息

root用户账户是Linux系统的管理员,固定分配给他的UID是0。Linux系统会为各种功能创建不同的账户,而这些账户并不是真的用户,叫做系统账户

/etc/passwd文件文件中的密码字段都被设置成了x,这并不是说所有用户账户都用相同的密码,而密码都被保存在另一个叫/etc/shadow的文件中,这需要特殊的程序才能访问

/etc/passwd是一个标准的文本文件,但是不建议用编辑器直接修改其内容

/etc/shadow文件对Linux系统密码提供了更多的控制,只有root用户才能访问/etc/shadow文件,这让它比/etc/passwd安全许多

他一共有九个字段

1、与/etc/passwd文件中登录名对应字段的登录名
2、加密后的密码
3、上次修改密码后过去多少天
4、多少天后才能修改密码
5、多少天后必须修改密码
6、密码过期提前多少天通知用户
7、密码过期后多少天禁用用户账户
8、用户账户被禁用的日期
9、预留字段

/etc/group文件包含了系统上用到的每个组的信息和UID一样,GID也使用相同的格式,并从500开始分配

主目录 :用户的起始工作目录,用户登录后有操作权限的访问目录

注释性描述 :这个字段并没有什么实际的用途。在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

登陆shell :用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。

newgrp 指令类似 login 指令,当它是以相同的帐号,另一个群组名称,再次登入系统。 newgrp 命令可以从用户的附加组中选择一个群组,作为用户新的初始组。 欲使用 newgrp 指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则 newgrp 指令会登入该用户名称的预设群组。

阅读全文

与linux帐号管理相关的资料

热点内容
程序员值得玩吗 浏览:909
开发软件被反编译怎么办 浏览:167
手机图像算法 浏览:95
内劲pdf 浏览:263
精通plsql编程 浏览:764
python编译部署 浏览:788
哪款app经过了方舟编译 浏览:599
php中导出到excel 浏览:823
人需要解压的图片 浏览:520
压缩文件的天才 浏览:373
创客编程基础知识 浏览:704
java初学者中文编译器 浏览:703
stc单片机缺点 浏览:630
华为app怎么刷 浏览:20
如何使用word生成加密pdf 浏览:998
vc软件编译后没有结果 浏览:44
安卓现在使用的编译器是哪个 浏览:197
java获得文件路径 浏览:616
linux帐号管理 浏览:44
编译程序是干什么用的 浏览:187