开发者社区> 科技小先锋> 正文

Linux用户和组管理

简介:
+关注继续查看

    Linux的学习者都知道,Linux的每个文件都有相当多的属性与权限。其中最重要的就是文件所有者的概念。今天我就总结一下用户与组相关的一些命令。


 1.用户的概念

      系统中的每个进程(运行程序)都作为一个特定用户运行。每个文件归一个特定用户所有。对文件和目录的访问受到用户的限制。与运行进程相关联的用户可确定该进程可访问的文件和目录。 

若要查看与进程相关联的用户,在ps命令中包含u选项。第一列显示用户名:

[root@serverX ~]# ps aux

USER     PID %CPU %MEM    VSZ   RSS  TTY      STAT START   TIME  COMMAND

root            1   0.0  0.0    19244  1424     ?        Ss   21:00   0:01  /sbin/init

root            2  0.0  0.0            0       0     ?        S    21:00   0:00  [kthreadd]

student   114   0.0  0.2   106008 1240     pts/0      S    21:00   0:00  /bin/sh


若要查看与某一文件或目录相关联的用户,则使用ls -l命令。第三列显示用户名:

[root@serverX ~]# ls -l /tmp

-rw-------. 1 root    root     9412 Aug  3 22:49 sv1jc.tmp

-rw-------. 1 student student 24288 Jul 30   21:24 sv25e.tmp

   

2.Linux用户在数据库中定义。

      默认情况下,系统使用简单的“平面文件”(即/etc/passwd文件)存储有关本地用户的信息。/etc/passwd采用以下格式(七个冒号分隔字段):

account:password:UID:GID:GECOS:directory:shell

      用户属性:

 account是UID到名称的一种映射,便于用户使用。

 password以前是以加密格式保存密码的位置。现在密码存储在称为/etc/shadow的单独文件中。

 UID是用户的ID,在最基本的级别标识用户的编号。

 GID是主组ID,默认情况下,是与所有新建文件关联的号码,用于潜在的合并。

 GECOS字段存储任意文本,通常是用户的实际姓名、办公电话或个人电话号码。

 directory是用户的个人数据和配置文件的位置。

 shell是在用户登录时,以及如果shell(例如/bin/bash)提供用户命令行提示时,执行的程序。


3.管理本地用户

3.1 useradd创建用户

    useradd username可在无选项的情况下运行时,为/etc/passwd中的所有字段设置合理的默认值

    useradd在默认情况下不设置任何有效密码,用户无法登录

    useradd –help将显示可用于覆盖默认值的基础选项  

            -c comment 指定一段注释性描述。
            -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
            -g 用户组 指定用户所属的用户组。
            -G 用户组,用户组 指定用户所属的附加组。
            -s Shell文件 指定用户的登录Shell。
            -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

3.2 userdel删除用户

    userdel username从/etc/passwd中删除用户,但默认情况下,主目录保持不3变。

    userdel -r username可删除用户和用户的主目录。

3.3  id显示用户信息

     id 将显示用户的信息,包括其UID编号和组成员身份。

     id username将显示username的用户信息,包括其UID编号和组成员身份。

3.4 passwd设置密码

    passwd username可用与设置用户的初始密码,或更改该用户的密码。

3.5 UID范围

 UID 0是root,且具有特殊权限

 UID 1-499按约定是“系统用户”-一般是非交互服务帐户

 UID 500+是人们用来交互访问计算机的“常规用户”


4.管理密码

    一直以来,密码都存储在/etc/passwd文件中。但是/etc/passwd必须完全可读,因为命令(例如ls)需要访问该文件才能将UID映射到用户名。

    将密码迁移到更加安全的/etc/shadow文件,该文件支持若干个不同的密码加密算法。只要加密的密码存储在专用文件中,密码期限策略和数据就可以存储。


   4.1密码哈希中存储有哪3条信息?

$1$myPMmLiM$NUAUYAnGzIt1maaTWmj1k.

1. 1 -哈希算法(1表示MD5哈希)

2. myPMmLiM – 用于加密哈希的salt

3. NUAUYAnGzIt1maaTWmj1k. - 已加密的哈希


   4.2/etc/shadow字段

