`
caizi12
  • 浏览: 175967 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux 用户和用户组操作

 
阅读更多
一、理解Linux的单用户多任务,多用户多任务概念;

Linux 是一个多用户、多任务的操作系统;我们应该了解单用户多任务和多用户多任务的概念;


1、Linux 的单用户多任务;

单用户多任务;比如我们以beinan 登录系统,进入系统后,我要打开gedit 来写文档,但在写文档的过程中,我感觉少点音乐,所以又打开xmms 来点音乐;当然听点音乐还不行,MSN 还得打开,想知道几个弟兄现在正在做什么,这样一样,我在用beinan 用户登录时,执行了gedit 、xmms以及msn等,当然还有输入法fcitx ;这样说来就有点简单了,一个beinan用户,为了完成工作,执行了几个任务;当然beinan这个用户,其它的人还能以远程登录过来,也能做其它的工作。


2、Linux 的多用户、多任务;


有时可能是很多用户同时用同一个系统,但并不所有的用户都一定都要做同一件事,所以这就有多用户多任务之说;

举个例子,比如LinuxSir.Org 服务器,上面有FTP 用户、系统管理员、web 用户、常规普通用户等,在同一时刻,可能有的弟兄正在访问论坛;有的可能在上传软件包管理子站,比如luma 或Yuking 兄在管理他们的主页系统和FTP ;在与此同时,可能还会有系统管理员在维护系统;浏览主页的用的是nobody 用户,大家都用同一个,而上传软件包用的是FTP用户;管理员的对系统的维护或查看,可能用的是普通帐号或超级权限root帐号;不同用户所具有的权限也不同,要完成不同的任务得需要不同的用户,也可以说不同的用户,可能完成的工作也不一样;

值得注意的是:多用户多任务并不是大家同时挤到一接在一台机器的的键盘和显示器前来操作机器,多用户可能通过远程登录来进行,比如对服务器的远程控制,只要有用户权限任何人都是可以上去操作或访问的;


3、用户的角色区分;


用户在系统中是分角色的,在Linux 系统中,由于角色不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和识别的,特别是UID;在系统管理中,系统管理员一定要坚守UID 唯一的特性;

root 用户:系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;
虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户;
普通真实用户:这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的;


4、多用户操作系统的安全;


多用户系统从事实来说对系统管理更为方便。从安全角度来说,多用户管理的系统更为安全,比如beinan用户下的某个文件不想让其它用户看到,只是设置一下文件的权限,只有beinan一个用户可读可写可编辑就行了,这样一来只有beinan一个用户可以对其私有文件进行操作,Linux 在多用户下表现最佳,Linux能很好的保护每个用户的安全,但我们也得学会Linux 才是,再安全的系统,如果没有安全意识的管理员或管理技术,这样的系统也不是安全的。

从服务器角度来说,多用户的下的系统安全性也是最为重要的,我们常用的Windows 操作系统,它在系纺权限管理的能力只能说是一般般,根本没有没有办法和Linux或Unix 类系统相比;


二、用户(user)和用户组(group)概念;


1、用户(user)的概念;

通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user)。比如我们的同事想用我的计算机,但我不想让他用我的用户名登录,因为我的用户名下有不想让别人看到的资料和信息(也就是隐私内容)这时我就可以给他建一个新的用户名,让他用我所开的用户名去折腾,这从计算机安全角度来说是符合操作规则的;

当然用户(user)的概念理解还不仅仅于此,在Linux系统中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody ;如果您想了解Linux系统的一些帐号,请查看 /etc/passwd ;


2、用户组(group)的概念;

用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;

举例:我们为了让一些用户有权限查看某一文档,比如是一个时间表,而编写时间表的人要具有读写执行的权限,我们想让一些用户知道这个时间表的内容,而不让他们修改,所以我们可以把这些用户都划到一个组,然后来修改这个文件的权限,让用户组可读,这样用户组下面的每个用户都是可读的;

用户和用户组的对应关系是:一对一、多对一、一对多或多对多;

一对一:某个用户可以是某个组的唯一成员;
多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如beinan和linuxsir两个用户只归属于beinan用户组;
一对多:某个用户可以是多个用户组的成员;比如beinan可以是root组成员,也可以是linuxsir用户组成员,还可以是adm用户组成员;
多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;其实多对多的关系是前面三条的扩展;理解了上面的三条,这条也能理解;


三、用户(user)和用户组(group)相关的配置文件、命令或目录;


1、与用户(user)和用户组(group)相关的配置文件;



1)与用户(user)相关的配置文件;


/etc/passwd 注:用户(user)的配置文件;
/etc/shadow 注:用户(user)影子口令文件;


2)与用户组(group)相关的配置文件;

/etc/group 注:用户组(group)配置文件;
/etc/gshadow 注:用户组(group)的影子文件;


2、管理用户(user)和用户组(group)的相关工具或命令;


1)管理用户(user)的工具或命令;



useradd    注:添加用户 
adduser    注:添加用户
passwd     注:为用户设置密码
usermod  注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov       注:同步用户从/etc/passwd 到/etc/shadow 
pwck         注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv  注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger        注:查看用户信息工具
id              注:查看用户的UID、GID及所归属的用户组
chfn          注:更改用户信息工具
su             注:用户切换工具
sudo         注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo      注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit  注:和sudo 功能差不多;


2)管理用户组(group)的工具或命令;

groupadd  注:添加用户组;
groupdel         注:删除用户组;
groupmod        注:修改用户组信息
groups     注:显示用户所属的用户组
grpck
grpconv   注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv   注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;



当无法使用上面的命令时候,一般情况下是没有把此命令加到当前用户的环境变量中,

例如使用usermod,出现bash:cmomond not found,可以先使用 whereis usermod 获得命令所在的路径,然后用su - 命令切换到当前用户所在的目录,用#vi .bash_profile ,打开用户配置文件在
PATH=$PATH:/bin:/usr/sbin 这一行后面添加刚才获得的命令路径,然后保存文件
# source .bash_profile 用这个命令让刚才添加的环境变量生效

如果只想临时使用,不想永久生效,可以用
export PATH=$PATH:/usr/sbin/;




主要来自:http://fedora.linuxsir.org/main/?q=node/91
分享到:
评论

相关推荐

    linux 用户和用户组管理.

    用户和用户组管理.

    Linux的用户和用户组管理

    ### Linux的用户和用户组管理 #### 一、理解用户和用户组的重要性 在Linux系统中,用户管理和用户组管理是非常关键的安全...此外,合理的用户和用户组配置还可以提高系统的整体安全性,防止未经授权的访问和操作。

    Linux添加删除用户和用户组

    ### Linux添加删除用户和用户组知识点详解 #### 一、添加用户 在Linux系统中,添加新用户是一项基本且重要的管理任务。通过`adduser`命令可以方便地创建新用户,并设置初始密码。 ##### 命令示例: ```bash ...

    linux用户组管理

    【Linux用户组管理】 在Linux操作系统中,用户和用户组管理是系统安全和资源访问控制的基础。Linux系统设计为多用户、...了解和熟练掌握Linux用户和用户组的管理,对于任何Linux系统的日常维护和安全管理都至关重要。

    Linux用户及用户组操作命令笔记

    以下是一些常见的Linux用户及用户组操作命令及其作用: 用于创建一个新的用户账户 用于修改现有用户账户的信息 用于删除用户账户 用于更改用户密码 用于更改用户账户的密码过期信息 用于创建一个新的用户组 用于修改...

    Linux用户及用户组管理命令.rar

    "Linux用户及用户组管理命令.rar"这个压缩包文件,很可能包含了关于如何在Linux环境中操作用户和用户组的教程或资料。以下是基于这个主题的详细知识点讲解: 1. **用户管理**: - **添加用户**:`useradd`命令用于...

    linux用户和组的管理

    本篇将详细阐述Linux用户和组的管理相关知识,以帮助你更好地理解和操作这一领域。 一、用户与用户账户 1. 用户类型:在Linux中,用户分为普通用户和超级用户(root用户)。普通用户对系统资源有特定的访问权限,...

    linux_用户和组操作.pdf

    合理地设置用户组,可以简化文件权限的管理工作,因为当一个文件被划分为某个组别时,属于这个组的用户就自动获得了操作该文件的权限,这对于系统管理员来说,极大地简化了管理操作。 此外,由于文档内容是通过OCR...

    Linux用户及用户组管理命令

    在Linux系统中,用户和用户组的管理是系统管理的核心部分,确保了系统的安全性和资源的合理分配。本文主要讨论了几个关键的Linux命令,包括`useradd`、`userdel`、`groupadd`、`groupdel`、`passwd`、`su`、`chmod`...

    Linux用户(User)和用户组管理概述

    在Linux中,用户管理和用户组管理是确保系统安全性和效率的关键方面。 首先,让我们了解一下Linux中的用户类型: 1. **root用户**:root用户是Linux中的超级用户,拥有最高的系统权限,可以对系统进行任意操作。...

    linux用户和用户组管理

    为了管理方便,现要求为每个员工分配工作空间(登录目录)和工作部门(用户组),员工命名为 user01~user60,部门用户组名为 group1~group5, 其中用户ID从1000开始顺序递增,用户组ID从550开始50递增。每个组建立2个...

    Linux用户及用户组

    ### Linux用户及用户组管理深度解析 Linux作为一款强大的开源操作系统,其安全性、稳定性和灵活性在业界享有盛誉。其中一个核心特性就是支持多用户多任务环境,这使得多个用户能够同时登录并执行不同的任务,而不会...

    linux操作用户及权限分配

    * -d 选项:指定用户组的目录,如果此目录不存在,则同时使用-m 参数,可以创建主目录,不选参数,则默认在/home 目录下创建一个与用户名同名的文件夹。 * -g 选项:指定用户所属的用户组。 * -G 选项:指定用户所属...

    Linux C函数参考 用户组篇

    在进行用户组操作时,可能会遇到各种错误,如权限不足、资源不可用等。通过检查`errno`全局变量,可以识别并处理这些错误。 9. **权限和访问控制** 了解用户组后,还需要理解Linux的权限模型,如rwx(读、写、执行...

    Linux应用技术:Linux用户组管理.pptx

    项目4 管理用户和用户组;第四讲 主要内容;Linux用户组;Linux用户与组;举例 添加用户aa,不指定属组。 结论:aa属于私有组,aa组是aa用户的主组。 添加用户bb,指定属于aa组,使aa组成为bb用户的主组。 结论:aa属于...

    Linux 用户和组管理

    在进行Linux用户和组管理时,确保遵循最佳实践,如定期更新密码、合理分配权限,并使用安全的FTP选项。理解这些概念和命令是任何Linux系统管理员的必备技能。通过熟练掌握这些工具,你可以在保障系统安全的同时,...

    Linux中的用户和组管理(下).pdf

    在 Linux 操作系统中,用户和组管理是非常重要的概念。用户和组管理是指对系统中的用户和组进行管理和维护的过程。用户和组管理包括用户账号管理、组账号管理、权限管理等方面。 用户账号管理 在 Linux 中,每个...

    linux删除用户组和inux添加用户组.docx

    Linux 操作系统是一个多用户、多任务的操作系统,用户和用户组是 Linux 系统中的两个重要概念。本文将对 Linux 中的用户和用户组管理进行详细介绍,包括用户和用户组的概念、用户和用户组的创建、删除和管理等。 ...

    linux 增加用户到组

    用户组是为了实现权限控制和资源共享,同一组内的用户可以共享某些文件的访问权限。 2. **用户管理命令**: - `useradd`:创建新用户,如`useradd newuser`。 - `usermod`:修改用户属性,包括添加用户到组,如`...

    linux属组操作

    ### Linux属组操作详解 #### 一、用户管理 Linux中的用户管理是非常...这些命令和选项是Linux用户管理和用户组管理的基础。通过合理地使用它们,可以有效地控制系统的访问权限和资源分配,确保系统的安全性和稳定性。

Global site tag (gtag.js) - Google Analytics