linux命令之 用户和群组
一、保存用户信息的文件
- 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
pwftp:x:500:500::/alidata/www/wwwroot/:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
mysql:x:501:400::/home/mysql:/sbin/nologin
一共7项,都用:分隔
| 1 | 用户名 | |
| 2 | 密码 | 真正的密文保存在/etc/shadow中 | 
| 3 | UID | 用户id | 
| 4 | GID | 组id | 
| 5 | 账户信息 | 这个账户有什么样的意义 | 
| 6 | 家目录 | 在这个目录中,用户拥有全部的权限 | 
| 7 | shell类型 | /sbin/nologin 非登录用户 /bin/bash 一般用户使用的shell /bin/false 无法登录 | 
2. 新增用户
useradd [-u UID] [-g GID] [-d HOME] [-mM] [-s shell] username
| 案例: useradd –u 500 –g 500 –d /home/pwftp -s /sbin/nologin pwftp 建立了一个用户id为500,组id为500的用户,用户名pwftp,主目录/home/pwftp, 使用的/sbin/nologin这个shell是不可以登录的. 如果不想系统自动创建mysql用户家目录/home/mysql,则要使用-M参数 | 
3. 删除用户
userdel 用户名
| 案例: userdel mysql 删掉mysql这个用户. 加入mysql用户组里只存在mysql这一个用户的话,这个组也会被同时删掉 如果mysql登录状态的,那么得等它登出了再删除 [root @test /root]# userdel testing  <==只有砍掉 /etc/passwd 与 /etc/shadow 的该账号内容; 这个指令下达的时候要小心了!通常我们要移除一个账号的时候,你可以手动的将 /etc/passwd 与 /etc/shadow 里头的该账号取消即可!一般而言,如果该账号只是『暂时不启用』的话,那么将 /etc/shadow 里头最后倒数一个字段设定为 0 就可以让该账号无法使用,但是所有跟该账号相关的数据都会留下来!使用 userdel 的时机通常是『你真的确定不要让该用户在主机上面使用任何数据了!』 停用一个账号: #vi /etc/shadow shift+a 移动到本行的行尾并编辑状态 做如下的修改: pwftp:$6$fkOSovyP$FDrG1XFhNOvy.ZnsDhrbN7Jnj/Aw1rmN2T8UewW.dcS3nrKbbkRTl.JP4/fh/UFXZ.5Jq61WiLwLYQDssUpbv1:16367:0:99999:7::0: 再次使用pwftp用户登录时,得到的提示如下图: 
 | 
4. 修改用户
usermod -参数 参数值 用户名
| usermod –s /bin/bash  mysql 修改mysql用户的shell为bash,这样mysql也能登陆了 其实吧,如果要求改用户的家目录,shell,或者组信息,还是直接修改/etc/passwd文件来的简单直接。 | 
[root @test /root]# useradd testing  <==直接以默认的数据建立一个名为 testing 的账号
  
