Linux操作系统下关于用户和组的配置管理指南_unix linux

用户管理,主要的工作就是建立一个合法的用户帐户、设置和管理用户的密码、修改用户帐户的属性以及在必要时删除已经废弃的用户帐号。 

1. 增加一个新用户 

在Linux系统中,只有root用户才能够创建一个新用户,如下的命令将新建一个登录名user1的用户。 

# useradd user1 

但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录。如果需要另外指定用户主目录的话,那么可以使用如下命令: 

# useradd -d /home/xf user1 

同时,该用户登录时将获得一个Shell程序:/bin/bash,而假如你不想让这个用户登录,也就可以指定该用户的Shell程序为:/bin/false,这样该用户即使登录,也不能够执行Linux下的命令: 

# useradd -s /bin/false user1 

在Linux中,新增一个用户的同时会创建一个新组,这个组与该用户同名,而这个用户就是该组的成员。如果你想让新的用户归属于一个已经存在的组,则可以使用如下命令: 

# useradd -g user user1 

这样该用户就属于user组的一员了。而如果只是想让其再属于一个组,那么应该使用: 

# useradd -G user user1 

完成了这一操作后,你还应该使用passwd命令为其设置一个初始密码。 

2. 删除一个用户 

删除用户,只需使用一个简单的命令“userdel 用户名”即可。不过最好将它留在系统上的文件也删除掉,你可以使用“userdel -r 用户名”来实现这一目的。 

3. 修改用户属性 

在前面我们看到了在新建一个用户的时候如何指定它的用户主目录,如何指定它的Shell,如何设置它所属的组…等等。在Linux中提供了一个命令来实现: 

usermod -g组名 -G 组名 -d 用户主目录 -s 用户Shell 

还有一种直接的方法,那就是修改/etc/passwd文件,在这个文件中每个用户占用一行,它的内容为: 

用户名:密码:用户ID:组ID:用户全名:用户主目录:用户Shell 

不过值得注意的是,密码这一项通常是用一个*号代替的,你是看不到的。 

4. 增加一个组 

还记得Linux的文件可以为同组的人、非同组的人设置不同的访问权限吗?我们可以根据自己的需要创建用户组: 

groupadd 组名 

5. 删除一个组 

同样的,我们有时会需要删除一个组,它的命令就是groupdel 组名。 

6. 修改组成员 

如果我们需要将一个用户加入一个组,只需编辑/etc/group文件,将用户名写到组名的后面。例如将newuser用户加入到softdevelop组,只需找到softdevelop这一行: 

softdevelop:x:506:user1,user2 

然后在后面加上newuser,形成: 

softdevelop:x:506:user1,user2,newuser 

另外,在Red Hat Linux中还提供一个图形化的用户管理工具:userconf,通过它可以更直接地进行用户管理。 

两个重要文件:passwd与group 

在linux的安全机制里,/etc/passwd与/etc/group这两个文件占着非常重要的地位。它们控制着linux的用户和组一些重要设置。 

◆/etc/passwd文件说明 (用于设置用户的属性) 

可用 vi /etc/passwd 查看 

在passwd的文件里,每一行被冒号(":")分成7个部分,分别是: 

[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell] 

其中: 

[UID]虽然是系统用来标志文件归属,确定各种权限的标志,但这个区域的内容并不要求唯一的。比较常见而又与安全问题相关的一个例子是有多个UID和GID均为0的用户帐号。注意到在该文件最后一行还有一个UID和GID为0的用户imnotroot,虽然它声称自己不是root,但是它却有和root完全相同的权限,因为系统并非根据[用户名],而是根据UID和GID来分用户的权力的。所以,这种情况无疑为系统埋下了安全的炸弹。但是,当imnorroot做锁定屏幕等操作的时候,如果它的密码和root的不一样,它将无法解锁,因为系统只是查到第一个UID为0的用户(自然是root)后,就不在往下查找了——它当UID也是唯一的。 

[GID]用户默认的组ID,这个ID可以在文件 /etc/group里查到对应的组名。 

<注意>:[UID]和[GID]小于500的一般都是系统自己保留,不做普通用户和组的标识的,所以新增加的用户和组一般都是UID和GID大于500的。 

◆/etc/group文件说明 

vi /etc/group 查看其内容 

它总共分四个部分: 

[组名]:[密码域]:[GID]:[组员例表]

时间: 2024-09-30 07:09:06

Linux操作系统下关于用户和组的配置管理指南_unix linux的相关文章

浅析linux环境下一个进程最多能有多少个线程_unix linux

