用户及用户组存放文件

1、/etc/passwd

其中每一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:

[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片 

username:password:UserID:Group ID:comment:home directory:shell  

a)username 用户名,它唯一地标识了一个用户帐号,用户在登录时使用的就是它。

b)password 该帐号的口令。passwd文件中存放的密码是经过加密处理的。

c)User ID 用户识别码,简称UID。Linux系统内部使用UID来标识用户,而不是用户名。UID是一个整数,用户的UID互不相同。

d)Group ID 用户组识别码,简称GID。不同的用户可以属于同一个用户组,享有该用户组共有的权限。与UID类似,GID唯一地标识了一个用户组。

e)comment 这是给用户帐号做的注解。它一般是用户真实姓名、电话号码、住址等,当然也可以是空的。

f)home directory 主目录。这个目录属于该帐号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,root帐号的主目录是/root,其他帐号的家目录都在/home目录下,并且和用户名同名。

g)login command 用户登录后执行的命令。一般来说,这个命令将启动一个shell程序。例如,用bbs帐号登录后,会直接进入bbs系统,这是因为bbs帐号的login command指向的是bbs程序,等系统登录到bbs时就自动运行这些命令。

系统帐号:系统中还有一些默认的帐号,如daemon、bin等。这些帐号有着特殊的用途,一般用于进行系统管理。这些帐号的口令大部分用(x)号表示,代表它们不能在登录时使用。

2、/etc/shadow

为了增强系统的安全性,Linux系统还可以为用户提供MD5和Shadow安全密码服务。如果在安装Linux 时在相关配置的选项上选中了MD5和Shadow服务,那么将看到的/etc/passwd文件里的passwd项上无论是什么用户,都是一个“x”,这就表示这些用户都登录不了;系统其实是把真正的密码数据放在了/etc/shadow文件里。

3、/etc/group 文件

组名:口令:组标识号:组内用户列表

a) “组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

b) “口令”字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。

c) “组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。

d) “组内用户列表”是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

用户操作

1、用户添加

创建用户的不同方式

添加用户使用useradd或者adduser来完成、补充部分有详细的命令说明。

下面三行每行命令都添加了一个用户、但是结果是不同的。

useradd test_user_1  

a)只添加一个用户、什么都没有、包括home主目录、登录后使用的shell。属于默认的同名组——test_user_1。此组自动创建、可使用参数指定不创建组。

useradd –s /bin/bash test_user_2  

b)添加一个指定shell的普通用户、属于默认的同名组——test_user_2。此组自动创建、可使用参数指定不创建组。

groupaddtest_group_1  

useradd –m –s /bin/bash –g test_group_1 test_user_3  

c)第一行添加一个组、添加一个用户、拥有home主目录、登录后使用的shell、指定所在分组。

创建好用户记得指定密码、

passwd usernamepassword  

exp: 指定test_user_1的密码是1

passwdtest_user_1 1  

完善被创建用户

上面第一行添加的用户不能正常使用、但是我们可以通过以下步骤来尝试解决、

a)指定好密码

b)root身份登录在home下创建test_user_1文件、修改此文件属性、主要是修改用户、用户组、权限

c)编辑/etc/passwd文件下test_user_1的shell 、改为/bin/bash 。

d)切换试试、如果正常使用、则打完收工。

exp:

passwd test_user_1 1  

mkdir /home/test_usre_1  

chown –R test_user_1:test_group_1/home/test_user_1  

usermod –s /bin/bash test_usre_1  

logout  

adduser

以人机交互的方式创建一个比较完善的普通用户。

2:用户删除

删除方式

a) userdel username 只会删除用户、不会删除用户主目录(如果有的话)、也有可能会删除同名创建的用户组(如果这个用户组下只有这一个用户的话)。

b) userdel –r usrename 不但会删除用户、也会删除用户主目录(如果有的话,没有则会有提示)也有可能会删除同名创建的用户组(如果这个用户组下只有这一个用户的话)。

exp:  

userdel test_usre_1  

userdel –r test_user_2  

userdel test_user_1   

如果test_user_1在创建的时候没有指定group、并且同时创建的同名group——test-user_group下没有其他用户、则test_usre_group也会被删除。

3:用户的修改

命令usermod:

常用的就是修改用户名、用户密码、用户组、和使用的shell和home主目录

