U14Linux的帐号与用户组
1.在/etc/group和/etc/gshadow中查找mousegroup: grep mousegroup /etc/group /etc/gshadow (grep的使用)
2.其实Linux并不认识你的"帐号名称",他仅仅认识ID.每个登录的用户至少都会取得两个ID,一个是用户ID(UID),另一个是用户组ID(GID).跟用户帐号有关的两个非常重要的文件:一个是管理用户UID/GID重要参数的/etc/passwd.另一个是专门管理密码相关数据的/etc/shadow.
3./etc/passwd的文件结构:每一行都代表一个帐号,有几行就代表有几个帐号在系统中像bin,daemon,adm,nobody这些帐号是系统正常运行所必须的,他们被称作系统帐号.
例如: head -n 1 /etc/passwd 执行之后会显示的内容: root:x:0:0:root:/root:/bin/bash(每一行使用":"分隔,共有七个字段)
他们分别为: 帐号名称:密码:UID:GID:用户信息说明:主文件夹(该用户登录时会立刻跑到这个目录中来):Shell
对于UID有几点说明:0为系统管理员,1~499保留给系统使用的
4./etc/shadow文件结构:
例如: head -n 1 /etc/shadow
执行之后显示的内容: root:$6$CQBVuQIT$oF1m.fPaVvsQTkHxZEPRrLeScol7Su10ABJdk43tsbyTS1t/lPLDmYWk.xufxn75cnRnBN.vOCzTIUW4gpobP1:15877:0:99999:7:::
shadow同样以":"作为分隔符,有9个字段.
帐号名称:密码(密文):最近更改密码的日期:密码不可改动的天数:密码需要重新更改的天数:密码需要更改期限前警告天数:密码过期后的宽限时间:帐号失效时间:保留
参数说明: 密码不可改动的天数:若为0,表示密码随时可以修改.若为20表示,设置密码之后20天之内都无法改变这个密码.
密码需要重新更改的天数:若为20,表示最近一次更改密码之后在20天内需要再次更改密码.
密码需要更改期限前警告天数:若为7,表示密码到期之前的7天内,系统会警告该用户.
密码过期后的宽限时间:密码过期后,当你登录系统时,系统会强制要求必须重新设定密码才能继续使用.
帐号失效时间:帐号在此字段规定的日期后,将无法再使用.(通常应用在"收费服务"中)
5.帐号的两个文件(/etc/passwd和/etc/shadow)了解完之后,来了解用户组的文件:/etc/group和/etc/gshadow.
6./etc/group的文件结构:每一行代表一个用户组,以":"作为字段的分隔符.有4个字段.
例如: head -n 1 /etc/group 执行后的结果为: root:x:0:root
用户组名称:用户组密码:GID(我们/etc/passwd第四个字段使用的GID就是这个):此用户组支持的帐号名称(举例来说:若想要让yhw也加入root这个用户组,在第一行的 最后加上“,dmtsai”就行了,使其变成“root:x:0:root,yhw”就可以了)
7.有效用户组:每个用户的/etc/passwd里面的第四列有所谓的GID,那个就是这个用户的初始用户组。也就是说,当该用户登录系统后,立刻就拥有这个用户组的相关权限。
有几点要注意一下:若一个用户的初始用户组是wjygroup,则在wjygroup的/etc/group的第四个字段不用写入该帐号,因为是初始用户组。若某个用户想加入yhwgroup组,而 yhwgroup不是他的初始用户组,则需要在yhwgroup的/etc/group的第四列加上“,这个用户的帐号名”。
在读取/写入/执行文件时,针对用户组部分,只要是该用户所在用户组拥有的功能,该用户都拥有。但是,若要新建一个新的文件或目录,新文件的组是哪一个就要看当时的有效用 户组是哪一个了。使用groups命令,查看当时有效用户组,第一个输出的即为有效用户组。有效用户组切换命令: newgrp 用户组名(newgrp是另外以一个shell来提供这个功能 的,所以想回到原来环境输入exit就行了)。
8./etc/gshadow的文件结构:这个文件以“:”分隔,第二个字段为密码列,如果密码列上为“!”,表示该用户组不具有用户组管理员(无合法密码)。
例如: head -n 1 /etc/gshadow 结果为: root:::root
用户组名:密码列:用户组管理员帐号:该用户组支持的帐号
9.新增用户: useradd 用户名(具体参数查看书P409)
例如:新增一个用户,指定其UID为700(不存在),指定其初始用户组为mousegroup(已经存在): useradd -u 700 -g mousegroup yhw
其实useradd的默认值可以使用useradd -D调出来。 例如:可以新建/etc/skel/www目录,这样新增的用户在他的主文件夹下就会有www这个文件夹。
10.使用useradd新增了用户之后,该帐号是被封锁的,需要使用passwd设置其密码。root更改其他用户密码的方式: passwd 账号名。
用户自己更改自己密码的方式(root也是这样): passwd
例如:管理yhw的密码,使其具有60天内要更改密码,超期10天密码失效的设置: passwd -S yhw; passwd -x 60 -i 10 yhw; passwd -S yhw
让帐号wjy失效: passwd -l wjy
让账号wjy重新激活:passwd -u wjy (当使用passwd -S wjy查看时,若第二字段为P则是激活状态。若为L则为锁定失效状态。)
11.chage -l 账号名(查看该帐号的详细密码信息). 有趣的功能:新建一个名为yhw的帐号,该帐号第一次登录使用默认密码,但必须更改密码后使用新密码才能登录系统使用bash.
useradd yhw;echo "123" | passwd --stdin yhw; chage -d 0 yhw
12.对账号的信息进行微调使用usermod命令(P416)。删除用户使用userdel 用户名(-r连同主文件夹一起删掉)
注意:如果想要完整的将某个账号删除,最好可以在执行userdel -r username之前,先执行find / -user username查出整个系统内属于username的文件,再进行删除。
13.finger这个命令可以查阅很多的用户相关信息(P417)。 chfn这个命令可以更改自己的相关信息。(P418) chsh可以更改shell. id命令可以查询某人或自己的相关UID/GID 等信息。
14.与对用户的操作很相似,P420对用户组的操作命令有:groupadd(新增用户组),groupmod(微调用户组信息),groupdel(删除用户组)。若某个账号的初始用户组使用了某个用户 组,则该用户组无法删除。
15.如果系统管理员太忙,可以新建用户组管理员(相当于版主)。
例如:新建一个用户组,名称为mousegroup且用户组交给wjy管理: groupadd mousegroup; gpasswd mousegroup gpasswd -A wjy mousegroup
以wjy登录系统,并且让他加入自己和yhw成为mousegroup成员: gpasswd -a wjy mousegroup; gpasswd -a yhw mousegroup
16.ACL是Access Control List的缩写,主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置。ACL可以针对单一用户,单一文件或目录进行 r,w,x的权限设置,对于需要特殊权限的使用情况很有帮助。(还没有看,详见P423)
17.用户身份切换命令;su(切换成root,输入su或者su -)(输入exit可以离开su环境)
例如:执行一个只有root执行的命令,执行后还是原身份: su - -c "head -n 3 /etc/shadow"(这个必须知道root密码)
切换成yhw账户: su -l yhw
虽然root很方便,但是当我的主机是多人管理时,大家都要使用su切换成root身份,那么大家就都知道root密码了,这样不太好。所以,最好使用sudo.
18.sudo的执行仅仅输入自己的密码就行了。仅有/etc/sudoers内的用户才能执行sudo这个命令。
例如:以sshd的身份在/tmp下面新建一个名为mysshd的文件: sudo -u sshd touch /tmp/mysshd
19./etc/sudoers应该用visudo来修改,直接在root下输入visudo即可进入。具体修改详见(P430)。
20.用户的特殊shell与PAM模块没有看,P433.
21.如果想知道目前已登录在系统上的用户,可以输入 w 或者 who来查看。
另外,若想知道每个帐号的最近登录时间,则可以使用lastlog命令。
22.用户对谈命令:write,mesg,wall。
例如;我们的Linux上目前有wjy和yhw两人在线,wjy想和yhw说话可以这样:who(查询yhw所在的终端接口),然后执行 write yhw pts/i(查到的接口号),接着输入想说的话 就行了。而yhw会立即接受到消息。但是这样会打断yhw当前的工作。所以可以通过mesg n或者mesg y来设定是否接收消息。使用mesg查看当前的mesg设置。(但是,mesg的 功能对root传来的信息没有抵抗能力)。
wall “消息们”:可以广播给其他在线用户。
23.用户邮件的使用:mail.
mail 用户名 -s “标题”输入回车后,就可以输入信件内容了。结束时,最后一行输入一个小数点。
例如:将主文件夹下的环境变量文件寄给自己: mail -s "bashrc file content" wjy<~/.bashrc
24.手动新增用户(批量新建,检查工具等)没看。P443
U14Linux的帐号与用户组的更多相关文章
- 给Linux添加新用户,新建用户,新建帐号
给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /sbin/nologin - ...
- Linux学习笔记---用户管理---帐号管理
root管理 (1)新增用户:useradd -u 指定UID -g 指定GID -G 作为组员添加到某个组 -M 不创建主用户目录 -m 创建主用户目录 -c 用户信息说明列 -d 指定某个目录为主 ...
- Linux 下WordPress FTP帐号解决办法
自己用Ubuntu搭建WordPress后在更换主题时提示需要输入FTP帐号和密码,解决办法主要是把WordPress主目录的权限所有者弄为Apache: 找到apache服务所使用的用户名和用户组 ...
- Chapter 2 User Authentication, Authorization, and Security(2):创建登录帐号
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38705965,专题目录:http://blog.csdn.net/dba_huangzj ...
- ubuntu用户帐号
与用户帐号相关的有几个非常重要的文件/ect/passwd,/etc/shadow,/etc/group /etc/passwd 执行 head -n 5 /ect/passwd显示前5行,内容如下: ...
- 树莓派修改默认pi帐号亲测有效
# 树莓派修改默认pi帐号亲测有效### 1.我的树莓派机型:3B+,系统:Raspbian桌面标准版,连接的屏幕:电视机..###2.打开树莓派LX终端,快捷键:Ctrl+Alt+t ###3.输入 ...
- 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题
千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...
- SQLSERVER走起微信公众帐号已经开通搜狗微信搜索
SQLSERVER走起微信公众帐号已经开通搜狗微信搜索 请打开下面链接 http://weixin.sogou.com/gzh?openid=oIWsFt-hiIb_oYqQHaBMoNwRB2wM ...
- SQLSERVER走起微信公众帐号全新改版 全新首页
SQLSERVER走起微信公众帐号全新改版 全新首页 今天,SQLSERVER走起微信公众帐号增加了首页功能 虽然还是订阅号,不过已经对版面做了比较大的修改,希望各位亲用得放心.用得安心O(∩_∩)O ...
随机推荐
- 使用RNSwipeViewController类库进行视图切换
如今很多应用已经不再局限于点击按钮触发事件来进行视图之间切换,为迎合给予用户更好体验,体现iOS系统极佳用户体验,使用手势来进行各个视图之间切换,用户至于一个大拇指在屏幕中央就可浏览到很多信息: 关于 ...
- mysql5.6 主从配置
参考网址:http://www.cnblogs.com/zhoujie/p/mysql1.html http://kerry.blog.51cto.com/172631/277414/ 1.配置主库: ...
- 解决sqlserver2008 r2 登陆时报错:provider 命名管道提供程序, error40 错误2
错误截图: 这种错误是因为无法启动sqlserver服务,进入命令行,输入 services.msc 进入服务管理,找到sqlserver服务如下图. 在这里启动该服务会报错如下图: 此服务无法启 ...
- uploadify,实际开发案例【选择完文件点击上传才上传】
<script type="text/javascript"> )+Math.floor(Math.random()*)+']-'; //设置随机文件前缀. $k(fu ...
- 将Datagridview中的数据导出至Excel中
首先添加一个模块ImportToExcel,并添加引用 然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...
- ThinkPhp学习09
原文:ThinkPhp学习09 三.区间查询 $data['id']=array(array('gt',4),array('lt',10));//默认关系是 and 的关系 //SELECT * FR ...
- Songs
Two Steps From Hell - Strength of a Thousand Men
- KMP 知识点总结
KMP算法是BF算法的改进,主要是消除了主串指针的回溯,提高算法效率. 先简单介绍一下BF算法: 基本思路: 从目标串s的第一个字符开始和模式串的第一个字符比较,相等逐个比较后续字符,否则从目标串的第 ...
- linux串口编程总结
串口本身.标准和硬件 † 串口是计算机上的串行通讯的物理接口.计算机历史上,串口以前被广泛用于连接计算机和终端设备和各种外部设备.尽管以太网接口和USB接口也是以一个串行流进行数据传送的.可是串口连接 ...
- JAVA泛型之<? extends T>:(通配符上限)和<? super T>(通配符下限)
一.通配符上限和通配符下限接受的类型 通配符上限:<? extends T> 通配符下限:<? super T> 以下代码是测试结果,注释为解释说明 package xayd. ...