默认情况下: 主线程+辅助线程 +<253个自己的线程<=255 含主线程和一个辅助线程,最多255个,即你自己只能生成253个线程. 据说可以设置线程数目: 据说是可以设置的,但本人还没有验证!不知道可否. 在你的shell中键入limit命令,里面有descriptor的数目,就是你的进程可以创建的最大线程数目.可以通过修改内核文件更改该数目.

《Java程序员面试秘笈》—— 面试题3 Linux操作系统下如何安装Java SE开发环境

面试题3 Linux操作系统下如何安装Java SE开发环境 考点:由于大部分的计算机用户都使用Windows作为操作系统,而Java语言是具有跨平台优势的,不同企业有不同的开发环境,本试题考察求职者是否有在Linux下开发Java的经验.Linux环境下的Java安装是一个基础问题. 出现频率: [面试题解析]该问题有两个关键点,一个是Linux版本Java SDK的文件类型,另外一个是Linux环境变量的配置. 参考答案: Oracle发布的Linux操作系统Java包有JDK和JRE两种版

如何配置Linux操作系统下的FTP服务器

为了实现Linux环境下的FTP服务器配置,绝大多数的Linux发行套装中都选用的是Washington University FTP(Wu-Ftpd),这是一个性能优秀的服务器软件,由于它具有众多强大功能和超大的吞吐量,Internet上的FTP服务器有60%以上采用了它. 安装与运行 以下我们以RedHat Linux为例. 1.安装 根据服务对象的不同,FTP服务可以分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用:另一类是匿名FTP服务器,它允许任何人登录到FTP服务器,和

Ubuntu Linux操作系统中的用户管理

正如你注意到的那样,在ubuntu一天天的使用过程中,大多数的任务都被轻易得完成了.但是,当你准备扩展你在ubuntu上的应用,例如,使用新的应用程序,组建一个家庭网络,以及增加一个新的用户的时候,会发生什么情况呢?这个简要的指引文章会与你分享一些技巧,包括创建和管理其他的用户,用其他的小技巧验证一些关键性的区别,以及提供了一些与root用户有关的技巧.也许,最关键的地方在于,这些步骤能够帮助你加强对ubuntu系统的使用,让它不仅仅是作为你的另一台个人桌面电脑而已. 第一章,理解ubuntu中

Oracle在Linux操作系统下安装小结

Oracle公司宣称在Linux下安装Oracle9i数据库至少要有512MB的内存和至少1GB或者两倍内存大小的交换空间,对于系统内存大于2GB的服务器,交换空间可以介于2GB-4GB之间. 如果是为了在一台仅有256M内存的普通PC机上试用Oracle9i,在分配了1GB左右的交换空间的情况下,也可以正常运行Oracle数据库. 要检查内存空间,登录进入Linux,在命令行方式(bash环境)下执行如下命令: grep MemTotal /proc/meminfo 要检查交换空间,在命令行下

详解Linux 操作系统下安装rpm包的方法步骤_linux shell

第2代Linux操作系统在安装软件方面相当简单:第一步,搜索你要的软件,比如你要找一个游戏软件,它的名称叫myward,这个游戏软件的说明是:myown war game.Linux操作系统搜索这个软件包就只需要输入命令apt-cache searchmyward,或者输入软件名称的一部分apt-cache searchwar,或者你不知道软件名称. 下面有一张图可以清晰地表示linux软件应用的架构关系: 在Linux启动的时候.首先会启动内核(kernel),内核是一段计算机程序,这个程序直

linux 查找过滤及用户和组管理命令用法

1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. ~]# who | cut -d' ' -f1 | sort | uniq 2.列出最后登录到当前系统的用户的相关信息. ~]# last | head -1 3.列出当前系统上被用户当作其默认shell的最多的那个shell.  ~]# cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -1 4.将/etc/passwd中的第三个字段数值最大的后10个

linux 查找过滤及用户和组管理命令的一些实例_Linux

1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. ~]# who | cut -d' ' -f1 | sort | uniq 2.列出最后登录到当前系统的用户的相关信息. ~]# last | head -1 3.列出当前系统上被用户当作其默认shell的最多的那个shell. ~]# cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -1 4.将/etc/passwd中的第三个字段数值最大的后10个用

Linux操作系统下C++编程初探

Linux下C++编程和在Windows下的没有什么两样,它同样需要编译.链接.调度.运行等步骤,只不过执行这些步骤在两种操作系统下所做的不是同样的事情. 在Windows下有TC, BC, VC等编译器,它们极大地方便了程序的编辑编译等,在Windows下你只需要看明白菜单就可以了.而在Linux下是Gcc, G++, Gdb等工具,刚开始时你可能甚至不知道如何下手去调试程序,你也可能甚至不知道程序在哪里编辑.不过这些都不是问题,慢慢来我们都能行! 下面我们以一个最简单也是最经典的Hello