用户、组和权限

Linux组的类别
用户必须属于一个且只有一个主组
组名同用户名,且仅包含一个用户,私有组
用户的附加组(supplementary group)
一个用户可以属于零个或多个辅助组

chsh 更改用户shell类型

chsh -s  /etc/nologin wang :更改wang的shell类型为nologin类型

修改用户口令属性

[root@laobai ~]#chage root
Changing the aging information for root
Enter the new value, or press ENTER for the defaultMinimum Password Age [0]: 5        最短口令有效期Maximum Password Age [99999]: 56        最长口令有效期Last Password Change (YYYY-MM-DD) [2018-04-03]: 2018-040-04  修改口令时间Password Expiration Warning [7]: 9      口令过期警报时间Password Inactive [-1]:     宽限期Account Expiration Date (YYYY-MM-DD) [-1]:     账号有效期

修改新建账号默认用户口令的属性

nano  /etc/login.defs

PASS_MAX_DAYS   42  最长有效期
PASS_MIN_DAYS   3   最短有效期
PASS_MIN_LEN    5
PASS_WARN_AGE   7

用户和组的配置文件

Linux用户和组的主要配置文件:
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性

在shadow文件内  用户后面会有!号,表示锁定。

useradd -U +用户名 可解锁用户

useradd -L  +用户名  锁定用户

passwd -e +用户名    让用户口令立即失效,从新登陆后提示输入旧口令,然后输入新口令

useradd 创建用户

  • -u:指定uid
  • -g:指定gid为主组
  • -G:指定附加组
  • -o:不检查uid唯一性,结合-u使用
  • -c:添加描述信息
  • -d:指定家目录
  • -s:指定默认shell
  • -N:不创建主组,并且加入users组为主组
  • -r:创建系统用户
  • -m:创建系统用户时强制创建家目录,结合-r使用
  • -M:创建登录用户时不创建家目录
  • -D:修改/etc/default/useradd文件
    • -s SHELL
    • -b HOME
    • -g GROUP

usermod 修改用户

  • -u:修改uid
  • -g:修改gid
  • -G:修改附加组,结合-a可以追加附加组
  • -s:修改默认shell
  • -c:修改描述信息
  • -d:修改家目录,结合-m可以搬家
  • -l:修改用户名
  • -L:锁定账户
  • -U:解锁账户,在新系统上不支持对空密码用户解锁
  • -e YYYY-MM-DD:设置账户过期时间
  • -f INACTIVE:设定非活动期限

userdel 删除用户

  • -r:删除用户时连家目录一并删除

id 查看用户信息

  • -u:查看uid
  • -g:查看gid
  • -G:查看用户所属的组的ID
  • -n:显示名称,配合-ugG使用

su 切换用户

  • su USERNAME 非完全切换,部分变量还是原用户的变量
  • su - USERNAME 完全切换,相当于重新登录
  • su [-] USERNAME -c 'CMD' 登录到新用户执行CMD命令后返回旧用户

passwd 修改用户密码

  • -d:删除指定用户名密码
  • -l:锁定用户密码 == usermod -L
  • -u:解锁用户密码 == usermod -U
  • -e:强制用户下次登录必须修改密码
  • -f:强制操作
  • -n MINDATS:最短使用期限
  • -x MAXDAYS:最长使用期限
  • -w WARNDAYS:提前多少天警告
  • -i INACTIVEDAYS:非活动期限
  • --stdin 从标准输入接受用户密码,如:echo "user1" | passwd --stdin user1 修改user1用户的密码为user1

chage 修改用户密码默认策略 /etc/login.defs

  • -d LAST_DAY
  • -E --expiredate EXPIRE_DATE
  • -I --inactive INACTIVE
  • -m --mindays MIN_DAYS
  • -M --maxdays MAX_DAYS
  • -W --warndays WARN_DAYS
  • –l 显示密码策略

练习
1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"

[root@laobai ~]#useradd -s /bin/csh -G bin,root gentoosss -c "hello"
[root@laobai ~]#genent passwd gentoosss
-bash: genent: command not found
[root@laobai ~]#getent passwd gentooss
[root@laobai ~]#id gentoosss
uid=517(gentoosss) gid=518(gentoosss) groups=518(gentoosss),0(root),1(bin)

2、创建下面的用户、组和组成员关系
名字为webs 的组
用户nginx 使用webs 作为附属组
用户varnish,也使用webs 作为附属组
用户mysql,不可交互登录系统,且不是webs 的成员,nginx,varnish,mysql密码都是magedu

