`
ihuashao
  • 浏览: 4659441 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

linux的用户和组-基础篇

阅读更多

  摘要:
  
    建立一个新用户
  
    修改用户的个人设置
  
    文件目录的权限设置
  
    两个重要文件:passwd与group
  
    建立一个新用户
  
    建立一个新的用户包括两个步骤,第一步是使用useradd命令完成一个新用户的初始化设置工作;第二步是用passwd为这个新用户设置密码。例如,我们要给系统添加一个用户叫floatboat,密码为fan2001z,那相关的操作是:
  
    useradd floatboat <回车>
  
    这时候系统没有任何显示。接着:
  
    passwd floatboat <回车>
  
    系统显示:
  
    Changing password for user floatboat
  
    New UNIX password:
  
    你输入:
  
    fan2001z<回车>
  
    注意,由于linux并不采用类似windows的密码回显(显示为*号)——为避免你输入密码时被人注意到有多少位——所以,输入的这些字符你是看不见的。
  
    系统显示:
  
    Retype new UNIX password:
  
    你再重新输入一次密码,然后回车确认,这时系统会显示:
网管bitscn_com


  
    passwd:all authentication tokens updated successfully
  
    表示你修改密码成功了。
  
    到这里,新用户的创建工作就算完成了。下面,我们再补充一些有关增加新用户的常识:
  
    1、useradd所做的初始化操作已经包括在/home目录下为floatboat帐号建立一个名为floatboat的主目录。如果你不想使用这个缺省的目录,而希望把他的主目录放在/home/goal里(还放在/home下,只是一种良好的习惯,没有其他什么特别的要求),可以使用useradd的参数-d,命令如下:
  
    useradd -d /home/goal floatboat
  
    2、useradd的初始化操作还包括为用户单独建立一个与用户名同名的组(floatboat组)。这叫用户私有组的机制,与默认组机制相对应。对用户分组一是方便管理,二是可以明确权限。复杂的我们将在以后的深入内容中探讨。我们如果想让此用户加入一个已有的组的话,可以使用-g参数。例如我们想让floatboat加入webusers组,那么可以使用以下命令:
  
    useradd -g webusers floatboat
  
    同样的,我们还可以使用-G参数使他同时加入多个组,例如webusers和ftpusers:
  
    useradd -G ftpusers,webusers floatboat
网管朋友网www_bitscn_net


  
    3、passwd命令为一个用户设置密码,但它实质上是一个修改密码的程序。只有超级用户和用户自己可以修改密码,其它的普通用户没有给他修改密码的权利。用户密码的组成要尽量的复杂,最好包括字母、数字和特殊符号,而且最好设成6位以上。太短passwd程序不允许,只是单纯的字母或单纯的数字,passwd也会有意见。你都会看见passwd出现的提示的,不要害怕,仔细看看到底它是怎么说的:)
  
    4、你在增加一个新用户的时候,也可以设置用户登录的shell。缺省的,系统提供了/bin/bash。你如果非要指定的话,可以使用-s参数就可以了。例如
  
    useradd -d /www -s /usr/bin/passwd floatboat
  
    注意,这些参数是可以一块使用的,如上例所示,它表示增加新用户,并把其主目录路径设置在/www,登录的shell为/usr/bin/passwd。关于shell的更详细的说明,请参考下面的修改用户的个人设置相关内容。
  
    5、删除一个用户可以使用userdel命令,直接带用户名做参数就可以了。
  
    修改用户的设置
  
    对现有用户的修改,比较常用的主要是修改密码(使用passwd就好了),修改用户的登录shell,修改用户所属的默认组,设置帐号有效期,修改用户的说明信息等等,偶尔也会用到修改用户主目录。   
    修改用户的登录shell
  
    使用chsh命令可以修改自己的shell,只有超级用户才能用chsh username为其它用户修改shell设置。注意,指定的shell必须是列入/etc/shells文件中的shell,否则该用户将不能登陆。
  
    一般,比较常见的shells文件包括下面这些shell:
  
    /bin/bash2
  
    /bin/bash
  
    /bin/sh
  
    /bin/ash
  
    /bin/bsh
  
    /bin/tcsh
  
    /bin/csh
  
    而网管们还喜欢在里面加上/usr/bin/passwd,这是为了不然用户通过控制台或telnet登录系统,却可以使用修改帐户密码(比如在FTP里用)。以及/bin/false,也就是不让这个用户登录的意思喽^&^,连FTP也不能用。
  
    你也可以使用usermod命令修改shell信息,如下所示:
  
    usermod -s /bin/bash floatboat
  
    其中/bin/bash和floatboat应取相应的shell路径文件名及用户名。
  
    还有一种情况,就是你为用户设置了一个空的shell(就是""),也就是说,这个用户没有shell。呵呵,绝对没有在我还未曾见过,因为这种用户登录后,系统还是会给它一个shell用的。不信你试试:
网管bitscn_com

  
    usermod -s "" floatboat
  
    这种用户根据系统的不同,会有一个sh或bash进行操作,我也没有看出功能上和其它普通用户登录有什么不同。
  
    修改用户所属的默认组
  
    这个功能也可以通过usermod命令来实现,使用-g参数,例如把floatboat的默认组改为nobody,可以使用如下命令:
  
    username -g nobody floatboat
  
    nobody在类UNIX系统中一般都意味着没有任何权限。
  
    设置帐号有效期
  
    如果使用了影子口令,则可以使用如下命令来修改一个帐号的有效期:
  
    usermod -e MM/DD/YY username
  
    例如把用户floatboat的有效期定为2001年12月31日:
  
    usermod -e 12/31/01 floatboat
  
    如果把该用户的有效期设为已经过去的时间,就可以暂时禁止该用户登录系统。
  
    修改用户的说明信息
  
    修改用户的说明信息,最简单的方法莫过于直接修改/etc/passwd文件,找到对应的用户记录行,例如下列行:
  
    floatboat:x:503:503::/home/floatboat:/bin/bash 网管bitscn_com
  
    你可以直接在第四个冒号和第五个冒号之间插入该用户的说明就可以了。其实,很多用户设置都可以在这修改,比如该行最后一部分/bin/bash就是用户登录shell的设置。关于这个/etc/passwd文件,我们后面将进一步的深入探讨。
  
    修改用户主目录
  
    修改用户的主目录主要使用usermod命令的-d参数,例如:
  
    usermod -d /www floatboat
  
    这一行将floatboat的主目录改到/www。如果想将现有主目录的主要内容转移到新的目录,应该使用-m开关,如下所示:
  
    usermod -d -m /www floatboat
  
    文件目录的权限
  
    linux下,每一个文件、每一个目录都有一个属主,并针对用户自己、用户所在组、其它所有帐号(组)分别设定读、写、执行三种权限。例如,我(假定是webusers组的floatboat帐户的拥有者)使用如下命令建立一个新的文件
  
    touch mytestfile
  
    然后我们使用ls -l mytestfile这一命令来查看这个文件的权限状态(关于ls命令,可以查阅本站的命令查询),可以得到如下的屏幕输出显示:
  
    -rw-rw-r-- 1 floatboat webusers 0 Feb 6 21:37 mytestfile
网管u家u.bitsCN.com

  
    输出由空格分为9个部分,我们比较关心第一、三、四个字段,分别表示文件权限属性、文件所有者帐户、文件所属组。
  
    ◆使用chown命令修改文件的主人
  
    当你新建立一个文件的时候,文件的所有者当然就是你了。这一事实只有超级用户(比如说root)才可以通过chown命令改变(例如chown otheruser mytestfile,把mytestfile文件的属主改为otheruser)。普通用户不能把自己的文件“送”给别人,不然你把有特殊目的的程序给了root怎么办?:)
  
    chown命令的用法比较简单。这里我先假设你现在拥有超级用户权限,那么你就可以使用如下命令将一个文件“送给”floatboat了:
  
    chown floatboat /home/floatboat/thefileisrootcreate.txt(假定该文件是由root创建的)
  
    修改一个目录的所有者也是类似的:
  
    chown floatboat /home/newboat
  
    当然,如果这个目录还有子目录及文件需要同时送给floatboat,chown也是支持-R参数的:
  
    chown -R floatboat /home/newboat
  
    如果你同时想修改文件/目录所属的组的话,你可以使用以下命令方便的达到目的: 网管网www_bitscn_com
  
    chown -R floatboat.ftpusers /home/newboat
  
    这样,不但文件主人得到了修改,文件所属的组也变成了ftpusers
  
    ◆修改文件的组属性
  
    文件所属组你倒是可以改变,前提是:
  
    1、你的超级用户。
  
    2、你同时属于两个或两个以上的组。
  
    两个条件你至少具备一个,你才能够把文件所属旧组变为新组。使用如下的命令将当前目录下所有html文件所属的组改为httpd:
  
    chgrp httpd *.html

分享到:
评论

相关推荐

    鸟哥_Linux-基础篇-第四版

    权限管理是Linux系统中的关键概念,本书会详细讲解用户、用户组和权限的概念,以及如何使用chown、chgrp和chmod命令来管理文件和目录的权限。此外,还会涉及进程管理,包括进程查看(ps、top)、启动和停止进程...

    Linux基础命令及其解释--基础篇

    在Linux操作系统中,掌握基础命令是使用和管理系统的必备技能。Linux命令行提供了一种高效且灵活的方式来执行各种任务,从文件操作到系统管理,无一不在其涵盖范围之内。以下是一些常见的Linux基础命令及其详细解释...

    Linux基础篇--从基础开始

    在"Linux基础篇"中,我们将深入学习如何从零开始掌握这个系统的基础知识。这包括了系统的安装、基本命令行操作、文件管理、权限设置、软件安装与更新以及进程管理等方面的内容。 首先,让我们从Linux的安装开始。...

    Linux基础课件-- 新增用户组-groupadd命令.pptx

    在Linux操作系统中,管理用户和用户组是日常运维工作的重要组成部分。`groupadd`命令是Linux系统管理员用于创建新用户组的关键工具。本篇将详细阐述`groupadd`命令的作用、基本格式以及基本用法。 首先,理解`...

    鸟哥的Linux 私房菜-基础篇(最新)

    6. **用户与用户组**:理解用户账户和用户组的概念,知道如何创建、管理用户,以及如何通过`chown`和`chgrp`改变文件所有权。 7. **进程管理**:了解`ps`查看进程状态,`kill`发送信号终止进程,以及`nohup`和`&`让...

    鸟哥的Linus私房菜---基础篇+服务器篇完整版pdf

    在基础篇中,读者将接触到以下知识点: 1. Linux简介:了解Linux的历史、哲学和发行版分类,认识到开源软件的重要性。 2. Linux安装:详细讲解如何在各种硬件平台上安装Linux,包括虚拟机和双系统。 3. Linux文件...

    解读Linux内核--入门篇

    6. **安全性**:Linux内核通过权限机制、访问控制列表(ACL)、用户和组管理等手段,保障系统的安全性和稳定性。 学习Linux内核,你需要掌握以下基础知识: 1. **Shell命令行**:了解基本的命令行操作,如文件和...

    linux用户和组的管理

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

    Linux 用户和组管理

    首先,让我们了解Linux中的用户和组基础。在Linux中,每个资源都有一个所有者和一组权限,这通过用户ID (UID) 和组ID (GID) 来标识。用户可以属于一个或多个组,每个组内可以包含多个用户。这样设计是为了实现权限的...

    Linux_操作系统-基础操作-教学.pdf

    这篇“Linux_操作系统-基础操作-教学.pdf”旨在为初学者提供一个全面了解Linux的基础知识框架。 首先,我们来探讨一下Linux的基本概念。Linux是一个基于Unix的操作系统,由林纳斯·托瓦兹在1991年创建。它不是一个...

    Linux基础课件-- 新增用户-useradd命令.pptx

    **Linux操作系统基础——新增用户-useradd命令** 在Linux操作系统中,管理用户是系统管理员的核心任务之一。`useradd`命令是Linux系统中用于创建新用户的工具,它允许管理员按照特定的参数和配置来设定新用户的账号...

    Linux C函数参考 用户组篇

    这篇Linux C函数参考用户组篇主要探讨了与用户组相关的C函数,用于在程序中进行用户组的创建、查询、修改和管理。 1. **getgrgid()** 和 **getgrnam()** 这两个函数用于获取用户组的信息。`getgrgid()`通过用户组ID...

    c及linux基础培训笔记--超详细

    这篇笔记涵盖了C语言和Linux基础,适合初学者和自学者。笔记主要分为以下几个知识点: 1. **Linux硬盘分区**: - 主分区和扩展分区的总数不超过4个,其中扩展分区最多1个。 - 逻辑分区从5开始,理论上没有数量...

    Linux 指令篇 --熟练操作Linux系统

    本文将深入探讨“Linux指令篇”,帮助你迅速掌握Linux系统的日常操作。 一、基础指令 1. `ls`:列出目录内容,通过参数 `-l` 可以查看详细信息,如权限、大小、日期等。 2. `cd`:切换目录,如 `cd /home/user` ...

    鸟叔的Linux私房菜_基础篇-第三版

    《鸟叔的Linux私房菜_基础篇-第三版》是一本针对Linux初学者撰写的入门书籍,旨在帮助读者快速掌握Linux操作系统的基本使用和管理技能。本篇内容将根据提供的文件信息,详细解析Linux系统中的基础知识点,并根据目录...

    鸟哥的linux--基础

    《鸟哥的Linux私房菜——基础篇》是一本广受欢迎的Linux入门教程,适合初学者系统学习Linux操作系统。该书以章节为单位,每章深入浅出地讲解了一个具体的Linux概念或技能,使得读者可以按照章节顺序逐个掌握知识点,...

    Linux基础课件-- Linux文件属性.pptx

    2. **权限(Permissions)**:每个文件都有读(r)、写(w)和执行(x)三种权限,分别对应用户(User)、组(Group)和其他人(Other)。通过三位数字表示,例如755表示所有者有读、写和执行权限,而组和其他人只有...

    鸟哥linux私房菜_基础篇+服务器篇(全)

    《鸟哥Linux私房菜》是一本广受欢迎的Linux学习书籍,它分为基础篇和服务器篇,涵盖了Linux操作系统的各个方面,旨在帮助读者从零开始掌握Linux系统管理技能。该书在豆瓣上的高评分(9.1分以上)充分体现了其在IT...

    PHP面试大全-基础篇

    ### PHP面试大全-基础篇知识点解析 #### 一、PHP基础知识 **1.1 堆栈** - **堆(stack)**:在PHP中主要用于存储动态分配的内存块,例如对象和数组。堆上的数据是在运行时动态分配和释放的。 - **栈(stack)**:用于...

    阿铭Linux基础篇+服务器篇

    《阿铭Linux基础篇+服务器篇》是一套全面讲解Linux操作系统的教程,旨在帮助学习者掌握Linux的基础知识和服务器管理技能。"阿铭Linux"作为标签,表明这是一系列由阿铭老师或团队创作的教育内容,具有较高的专业性和...

Global site tag (gtag.js) - Google Analytics