前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux用户和文件权限管理

Linux用户和文件权限管理

作者头像
Theo Tsao
发布2018-09-07 16:01:49
2.2K0
发布2018-09-07 16:01:49
举报
文章被收录于专栏:Theo Tsao

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

1. 用户管理

系统用户文件

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

添加用户 useradd

代码语言:javascript
复制
# useradd [username]

参数

代码语言:javascript
复制
d:指定用户home目录
e:设置过期时间
g:指定新用户所属的用户组
s:指定新用户使用的shell
u:设置用户UID

例如:

代码语言:javascript
复制
# useradd -s /bin/ksh metaphors

# useradd -g group user

设置用户密码 passwd

代码语言:javascript
复制
# passwd [username]

删除用户 userdel

代码语言:javascript
复制
# userdel [username]

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

用户管理 usermod

代码语言:javascript
复制
# usermod [username]

参数

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

2. 用户组管理

系统用户组文件

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

添加用户组 groupadd

代码语言:javascript
复制
# groupadd [groupname]

删除用户组 groupdel

代码语言:javascript
复制
# groupdel [groupname]

用户组管理

参数

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

例如:

代码语言:javascript
复制
# usermod -g teacher metaphors

# usermod -G teacher,admin metaphors

3. 基本权限及管理命令

修改文件属主 chown

代码语言:javascript
复制
# chown [user:group] [file]

参数

代码语言:javascript
复制
-R => 递归修改

修改文件属组 chgrp

代码语言:javascript
复制
# chgrp [group] [file]

参数

代码语言:javascript
复制
-R => 递归修改

文件权限管理 chmod

代码语言:javascript
复制
# chmod [mode] [file]

权限表达式:

代码语言:javascript
复制
操作对象
u => user
g => group
o => other
a => all

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

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

参数

代码语言:javascript
复制
-R => 递归修改

suid、sgid、sticky权限

代码语言:javascript
复制
suid => set权限处于属主权限位
sgid => set权限处于属组权限位
sticky => sticky权限,防删除,但不能阻止root和属主删除

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

代码语言:javascript
复制
以符号模式设置属主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

代码语言:javascript
复制
查看umask
# umask

修改umask
# umask []

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

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

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

ACL权限管理 setfacl

代码语言:javascript
复制
# setfacl [ACL表达式] [filename]

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

参数

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

例如:

代码语言:javascript
复制
# setfacl -m u:metaphors:rw file

ACL权限查看 getfacl

代码语言:javascript
复制
# getfacl [filename]
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-09-162,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 用户管理
    • 系统用户文件
      • 添加用户 useradd
        • 设置用户密码 passwd
          • 删除用户 userdel
            • 用户管理 usermod
            • 2. 用户组管理
              • 系统用户组文件
                • 添加用户组 groupadd
                  • 删除用户组 groupdel
                    • 用户组管理
                    • 3. 基本权限及管理命令
                      • 修改文件属主 chown
                        • 修改文件属组 chgrp
                          • 文件权限管理 chmod
                            • suid、sgid、sticky权限
                              • 权限掩码 umask
                              • 4. POSIX ACL权限系统及其管理命令
                                • ACL权限管理 setfacl
                                  • ACL权限查看 getfacl
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档