[root@laobai ~]#groupadd web
[root@laobai ~]#useradd -G web aaaaa
[root@laobai ~]#useradd -G web bbbbb
[root@laobai ~]#useradd -s /sbin/nologin ccccc
[root@laobai ~]#echo magedu |passwd --stdin aaaaa
Changing password for user aaaaa.
passwd: all authentication tokens updated successfully.
[root@laobai ~]#echo magedu |passwd --stdin bbbbb
Changing password for user bbbbb.
passwd: all authentication tokens updated successfully.
[root@laobai ~]#echo magedu |passwd --stdin ccccc
Changing password for user ccccc.
passwd: all authentication tokens updated successfully

批量创建用户,设置密码

[root@laobai date]#touch user.txt
[root@laobai date]#cat user.txt
app22:x:508:509::/home/app:/bin/bash
bcd22:x:509:511::/etc/data/bcdhome:/bin/bash
bcde22:x:510:512::/etc/data/bcdhome:/bin/bash
bbb22:x:511:513::/etc/data/bbbhome:/bin/bash
[root@laobai date]#newusers /date/user.txt
[root@laobai date]#nano pass.txt
[root@laobai date]#cat pass.txt
app22:123456
pcd22:123456
bcde22:123456
bbb22:123456
[root@laobai date]#cat pass.txt | chpasswd

用户属性修改

usermod [OPTION] login

-u UID: 新UID

-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项

[root@laobai ~]#usermod -aG bin haha
[root@laobai ~]#id haha
uid=513(haha) gid=514(haha) groups=514(haha),0(root),1(bin)

-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字;

[root@laobai ~]#usermod -l didida didi

-L: lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限

查看用户相关的ID信息
id [OPTION]... [USER]
-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG使用

切换用户或以其他用户身份执行命令

su  +用户名      切换用户(不完全切换)

su  -  +用户名   切换用户(完全切换)

换个身份执行命令,再退回到原账号

[wang@laobai ~]#su - root -c 'cat /etc/shadow'

设置密码

passwd [OPTIONS] UserName: 修改指定用户的密码
常用选项:
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f: 强制操作
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码
echo "PASSWORD" | passwd --stdin USERNAME

创建组

groupadd [OPTION]... group_name
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组

修改和删除组

组属性修改:groupmod
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID
组删除:groupdel
groupdel GROUP

更改组密码

组密码:gpasswd
gpasswd [OPTION] GROUP
-a user 将user添加至指定组中

[root@laobai ~]#gpasswd -a varn g1
Adding user varn to group g1
[root@laobai ~]#id varn
uid=521(varn) gid=523(varn) groups=523(varn),521(webs),526(g1)

-d user 从指定组中移除用户user

[root@laobai ~]#gpasswd -d varn g1
Removing user varn from group g1

-A user1,user2,... 设置有管理权限的用户列表
newgrp命令:临时切换主组
如果用户本不属于此组,则需要组密码

更改和查看组成员

groupmems [options] [action]
options:
-g, --group groupname 更改为指定组 (只有root)
Actions:
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list 显示组成员列表
groups [OPTION].[USERNAME]... 查看用户所属组列表

将用户加入组

[root@laobai ~]#groupmems -a varn -g g1
[root@laobai ~]#id varn
uid=521(varn) gid=523(varn) groups=523(varn),521(webs),526(g1)

将用户移除该组

[root@laobai ~]#groupmems -d varn -g g1
[root@laobai ~]#id varn
uid=521(varn) gid=523(varn) groups=523(varn),521(webs)

文件权限总结

普通用户对于读写执行权限都是有严格控制的

对于读写权限,root不受控制,但对于执行权限,如果root没有执行权限,那就无法执行操作

读权限对于二进制文件来说并不是必不可少的

普通用户不能修改文件所有者

删除文件不是对文件的权限,而是对文件所在目录的写权限

对于目录而言,没有执行权限意味着不可以cd进去看文件的详细属性,也不能访问目录里的文件内容

文件能否被删除要看目录是否有执行权限

文件获取权限的顺序是先看所有者 再看组,最后看其他,如果所有者满足条件,直接继承所有者权限,即使权限最小也不例外。

修改文件的属主和属组

修改用户权限

shown + 所有者  +文件名

chgrp   +所有者  +文件名

文件权限

文件的权限主要针对三类对象进行定义
owner: 属主, u
group: 属组, g
other: 其他,  o
每个文件针对每类访问者都定义了三种权限
r: Readable
w: Writable
x: eXcutable

修改文件权限

chmod

方法1

chmod  who  opt  per  file

who:u 、g、o

otp:+   、--、==

per:r、w、x、X

