Linux用户和文件权限管理

本文包含: 用户管理、用户组管理、基本权限及管理命令、POSIX ACL 权限系统及其管理命令。

1. 用户管理

系统用户文件

系统用户文件 etc/passwd 用户密码文件 etc/shadow

添加用户 useradd

# useradd [username]

参数

d:指定用户home目录
e:设置过期时间
g:指定新用户所属的用户组
s:指定新用户使用的shell
u:设置用户UID

例如:

# useradd -s /bin/ksh metaphors

# useradd -g group user

设置用户密码 passwd

# passwd [username]

删除用户 userdel

# userdel [username]

删除用户及其家目录和邮件文件
# userdel -r [username]

用户管理 usermod

# usermod [username]

参数

L:锁定用户,禁止用户登录系统
U:解除锁定
e:指定用户过期的日期
f:指定用户过期之后的缓冲时间,即过期后还能登陆的天数
d:为用户指定新的家目录
m:为用户指定新的家目录时,移动原来家目录中的所有文件
s:修改用户的默认shell

2. 用户组管理

系统用户组文件

系统用户组文件 \etc\group 用户组密码文件 \etc\gshadow

添加用户组 groupadd

# groupadd [groupname]

删除用户组 groupdel

# groupdel [groupname]

用户组管理

参数

g:将用户的私有组改变为选项指定的组
G:为用户添加多个附加组,使用逗号作为分隔符
a:将用户以追加的方式添加到一个附加组

例如:

# usermod -g teacher metaphors

# usermod -G teacher,admin metaphors

3. 基本权限及管理命令

修改文件属主 chown

# chown [user:group] [file]

参数

-R => 递归修改

修改文件属组 chgrp

# chgrp [group] [file]

参数

-R => 递归修改

文件权限管理 chmod

# chmod [mode] [file]

权限表达式:

操作对象
u => user
g => group
o => other
a => all

操作符
+ => 添加权限
- => 删除权限
= => 赋予权限

权限列表
r => 读
w => 写
x => 执行

参数

-R => 递归修改

suid、sgid、sticky权限

suid => set权限处于属主权限位
sgid => set权限处于属组权限位
sticky => sticky权限,防删除,但不能阻止root和属主删除

绝对模式下,从右向左第4位,4表示suid,2表示sgid,1表示sticky

以符号模式设置属主set权限
# chmod u+s test.sh
以符号模式设置属组set权限
# chmod g+s test.sh
以符号模式添加防删除位
# chmod o+t file

以绝对模式设置属主和属组set权限
# chmod 6755 test.sh
以绝对模式添加防删除位
# chmod 1777 file

权限掩码 umask

查看umask
# umask

修改umask
# umask []

umask命令修改的umask值在重启后丢失,若需要保存,可写入shell配置文件中

4. POSIX ACL权限系统及其管理命令

POSIX:Portable Operating System Interface 可移植操作系统接口 ACL:Access Control List 访问控制列表

ACL权限管理 setfacl

# setfacl [ACL表达式] [filename]

ACL表达式:[对象类型]:[对象]:权限列表

参数

b:删除所有扩展ACL权限
k:删除默认的ACL权限
d:设置默认的ACL权限
R:递归设置
m:修改、添加已有的ACL权限

例如:

# setfacl -m u:metaphors:rw file

ACL权限查看 getfacl

# getfacl [filename]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐百川的学习频道

Intellij IDEA 2017.3 基于编辑器的REST客户端介绍

最近Intellij IDEA更新到了2017.3这一版本,这个版本又增加了很多新功能。我觉得其中这个基于编辑器的REST客户端这个功能很不错,可以为我们带来很...

25780
来自专栏玄魂工作室

kali linux Python 黑客编程1 开发环境

初始化 为什么要选择Python? Python作为目前Linux系统下最流行的编程语言之一,对于安全工作者的作用可以和C++相提并论。Python提供了丰富的...

71760
来自专栏乐沙弥的世界

Linux 文件目录特殊权限设定(SUID,SGID,SBIT)

Linux文件及目录的权限设定,除了我们孰知的读写执行(rwx)之外,还有一些特殊的权限设定用来满足特定的目录。这些特殊权限的设定主要是SUID,SGID以及S...

14620
来自专栏Fish

安装IDEA和运行SCALA程序

下载与配置IDEA 从官网下载 里面有Ultimate(最终版)和Community(社区版),对于普通的开发者来说,社区版就够了,然后因为我本来配置了JDK...

44890
来自专栏Java帮帮-微信公众号-技术文章全总结

Java文件上传与下载【面试+工作】

1.servlet 如何实现文件的上传和下载? 1.1上传文件 通过前台选择文件,然后将资源上传到(即新建一个文件)到发布的资源文件下面, 下载就是url 到发...

1.4K40
来自专栏偏前端工程师的驿站

打造高效前端工作环境-tmuxinator

前言  虽然tmux能让我们方便组织工作环境,但每次重新打开会话时都需要手动重新创建窗口、窗格和执行各种程序,能不能像VS那样以工程为单位保存窗口、窗格和各种所...

281100
来自专栏测试驿栈

Jmeter(三)_配置元件

Clear Cookies each Iteration:每次迭代请求,清空cookies,GUI中定义的任何cookie都不会被清除。

36920
来自专栏云原生架构实践

JHipster生成单体架构的应用示例

因为这个例子是生成单体架构的应用,所以这里选择默认选项Monolithic application,也就是单体架构的应用。

1.3K20
来自专栏FreeBuf

渗透测试TIPS之删除、伪造Linux系统登录日志

0x00. 引言 擦除日志在渗透测试中是非常重要的一个阶段,这样可以更好地隐藏入侵痕迹,做到不被系统管理人员察觉,实现长期潜伏的目的。 前段时间NSA泄露的渗透...

54060
来自专栏SpringBoot

springboot,全部配置文件

65110

扫码关注云+社区

领取腾讯云代金券