[root @test /root]# useradd -u 720 -g 100 -M -s /bin/bash testing   <==以自己的设定建立账号
这个指令影响/使用的文件可多了呢,都有以下这些:
5. 建立预设的账号:
建立账号时,如果没有特殊的限定,通常我们只使用 『 useradd username 』就可以建立一个名为username的账号了!
不过你知道预设账号的基本设定吗?嘿嘿嘿嘿!!基本设定就在/etc/default/useradd 和/etc/login.defs 这两个档案中!
在 login.defs 里头有点像底下这样:
| MAIL_DIR        /var/spool/mail  <==邮件默认目录摆放处 PASS_MIN_DAYS 0 <==密码多久需要变更 PASS_MIN_LEN 5 <==密码的最小长度(这个可以改大一些吧!) PASS_WARN_AGE 7 <==密码快要失效之前几天发警告讯息? UID_MIN 500 <==预设帐号最小起算的 UID 数目(最小为 500 ) UID_MAX 60000 <==最大的 UID 限制 GID_MIN 500 <==GID 限制 GID_MAX 60000 <==GID 限制 CREATE_HOME yes <==是否建立家目录,默认是要建立家目录(若为 mail server 可以取消此项目) | 
几乎可以设定的都在这里设定了!所以需要了解一下这个档案!另外,如果你是专门开启 mail server 的,那么由于使用者账号不需要登入主机,
所以也就不需要给予家目录,这个时候最后一项 GREATE_HOME 或者可以设定为 no !此外,当你以默认的数据建立账号时,该账号的 UID 将会取目前在
/etc/passwd 当中『最大的(其实是小于 60000)』那一个 UID + 1 即是预设帐号的 UID 啰!
而至于 useradd 内容则为:
| GROUP=100      <==预设的使用者群组为 100 ,查看一下 /etc/group 时,这个组名为 users 呢! INACTIVE=-1 <==是否不启动,设定为 -1 自然就是启动啦! EXPIRE= <==是否需要设定『死亡』时间?如果你希望该用户在期限到之后就不许登入,此项可以设定天数。 SHELL=/bin/bash <==预设的 Shell 为何? SKEL=/etc/skel <==用户家目录的内容! | 
在这个项目中,最需要了解的就是 SKEL 啦!当你建立一个名为 testing 的账号时,默认的家目录会是『 /home/testing 』这个目录,
而这个目录的内容就是由 /etc/skel 所 copy 过去的!所以『当你想要让用户的默认家目录内容更动时,可以直接将要更动的数据写在 /etc/skel 当中!』
6. 以自己的条件建立账号:
如果要以自己的条件建立账号的时候,一般我都是喜欢手动的增加啦!
不然就是先以上面的那一个例子增加一个账号之后,在去手动修改 /etc/passwd 等等的档案!
二、保存用户密码的文件
1. /etc/shadow
1 账户名 2 密码 3 上次密码修改日期 4 密码不可被更改的天数 5 密码需要被变更的天数 6 密码需要被变更前的警告期限 7 账号失效期限 8 账号取消日期 设为<1970到系统当前日期的数字时,表示账号已经取消,则该不能使用。 9 保留 
三、保存群组信息的文件
1. /etc/group
- 这个档案可以让你直接将账号所要支持的群组加进来!例如你有一个账号名称为 myaccount ,你想要让这个账号可以支持 root 这个群组,则你可以直接在 /etc/group 里面加入呢!很方便,不需要动用的指令呦!
| root:x:0:root daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon | 
- 支持的账号名称
| 1 | 2 | 3 | 4 | 
| 组名 | 群组密码 | 群组 ID (GID) |  | 
四、保存群组密码的文件
1. /etc/gshadow
root:::root
bin:::root,bin,daemondaemon:::root,bin,daemon
sys:::root,bin,adm
adm:::root,adm,daemon
五、增加使用者的一般步骤:
新增使用者的时候,如果该使用者所属的群组不存在,则得(1)先新增群组;
然后(2)再新增使用者账号。当然,如果要删除群组时,则必须要反过来,先删除使用者才能删除群组!这点请大家留意啰!
更详细的教程请访问 鸟哥的linux私房菜 http://u2l.info/3iltdg
linux命令之 用户和群组的更多相关文章
- linux中的用户、群组和权限
		linux中的用户.群组和权限 新建用户natasha,uid为1000,gid为555,备注信息为“master” groupadd -g 555 natasha useradd -u 1 ... 
- Linux基础-3.用户、群组和权限
		1.用户及passwd文件 1)掌握/etc/passwd文件的功能:存储所有用户的相关信息,每一个用户占用一行记录,该文件也被称为用户信息数据库(Database) 2)/etc/passwd文件中 ... 
- linux文件与用户和群组
		文件基本属性 在图片中alogrithm的文件属性为drwxrwxr-x,其中d代表此文件为目录. 后面rwx,rwx,r-x分别代表文件所属者(ower),组(group),其他用户(other)的 ... 