a)修改用户名:

usermod –l test_usre_mod test_user_1  

b)修改shell

usermod –s /bin/bash test_user_mod 

c)修改用户组

usermod –g test_group_1 test_user_mod  

d)添加用户组 

usermod –G test_group_2 test_user_mod  

4:用户的查看

所有用户的信息都放在/etc/passwd这个文件下面。可以使用cat/etc/passwd这个命令查看。

用户组

1:添加用户组

groupadd命令、可以在命令行窗口中使用 man groupadd 或者 groupadd info 或者groupadd –help查看使用方法

a)创建一个任何用户组的用户test_nogpuser_1

useradd –N test_nogpuser_1  

b)创建一个没有任何用户的用户组test_nousergp_1

groupaddtest_nousergp_1  

c)将用户test_nogpuser_1添加到test_nousergp_1中

gpasswd 命令用于操作用户组中用户、添加删除用户、删除用户组密码等操作、可以在命令行窗口键入 gpasswd –help获取说明

gpasswd –a test_nogpusre test_nousergp_1  

d)将用户test_nogpuser_1从test_nousergp_1中删除

gpasswd –d test_nogpuser test_nousergp_1  

2:用户组修改

groupmod 命令、命令窗口输入groupmdo –help 查看帮助

a)修改用户组名

groupmod –n test_del_group test_nousergp_1  

b)修改用户组GID

groupmod –p 1 test_del_group  

3:删除用户组

a)创建用户的时候默认创建的用户组、在不添加其他用户的情况下、用户被删除、则此用户组就会被删除。

b)不能删除有用户的用户组

c)删除空用户的用户组

groupdel test_nousergp_1  

补充:

1、命令:usermod参数详解

功能说明:修改用户帐号。

语  法:usermod [-LU][-c<备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]

补充说明:usermod可用来修改用户帐号的各项设定。

参  数:

-c<备注>  修改用户帐号的备注文字。

-d登入目录>  修改用户登入时的目录。

-e<有效期限>  修改帐号的有效期限。

-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。

-g<群组>  修改用户所属的群组。

-G<群组>  修改用户所属的附加群组。

-l<帐号名称>  修改用户帐号名称。

-L  锁定用户密码,使密码无效。

-s<shell>  修改用户登入后所使用的shell。

-u<uid>  修改用户ID。

-U  解除密码锁定。

2、命令:useradd 参数详解

-c 备注加上备注。并会将此备注文字加在/etc/passwd中的第5项字段中

-d 用户主文件夹。指定用户登录所进入的目录,并赋予用户对该目录的的完全控制权

-e 有效期限。指定帐号的有效期限。格式为YYYY-MM-DD,将存储在/etc/shadow

-f 缓冲天数。限定密码过期后多少天,将该用户帐号停用

-g 主要组。设置用户所属的主要组

-G 次要组。设置用户所属的次要组,可设置多组

-M 强制不创建用户主文件夹

-m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下

-p 密码。输入该帐号的密码

-s shell。用户登录所使用的shell

-u uid。指定帐号的标志符user id,简称uid

3、命令gpasswd参数详解

-a, --add USER                添加用户到组

-d, --delete USER              从组删除用户

-h, --help                    显示帮助信息

-r, --remove-password          删除密码

-R, --restrict                  限制用户登入组,只有组中的成员才可以用newgrp加入该组

-M, --members USER,...        指定组成员和-A的用途差不多

-A, --administrators ADMIN,...   指定管理员

