Linux的用户和组

管理用户和组账户
用户和组的关系及类型
每个账户有一个唯一的UID
每个组也有一个唯一的GID
多个账户可以属于同一个组
用户和组的相关文件详解
和账户相关文件
/etc/passwd、/etc/shadow
和组相关文件
/etc/group、/etc/gshadow
账户宿主(家)目录中文件来源
新建用户帐号时,从 /etc/skel 目录中复制而来
默认定义账户的属性文件
/etc/login.defs
用于保存用户的帐号基本信息
文件位置:/etc/passwd
每一行对应一个用户的帐号记录
[root@localhost ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
 字段1:用户帐号的名称
 字段2:密码占位符“ x
 字段3:用户帐号的UID号(区分管理员0与普通用户)
 字段4:所属基本组帐号的GID号
 字段5:用户全名
 字段6:宿主目录
 字段7:登录Shell信息
用户操作
用户账户:
 (管理员)   超级用户root
 (非管理员)程序用户nologin
       普通用户:可以通过shell登录
UID (User Identity,唯一的用户标识号)
 超级用户root的UID为0
 程序用户的UID1-499
 普通用户的UID大于等于500
用于保存密码字串、密码有效期等信息
文件位置:/etc/shadow
每一行对应一个用户的密码记录
[root@localhost ~]# tail -2 /etc/shadow
tcpdump:!!:17858::::::
u1 : $6$JbFqCFLa$UxqyL20WGTmsGQdErwt9iXQkelcGLXtQ3C9KML0MytI/894vjeM28cD.rHSyWeAwipLijQgZQpGFojdgURI52/ : 17867 : 0 : 99999 : 7 :::
 字段1:用户帐号的名称
 字段2:加密的密码字串信息
 字段3:上次修改密码的时间
字段4:密码的最短有效天数,默认值为0
字段5:密码的最长有效天数,默认值为99999
 字段6:提前多少天警告用户口令将过期,默认值为7,提前一周
 字段7:在密码过期之后多少天禁用此用户(默认0)
 字段8:帐号失效时间,默认值为空
 字段9:保留字段(未使用)
加密算法
1    MD5  
2a  Blowfish 
5   SHA-256 
6    SHA-512
组操作
用户和组账户查询
/etc/group文件
组帐号:
 主要组(私有组)
 次要组(附属组)
GID: (Group Identify,组标识号)
用户至少属于一个组(主要组)
默认情况下:创建用户时,会自动创建一个组,组名和用户名一样,这个组就是这个用户的主要组
Linux组帐号
主要组(私有组)
与用户相关的默认组,在/etc/passwd文件的第四个字段定义
次要组(附属组)
用户可以同时属于其他的组,在/etc/group文件的第四个字段定义
用户的主要组的名称和GID相关
控制用户初始配置文件
/etc/skel/*文件
新建用户帐号时,复制到用户宿主目录中
主要控制用户初始配置文件
.bash_profile:用户每次登录时执行
.bashrc:每次进入新的Bash环境时执行
.bash_logout:用户每次退出登录时执行
/etc/profile 所有用户每次登录时会执行
保存组帐号的密码信息
/etc/gshadow文件
/etc/gshadow文件的应用极少,知道有这个文件即可
对账户初始的属性设置
/etc/login.defs文件
设置普通用户的UID和GID范围等
添加与删除用户
useradd命令
格式: useradd  [选项]...  用户名
常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为  /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或GID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shel
useradd命令在后台到底做了哪些工作
passwd命令
格式: passwd  [选项]...  用户名
常用命令选项
-d:清空用户的密码,使之无需密码即可登录
-l:锁定用户帐号
-S:查看用户帐号的状态(是否被锁定) 
-u:解锁用户帐号
--stdin:接收标准输入作为密码
-n:密码最少失效期
-x:密码最长有效期
root用户可以修改所有用户密码,不要求复杂性
普通用户只能改自己的密码,要求复杂性
普通用户修改密码时先输入当前密码,管理员不需要,可以直接修改
[root@localhost ~]#  echo "123"   |  passwd --stdin u4 Changing password for user u4. passwd: all authentication tokens updated successfully.
userdel命令
格式: userdel  [-r]  用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
usermod命令
格式: usermod  [选项]...  用户名
常用命令选项
-l:更改用户帐号的登录名称
-L:锁定用户账户
-U:解锁用户账户
以下选项与useradd命令中的含义相同
 -u、-d、-e、-g、-G、-s
修改用户密码相关参数
chage命令
格式: chage  [选项]...  用户名
常用命令选项
-l:列出密码时效的具体信息
添加、修改和删除组
groupadd命令
格式:groupadd  [-g GID]  组帐号名
groupdel命令
格式:groupdel  组帐号名
groupmod命令
用途:设置组名和组id
格式: groupmod [选项]...  组帐号名
常用命令选项
-n:修改组名
-g:修改组id
gpasswd命令
用途:设置组帐号密码(极少用)、添加/删除组成员
格式: gpasswd  [选项]...  组帐号名
常用命令选项
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔(重置)
先创建组,在创建用户
id命令
用途:查询用户身份标识
格式:id  [用户名]
finger命令
用途:查询用户帐号的详细信息
格式:finger  [用户名]
chfn命令
用途:修改用户的备注信息,/etc/passwd第5字段
who、w、users命令
用途:查询已登录到主机的用户信息
groups命令
用途:查询用户所属的组
本章总结
弄清/etc/passwd  /etc/shadow  /etc/group 等文件中重要字段的意义
熟悉useradd、usermod、passwd、groupadd、groupmod等命令和重要选项的使用
掌握常用查询用户信息命令
练习
验证一:
将/etc/passwd的字段2删除
用户密码为空
登录时不输入密码
本地登录,远程登录,哪一种可以用空密码登录?
本地登录可以,远程登录不可以
验证二:
将/etc/shadow的字段2删除
是不是空密码?
是的
练习一:
创建目录/cis/ceo和/cis/soft,分别用于保存个项目组中用户帐号的宿主目录;
为两个项目组添加组帐号ceo、soft,GID号分别为10001、10002;为技术部添加组帐号tech_new,GID号为2000;
添加2个用户,分别为b100、b200,要求他们的基本组是ceo,附加组是tech_new,宿主目录均使用/cis/ceo目录中与帐号同名的文件夹(例如b100用户的宿主目录/cis/ceo/b100);其中b200用户帐号设置2012-12-31日后失效;
添加2个用户,分别为a100、a200,要求他们的基本组是soft,附加组是tech_new;宿主目录均使用/cis/soft目录中与帐号同名的文件夹(例如a1用户的宿主目录/cis/soft/a100) ;其中a200用户帐号登录的shell为/bin/ksh
所有新建用户密码都是123456;
[root@dbserver02 ~]#  mkdir -p /cis/ceo /cis/soft [root@dbserver02 ~]#  groupadd -g 10001 ceo [root@dbserver02 ~]#  groupadd -g 10002 soft [root@dbserver02 ~]#  groupadd -g 2000 tech_new [root@dbserver02 ~]#  useradd -g ceo -G tech_new -d /cis/ceo/b100 b100 [root@dbserver02 ~]#  useradd -g ceo -G tech_new -d /cis/ceo/b200 -e 2012-12-21 b200 [root@dbserver02 ~]#  useradd -g soft -G tech_new -d /cis/soft/a100 a100 [root@dbserver02 ~]#  useradd -g soft -G tech_new -d /cis/soft/a200 -s /bin/ksh a200 [root@dbserver02 ~]#  passwd a100 Changing password for user a100. New password:  BAD PASSWORD: it is too simplistic/systematic BAD PASSWORD: is too simple Retype new password:  passwd: all authentication tokens updated successfully.
练习二:
1) 新建 2 个组 group1 group2
groupadd -g group1
groupadd -g group2
2) 更改组 group2 GID 103, 更改组名为 grouptest
Groudmod -g 103 -n grouptest group2 
3) 删除组 grouptest
groupdel grouptest
4) 新建用户 user1, 指定 UID 777, 目录为 /opt/user1, 主要组为 group1, 次要组为 root, 指定 shell /bin/bash
useradd -u 777 -d /opt/user1 -g group1 -G root -s /bin/bash user1
7) 使用 usermod 命令修改用户 user1 的个人说明为 This is a test
usermod -c "This is a test" user1
8) 修改用户 user1 密码过期时间为 2018-07-27
usermod -E 2018-07-27 user1
9) 更改用户 user1 的密码为 111111, 加锁用户 user1 并查看 /etc/shadow ,用户 user1 通过 ssh 登录 , 解锁用户 user1 ,再通过 ssh 登录 .
echo 111111 | passwd ---stdiu user1
passwd -l user1
tail -1 /etc/shadow
passwd -u user1
10) 更改用户主目录 /home/user1 /home/user11
usermod -d /home/user11
11) root 更改为 csh, 并查看结果 , 并将 root 改为 bash
usermod -s /bin/csh root
usermod -s /bin/bash root
14) 列出用户 user1 UID GID
id user1
15) 增加用户 user3, 增加组 testgroup, root,user1,user3 加入到 testgroup
useradd user3
groupadd testgroup
gpasswd -a root testgroup
gpasswd -a user1 testgroup
gpasswd -a user3 testgroup
group testgroup
16) 使用 passwd user1 用户密码锁定,用 passwd 查看 user1 密码锁定信息,最后用 passwd 给用户 user1 解锁
passwd -l user1
passwd -S user1
passwd -u user1
17 )创建一个用户 mandriva, ID 号为 2002 ,基本组为 distro( ID 3003) ,附加组为 linux
useradd -U 2002 -g distro -G linux mandriva
18 )创建一个用户 fedora, 其全名为 Fedora Community, 默认 shell tcsh
useradd -s /bin/tcsh fedora
usermod -c "Fedora Community" fedora
19) 修改 mandriva ID 号为 4004 ,基本组为 linux, 附加组为 distro fedora
usermod -u 4004 -g linux -G distro,fedora mandriva
20) fedora 加密码,并设定其密码最短使用期限为 2 天,最长为 50 天。
passwd fedora
passwd fedora -m 2 -M 50
21) mandriva 的默认 shell 改为 /bin/bash
usermod -s /bin/bash mandriva
22)  添加系统用户 hbase, 且不允许其登陆系统。
useradd -r -s /sbin/nologin hbase
 
 

转载于:https://www.cnblogs.com/qluzzh/p/10306102.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值