Linux_用户权限管理

简介: 目录目录用户管理useradd创建用户userdel删除用户usermod修改用户账号passwd修改用户密码用户权限设置用户组管理查看用户的属组修改用户组gpasswd为没有家目录的用户建立家目录生产环境中隐藏root用户umask控制文件或目录创建时的初始权限Linux的系统权限ACL用户管理Linux和Windows用户不能单独存在,必须属于一个或多个组。

目录

用户管理

Linux和Windows用户不能单独存在,必须属于一个或多个组。
用户信息存储位置
1. Windows userInfo :c:\windows\system32\config\sam 数据库中
2. linux userInfo:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
Linux user属性
配置文件:/etc/login.defs (创建User的默认属性设定)
RHEL7:
管理员用户 0
系统用户 1-200 Linux管理用户
系统用户 201-999 Linux服务用户
普通用户 1000-60000

useradd创建用户

常用选项:

        -u 指定UID
        -s 指定登陆后默认的shell
        -d 指定家目录
        -g 指定主组(只有一个属组)
        -G 指定附加组(有属组、附加组)
        -M 不建立家目录

注意:Linux管理员组是wheel,并不是把用户加入到root组,用户就能成为管理员。

userdel删除用户

    -r 删除用户家目录

usermod修改用户账号

    -L 锁定用户  (不能login)
    -U 解锁用户

passwd修改用户密码

echo xxx | passwd --stdin 用户名 设定passwd

设定用户密码使用策略

chage -d 0 用户名 -- 下次登录强制修改密码
chage -d 2015-04-01 jmilk 在 2015-04-01 强制用户修改密码
chage -E 2015-12-31 jmilk  在 2015-12-31zhangsan 密码过期
chage -l zhangsan  查看用户的密码策略

用户权限设置

Example:

chmod ugoa+-/=/number fileName/directoryName    #修改文件或目录的权限
chown userName:groupName fileName/directoryName    #修改文件或目录的属主、属组

setuid:拥有者的强制位(u[+|-]s),一般指令设置setuid后,能够让普通用户在执行该指令的时候,使用root的权限来执行此指令。
setgid:组的强制位(g[+|-]s),为目录设置setgid后,此目录下的文件或目录继承上一级目录的属组,一般用于生产中的团队文件管理。
sticky:(冒险位,粘滞位o[+|-]t)谁创建的文件或目录就只有谁能够进行删除操作,一般用于共享目录。

用户组管理

groupadd:创建组
groupdel:删除组,前提此组不能是某个用户的主组

查看用户的属组

id userName
groups userName

修改用户组gpasswd

将一个user加入到group中
gpasswd -a 一次加一个用户
gpasswd -M 一次加入多个用户
将一个user从组中删除
gpasswd -d userName groupName

为没有家目录的用户建立家目录

    mkdir /home/jmilk
    chown jmilk:jmilk /home/jmilk
    chmod 700 /home/jmilk
    cp -av /etc/skel/.[!.]*  /home/jmilk   #/etc/skel建立用户家目录的模板目录,若想对将来新建用户进行统一个性化设定,可以现在模板目录内设定。

生产环境中隐藏root用户

使root成为普通用户,使普通用户成为超级管理员(系统只要识别UID=0,就认为是超级管理员)
直接编辑/etc/passwd文件

 root:x:1005:1005:root:/home/jmilk:/bin/bash
 jmilk:x:0:0::/root:/bin?hask

umask控制文件或目录创建时的初始权限

文件的默认权限:666-umask(两者为偶数的可以相减得出,否则不能)
目录的默认权限:777-umask
改变umask并使之永久生效:编辑/etc/profile中的umask值

Linux的系统权限

系统权限是针对文件系统的权限,与用户权限无关

lsattr  fileName   #列出文件的系统权限
lsattr -d dirName    #列出目录的系统权限
chattr +a fileName     #文件可以追加,不可以删除、修改
chattr +i fileName       #文件不可以追加、修改、删除
chattr +j fileName       #立即存储

ACL

一般使用chmod、chown全局设置权限,再使用acl进行局部调整。
getfacl fileName #显示此文件是否设置了acl
设定用户对未来创建的文件或子目录的权限

setfacl -m d:u:用户名:权限 文件|目录
setfacl -m  g:组名:权限  文件|目录
setfacl -m d:u:jmilk:rw-  /abc   #d:default,用户在abc目录中建立文件或子目录,jmilk都有rw权限
setfacl  -x  删除acl
setfacl  -b  删除全部acl   

注意:文件或目录的权限标识的意义
-rw——- test ⇒ 设置权限前
-rw-rwx—+ test ⇒ acl设置权限后
rw- 表示拥有者的权限
rwx 表示第一个acl用户的权限
— 表示第1个 acl 组的权限
+表示后面还有但没有显示

相关文章
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
39 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
36 1
|
1月前
|
存储 监控 Shell
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
40 0
|
30天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
62 5
|
1月前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
56 1
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
34 0
|
1月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
38 2
|
18天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
29天前
|
安全 Ubuntu Shell
Linux之用户权限和文件权限详解
Linux之用户权限和文件权限详解
|
12天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
103 2