centos 创建用户组及用户的更多相关文章

  1. linux创建用户组、用户

    创建用户组 groupadd -g 1024 nameinfo 创建用户 首先创建目录 mkdir -p /home 创建用户 useradd -g nameinfo -u 1024 -d /home ...

  2. linux下创建用户组与用户 只能访问指定目录的方法 以及FTP用户配置详解

    VSFTPD 安装: -- 查看是否已经安装 VSftpd: rpm -qa | grep vsftp yum install -y vsftpd groupadd ftpuser #创建ftpuse ...

  3. 新建用户组、用户、用户密码、删除用户组、用户(适合CentOS、Ubuntu系统)

    这个知识点,模糊了好久.!!! 生产中,习惯如下: useradd,默认会将自身新建用户,添加到同名的用户组中.如,useradd zhouls,执行此命令后,默认就添加到同名的zhouls用户组中. ...

  4. centos 添加/删除用户和用户组

    centos系统添加/删除用户和用户组     在centos中增加用户使用adduser命令而创建用户组使用groupadd命令,这个是不是非常的方便呀,其实复杂点的就是用户的组与组权限的命令了,下 ...

  5. Linux学习总结(十三)—— CentOS用户组管理:创建用户组、修改用户组、删除用户组

    文章首发于[博客园-陈树义],请尊重原创保留原文链接. 在Linux系统里,有两个系统文件与用户组密切相关,它们分别是:/etc/group./etc/gshadow. /etc/group:存储了用 ...

  6. linux创建www用户组和用户

    linux创建www用户组和用户 wdcp中的nginx服务启动需要依赖www用户,因此若没有此用户就可能会启动失败.创建这个用户的方法: [root@bogon local]# id www [ro ...

  7. SharePoint中低权限用户通过提升权限创建用户组

    /// <summary> /// 提升权限创建用户组 /// </summary> /// <param name="groupname">用 ...

  8. postgres centos 创建数据库 创建用户

    一个小的流程关于如何创建数据库和用户,用以加强印象,以及留档备份 一.创建账户 1.登录postgres账户 su postgres 2.进入psql 指令 psql 3.创建用户 create US ...

  9. CentOS 创建SVN 服务器,并且自动同步到WEB 目录

    CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报  分类: ...

随机推荐

  1. 一个move_uploaded_file()引起的PHP异常与错误的深入理解

    背景:我在公司开发一个产品Excel导入到数据库的功能,写起来挺快的,用phpexcel几下就写好了,本地测试挺顺的,git push上去,项目负责人部署到测试环境,就出现问题了.具体问题一句话不好说 ...

  2. java封装性、继承性及关键字

    方法的参数传递(重点.难点)1.形参:方法声明时,方法小括号内的参数   实参:调用方法时,实际传入的参数的值 2.规则:java中的参数传递机制:值传递机制 1)形参是基本数据类型的:将实参的值传递 ...

  3. 使用travis-ci自动部署github上的项目

    travis-ci是什么? 一个使用yaml格式配置用于持续集成完成自动化测试部署的开源项目 官网:https://travis-ci.org/ 使用travis-ci集成vue.js项目 首先,您需 ...

  4. tensorflow softmax应用

    ---恢复内容开始--- 1.softmax函数 2.tensorflow实现例子 #!/usr/bin/env python # -*- coding: utf-8 -*- import tenso ...

  5. Java 9 揭秘(17. Reactive Streams)

    Tips 做一个终身学习的人. 在本章中,主要介绍以下内容: 什么是流(stream) 响应式流(Reactive Streams)的倡议是什么,以及规范和Java API 响应式流在JDK 中的AP ...

  6. 内核对象kobject和sysfs(2)——kref分析

    内核对象kobject和sysfs(2)--kref分析 在介绍ref之前,先贴上kref的结构: struct kref { atomic_t refcount; }; 可以看到,kref只是包含一 ...

  7. Flunetd 用于统一日志记录层的开源数据收集器

    传统的日志查看方式 使用fluentd之后 一.介绍 Fluentd是一个开源的数据收集器,可以统一对数据收集和消费,以便更好地使用和理解数据. 几大特色: 使用JSON统一记录 简单灵活可插拔架构 ...

  8. JUnit4总结

    JUnit4使用要求: 测试方法必须使用@Test进行修饰 测试方法必须使用public void 进行修饰,不能带任何的参数 新建一个源代码目录来存放我们的测试代码 测试类的包应该和被测试类保持一致 ...

  9. [补档]暑假集训D8总结

    %dalao 今天有两位大佬来讲课,meaty来讲了Catalan(本来说好的莫比乌斯反演呢),聪聪来讲Splay呢 至于听课笔记= =,没来得及记= = 不过好不想上树啊,上了树就下不来了 考试 仍 ...

  10. TCP/IP拥塞控制

    TCP/IP拥塞控制包括:慢启动和拥塞避免.其操作流程如下所述: 初始化.拥塞窗口cwnd = 1,慢启动门限ssthresh = 65535 如果没有发生拥塞 若 cwnd < ssthres ...