- Linux系统之用户、群组和权限
		一.用户管理 创建用户时,系统为用户分配一个唯一的编号UID,同时为用户创建一个同名的组,并为组分配一个编号GID,并把该用户加入该组中. 系统规定: uid: 0 特权用户 u ... 
- Linux命令(用户管理、组和时间管理)
		用户管理 Linux系统是一个多用用户的系统 用户分为三类: 超级用户(root)用户的id是0 伪用户 用户的id是1----499,虽然存在,但不能被登录 ... 
- Linux命令(三)——用户、群组管理命令
		一.用户和群组的配置文件 1./etc/passwd文件 该文件存储了所有用户的一些基本属性. /etc/passwd文件中所存信息的具体含义如下: 用户名:x表示必须使用密码登录:uid用户标识符: ... 
- linux基础-第六单元 用户、群组和权限
		用户及passwd文件 /etc/passwd文件的功能 /etc/passwd文件每个字段的具体含义 shadow文件 /etc/shadow文件的功能 /etc/shadow文件每个字段的具体含义 ... 
- Linux命令之用户与组管理
		介绍 Linux操作系统中,任何文件都归属某一特定的用户,而任何用户都隶属至少一个用户组.用户是否有权限对某文件进行访问.读写以及执行,受到系统严格约束的正式这种清晰.严谨的用户与用户组管理系统.在很 ... 
- linux的用户、群组
		1. 用户及passwd文件 1) 掌握/etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database). 2) /etc/pa ... 
随机推荐
- Linux动态库的搜索路径
			下面是目录结构: pengdl@localhost:~$ tree test/test/├── fun.c├── Fun.h└── t1 └── main.c 1 directory, 3 fi ... 
- Flatic – 超齐全的 Web 元素界面素材库免费下载
			Flatic 是一个庞大的用户界面工具包,包含数以百计的网页元素,这将有助于你在 Photoshop 中轻松设计整个网站.成套的图标和动作都已包含在套件中.该素材包包括超过100个 PSD 元素.您可 ... 
- Javascript之旅(一)
			Javascript之旅(一) 一.基础知识 基本语法 变量 数据类型 字符串 数组 对象 条件判断 循环 Map和Set iterable 为什么要学习JavaScript JavaScript 是 ... 
- RCU-数据库初始化参数
			C:\Windows\System32>sqlplus sys/As123456 as sysdba SQL> show parameter processes; SQL> shut ... 
- SqL数据库发布订阅非聚集索引没有被复制到订阅服务器的解决方案
			Non-Clustered Indexes not copying in Transactional Replication : SQL Server 2008 方法1: You have trans ... 
- Ext.NET 4.1.0 GridPanel数据分页
			针对大量数据在前端展示,需要进行分页显示,这里我使用的数据量为100万,数据存储在MongoDb中(也可以存储在本地文件或其它数据库中).最终显示效果如下: 步骤如下: 1.新建程序并配置,详见htt ... 
- Azure开发者任务之四:在Azure SDK 1.3中挂载调试器的错误
			我安装了Windows Azure SDK的1.3版本.我试着创建了一个Azure的“Hello World”应用程序. 我按了“F5”,然后我得到了下面这个错误: 我尝试了“Ctrl+F5”:不使用 ... 
- sql 随机抽取几条数据的方法 推荐
			传说用这个语句管用:select top 5 * from tablename order by newid() 我放到sql的查询分析器里去执行果然管用,随机抽取5条信息,不停的换,结果我应用到程序 ... 
- 【jQuery基础学习】06 jQuery表单验证插件-Validation
			jQuery的基础部分前面都讲完了,那么就看插件了. 关于jQuery表单验证插件-Validation validation特点: 内置验证规则:拥有必填.数字.E-Mail.URL和信用卡号码等1 ... 
- 与众不同 windows phone (49) - 8.1 新增控件: 概述, ContentDialog, MapControl
			[源码下载] 与众不同 windows phone (49) - 8.1 新增控件: 概述, ContentDialog, MapControl 作者:webabcd 介绍与众不同 windows p ... 
 
			
		