root:$1$myPMmLiM$NUAUYAnGzIt1maaTWmj1k.:15183:0:99999:7:::

1. 用户名

2. 密码散列

3. 上次密码更改日期(自1970年1月1日以来的天数)

4. 最短密码期限(按天数计,0 = 无最短期限要求)

5. 最长密码期限(按天数计)

6. 密码警告期限(按天数计,0 = 未指定警告)

7. 密码非活动期限(按天数计)

8. 账户到期日(自1970年1月1日以来的天数)

    

   4.3下图显示了相关的密码期限参数,可以使用chage对其进行调整,以实施密码期限策略。

wKiom1fH4R3i5BfVAAA2gq0fSJs950.png


示例:

# chage -m 0 -M 90 -W 7 -I 14 username

在下次登录时,chage -d 0 username将强制更新密码。

chage -l username 将列出用户名的当前设置。

usermod 可以修改账户,包括通过-L选项进行“锁定”。


5.管理组

   与用户一样,组也有名称和编号(GID)。本地组在/etc/group中定义。LDAP也可用于提供组信息。

  5.1主要组

   每个用户只有一个主要组。

   对于本地用户,主要组通过/etc/passwd第三个字段中列出的组的GID编号定义

   通常,用户创建的新文件归主要组所有。

   通常,新创建用户的主要组为具有与该用户相同名称的新创建组。该用户是这一用户专用组(UPG)的唯一成员。

  5.2补充组

   用户可以是0或多个补充组的成员。

   属于本地组补充成员的用户列在/etc/group中组条目的最后一个字段中。对于本地组,用户成员身份

   由/etc/group中组条目的最后一段中找到的逗号分隔的用户列表来确定。

   groupname:password:GID:user1,user2,user3

   补充组成员身份用来帮助确保用户具有访问系统中文件和其他资源的权限。

  5.3管理补充组

1. groupadd -g 601 groupname  创建名为groupname且GID为601的补充组。

2. usermod -aG groupname username  会将用户username添加到groupname中。


6.chown命令改变某个文件或目录的所有者和所属的组
    

     该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。


    语法:

    chown(选项)(参数)

   参数:
    -R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理; 

    -c或——changes:效果类似“-v”参数,但仅回报更改的部分; 

    -f或--quite或——silent:不显示错误信息;

    -h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件; 

    -v或——version:显示指令执行过程; 


  本文转自willis_sun 51CTO博客,原文链接:http://blog.51cto.com/willis/1845237,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
linux上的用户管理
作为一个专业的服务器发行版,CentOS上存在着n多个用户,作为一个专业的运维工程师,linux的用户管理和用户组的管理是做为一个SA必不可少的工作. 下面我们就先来谈谈linux中的用户管理: useradd可以在系统中新建一个用户 用法如下: useradd [选项] 用户名 常用选项: ...
728 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
18979 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18479 0
linux和windows互传文件/用户配置文件和密码配置文件/用户组管理/用户管理
2.27linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理 3.3 用户管理 linux和windows互传文件 显示日期date [root@centos_1 ~]# date 2017年 11月 21日 星期二 08:38:...
1120 0
linux内存管理--用户空间和内核空间
关于虚拟内存有三点需要注意: 4G的进程地址空间被人为的分为两个部分--用户空间与内核空间。用户空间从0到3G(0xc0000000),内核空间占据3G到4G。用户进程通常情况下只能访问用户空间的虚拟地址,不能访问内核空间的虚拟地址。
728 0
Linux【实操篇】—— 用户管理、linux系统root密码找回方式
Linux【实操篇】—— 用户管理、linux系统root密码找回方式
24 0
Linux用户和组管理,查看软件缓存,通过命令查看硬件信息(cpu,版本,序列号,内存,主板,内核等)
 通过修改/etc/inittab.通过这个文件修改系统的启动方式. ls –l /etc/ | more   (管道),将前面的结果交给后面的命令进行处理。 在linux中遇到问题使用man命令。 查找文件信息并将文件存储到一个制定的文件中。 ls –la > “a.txt” 创建组名: 创建组:
1893 0
6967
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载