Linux_用户权限管理

简介:

用户管理

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 不建立家目录
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

userdel删除用户

    -r 删除用户家目录

usermod修改用户账号

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

passwd修改用户密码

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

设定用户密码使用策略

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

用户权限设置

Example:

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

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

用户组管理

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

查看用户的属组

id userName
groups userName
  • 1
  • 2
  • 1
  • 2

修改用户组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建立用户家目录的模板目录,若想对将来新建用户进行统一个性化设定,可以现在模板目录内设定。
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

生产环境中隐藏root用户

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

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

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

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

Linux的系统权限

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

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

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   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

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

转载:http://blog.csdn.net/jmilk/article/details/49943103

目录
相关文章
|
4月前
|
安全 Linux
Linux通配符及其在文件搜索和管理中的应用
Linux通配符及其在文件搜索和管理中的应用
|
29天前
|
Linux 数据安全/隐私保护
Linux中用户权限问题
【10月更文挑战第4天】
13 1
|
5月前
|
Java Linux
Linux上管理不同版本的 JDK
Linux上管理不同版本的 JDK
242 0
|
4月前
|
Linux
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
系统启动以后一直存在且常驻内存没有界面的进程就是服务。Linux系统中的所有服务都保存在下列目录中:/usr/lib/systemd/system,进入该目录就能看到所有的服务。
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
|
3月前
|
安全 Linux 数据安全/隐私保护
在Linux中,如何管理用户权限?
在Linux中,如何管理用户权限?
|
4月前
|
Linux
Linux 中RPM软件包管理
Linux 中RPM软件包管理
|
4月前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
187 1
|
5月前
|
Linux
【Linux 基础】文件与目录管理
文件和目录的基本概念以及常用命令
58 11
|
4月前
|
监控 安全 Unix
探索Linux命令repo-rss:管理仓库更新的新视角
`repo-rss`是一个设想中的Linux工具,用于通过RSS订阅跟踪软件仓库更新。它能订阅仓库、检测更新、生成RSS feed并发送通知。主要特点包括实时性、灵活性、自动化和可扩展性。用户可定制订阅、时间间隔及输出格式。示例用法包括订阅Debian仓库、将更新输出为RSS文件或发送至邮箱。使用时需注意安全、资源消耗和隐私,最佳实践包括定期评估、自动化处理、多源订阅和备份。此工具展示了RSS在软件管理中的创新应用。
|
5月前
|
Linux 网络安全 开发工具
Linux 管理远程会话 screen:掌握终端的多任务操作
`Linux screen` 命令让多任务管理变得更简单,尤其在SSH连接远程服务器时。创建新会话如`screen -S backup`,查看会话`screen -ls`,退出`exit`。高级功能包括直接在会话中运行命令,如`screen vim memo.txt`,会话共享以协同工作,以及通过`screen -r`或`-D -r`重新连接或强制恢复断开的会话。提高效率,确保任务不间断运行。
88 1