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 ...
随机推荐
- C++中指针和引用的区别
①指针可以为空,引用不能为空: ②指针可以被赋值,引用必须在声明时赋值,之后不能被赋值: ③指针可以指向堆中空间,引用不能指向堆中空间,如int &p=new int; 会编译出错.
- SQL Server中的事务日志管理(2/9):事务日志架构概述
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
- Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)
在前段时间,为了给项目中加入日志功能,就想到了 logging 模块,百度logging一大推,都是各种复制的,并没有找到自己想要的结果:我的目的很简单,就是:在把日志写入文件的同时在控制台输出,更加 ...
- [Tool] Fiddle2基本使用
Fiddler2已经成网页调试必备的工具. 简述下快捷命令: ?url =statu.=method @host bpafter url bpv method start stop 参考的文章: Fi ...
- 6/19 sprint3 看板和燃尽图的更新
- 设计模式--中介(Mediator)模式
时隔很长一段时,现在又重温设计模式,上个星期学习<设计模式--代理(Proxy)模式>http://www.cnblogs.com/insus/p/4128814.html. 温故而知新, ...
- 基于DevExpress开发的GridView如何实现一列显示不同的控件类型
在很多DevExpress的使用例子里面,我们可以看到,基于GridView实现的不同控件展示的时候,每一列的控件类型都是一样的,如果我要某一列的一行让用户可以从下列列表选择选项,而其他行不可选择,那 ...
- sql 随机抽取几条数据的方法 推荐
传说用这个语句管用:select top 5 * from tablename order by newid() 我放到sql的查询分析器里去执行果然管用,随机抽取5条信息,不停的换,结果我应用到程序 ...
- ActiveReports 报表应用教程 (4)---分栏报表
在 ActiveReports 中可以实现分栏报表布局样式,可以设置横向分栏.纵向分栏,同时进行分栏和分组设置,统计分栏分组的小计.合计等.在商业报表系统中常见的分栏报表有商品标签.员工工卡.条码打印 ...
- FL2440驱动添加(2): RTC(Real time clock)
一,Linux下的时间分为两种,系统时间与硬件时间(RTC芯片): 1,系统时间就是运行系统能够直接看到的时间: 2,硬件时间就是RTC芯片中的时间,断电任然有电池供电: linux系统开机时,会从R ...