例 :chmod  u+x,g-x,o=   file

方法2

参考前文件,修改后面的文件

chmod  --reference=f1  f2  f3

方法3

数字法

u      g      o

rwx  rw-   r--

111 110 100

r:4   w:2  x:1

转载于:https://www.cnblogs.com/huxiaojun/p/8719271.html

Linux九阴真经之催心掌残卷3相关推荐

  1. Linux九阴真经之大伏魔拳残卷4 nginx(模型,安装配置,模块)

    I/O模型 1  .同步/异步:关注的是消息通信机制 (既被调用用者是否返回消息) 同步:synchronous,调用者等待被调用者返回消息,才能继续执行 (被调用者完成任务也不通知调用者,调用者需 ...

  2. Linux九阴真经之大伏魔拳残卷3(LVS)

    如果一台服务器承受过多压力,那么服务器可能会崩溃,所以,我们应该让一台服务器承受的压力在合理范围内,但如果服务器必须承受较大的压力,那么一台服务器可能我发满足我们的要求,所以我们可以使用多台服务器分摊 ...

  3. Linux九阴真经之大伏魔拳残卷1(FTP,NFS)

    vsftpd 服务 ​ 文件传输协议:File Transfer Protocol是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式.它属于网络传输协议的应用层. 服务器端:vsftpd ...

  4. Linux九阴真经之大伏魔拳残卷5 nginx

    编译安装 nginx  [root@localhost ~]# yum install pcre-devel openssl-devel zlib-devel -y #安装前提控件 [root@loc ...

  5. Linux九阴真经之大伏魔拳残卷6 keepalived

    keepalived 介绍 Keepalived软件期初是专为LVS负载均衡软件设计的,用来管理并监控LVS几区系统汇总各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此Keepali ...

  6. Linux九阴真经之无影剑残卷7(进程管理)

    进程概念 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等 Process: 运行中的程序的一个副本,是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被 ...

  7. Linux九阴真经之无影剑残卷2(磁盘存储和文件系统)

    一.磁盘简介 计算机的外部存储器中也采用了类似磁带的装置,比较常用的一种叫磁盘,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失. 1.硬盘的chs模式 是指c ...

  8. Linux九阴真经之九阴白骨爪残卷2(SSH)

    SSH ssh:安全的远程登录 两种方式的用户登录认证 基于passwork 基于key 客户端 常见的客户端工具有:Windows版的putty.securecrt.xshell:linux中有ss ...

  9. Linux九阴真经之九阴白骨爪残卷3(自动化运维之系统安装)

    安装程序 CentOS系统安装 系统启动流程: bootloader-->kernel(initramfs)-->rootfs-->/sbin/init anaconda: 系统安装 ...

最新文章

  1. ftp服务器需要ssl证书吗,ftp+ssl证书安全认证
  2. [LeetCode] 303. Range Sum Query - Immutable
  3. shell实例第5讲:检查软件包是否安装
  4. 人的大脑皮层对产品设计有何启发?
  5. iptables 范例
  6. Java并发-Fork/Join框架
  7. 世界杯快到了,看我用Python爬虫实现(伪)球迷速成!
  8. 三维振镜原理_展商专访 | 先临三维与易加三维联合携多款精品及新品亮相2020年TCT亚洲展...
  9. linux子系统安装docker,linux上安装Docker(非常简单的安装方法)
  10. spring循环依赖 第二讲
  11. gorm软删除_删除 |《GORM 中文文档 v1》| Go 技术论坛
  12. 太原冶金技师学院计算机系,山西冶金技师学院专业都有什么
  13. 电力拖动计算机控制系统讲什么,电力拖动控制系统 [黄松清 编著] 2015年版
  14. php爬取金山词霸发音,php金山词霸api
  15. 深度学习(16) GAN(4)
  16. Python xls转换为xlsx
  17. pdf在线翻译_如何在线翻译整篇PDF论文?
  18. 10+年程序员总结的20+条经验教训
  19. 关于windows11安装vc6.0闪退解决问题
  20. Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API

热门文章

  1. How to do presentation
  2. EasyExcel常用注解
  3. 电脑自动修复失败之后
  4. 每周一书-2016年8月8日到14日获奖读者公布
  5. 计算机专业名词术语raid,RAID是什么意思,RAID是什么意思
  6. 字符串里面的html转义字符串,HTML转义字符串
  7. 高性能定时器2——红黑树实现
  8. AMD电脑安装TBC(Trimble Business Center)
  9. python 实现打电话_python 实现手机自动拨打电话的方法(通话压力测试)
  10. Spring cloud Zuul 参数调优