【Linux笔记】Linux文件权限

编程入门 行业动态 更新时间:2024-10-25 06:24:20

【Linux笔记】Linux文件<a href=https://www.elefans.com/category/jswz/34/1771295.html style=权限"/>

【Linux笔记】Linux文件权限

1 相关文件

1.1 /etc/passwd

  1. 登录用户名
  2. 用户密码(x)
  3. 用户账户的UID(数字形式)
  4. 用户账户的组ID(GID)(数字形式)
  5. 用户账户的文本描述(称为备注字段)(findger注释说明)
  6. 用户HOME目录位置
  7. 用户的默认shell
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
agent:x:1000:1000::/home/agent:/bin/bash
hwnoc:x:120063:100::/home/hwnoc:/sbin/nologin
jingguang.hm:x:52068:100::/home/jingguang.hm:/bin/bash
qiaoqian.lj:x:54598:100::/home/qiaoqian.lj:/bin/bash
jinpeng.njp:x:1352345:100::/home/jinpeng.njp:/bin/bash
huangdu.hd:x:1356773:100::/home/huangdu.hd:/bin/bash
jianglei.yjl:x:1344873:100::/home/jianglei.yjl:/bin/bash
admin:x:1001:19062::/home/admin:/bin/bash
www:x:1002:1002::/home/www:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
huangdu:x:1003:1003::/home/huangdu:/bin/bash

1.2 /etc/shadow

  1. 登录用户名(与/etc/passwd中的登录用户名对应)
  2. 加密后的密码
  3. 自上次修改密码后过去的天数密码(自1970年1月1日开始计算)
  4. 多少天后才能更改密码
  5. 多少天后必须更改密码
  6. 密码过期前提前多少天提醒用户更改密码
  7. 密码过期后多少天禁用用户账户
  8. 用户账户被禁用的日期(用自1970年1月1日到当天的天数表示)
  9. 预留字段给将来使用
root:$6$V/eMF/XyqgZt$yvhp4vswF7tEZ0nWhRKKzVUEnjl5vjhlmZQYqwLbcylvIk90qoM9SM.6015Uw/iAnShlj5zJC4eDhyfIumcxh1:19541:0:99999:7:::
bin:*:17973:0:99999:7:::
daemon:*:17973:0:99999:7:::
adm:*:17973:0:99999:7:::
lp:*:17973:0:99999:7:::
sync:*:17973:0:99999:7:::
shutdown:*:17973:0:99999:7:::
halt:*:17973:0:99999:7:::
mail:*:17973:0:99999:7:::
operator:*:17973:0:99999:7:::
games:*:17973:0:99999:7:::
ftp:*:17973:0:99999:7:::
nobody:*:17973:0:99999:7:::
systemd-network:!!:19094::::::
dbus:!!:19094::::::
polkitd:!!:19094::::::
libstoragemgmt:!!:19094::::::
ntp:!!:19094::::::
tss:!!:19094::::::
sshd:!!:19094::::::
tcpdump:!!:19094::::::
postfix:!!:19103::::::
agent:!!:19508:0:99999:7:::
hwnoc:!!:19508:0:99999:7:::
jingguang.hm:$6$ILbQTvr6$wdFwWxUIr3BiC6y5uy41NI5LpWGbUsl/U2jTlQ1jnOQbunYGtTNWRzhXjfHiwLimDC38qy40y34A/a/wlK2mV.:19559:0:99999:7::21915:
qiaoqian.lj:$6$hiwTNe46$YCXY/Td5HwjJN.OM.Uk/T446eI7wSvXYL.UMGdpgyNFy.5U8vVR.eJv8D0CuhsO77AGlk1abOYUyQqfwOXDGK0:19559:0:99999:7::21915:
jinpeng.njp:$6$mVbYi7cS$iXjoUkvX0tR/pYyavakdAsE10KFVb7SJnUA/ohAB/H/SrFM40lcqtoWkYGOnWkNNkF8fAkiboVQsrXA9ZJNkH1:19559:0:99999:7::21915:
huangdu.hd:$6$NXrAOqzG$bkMVWq3dC2Ibkt1xihhkc4QbiC8vJtjB7bPVoGHHdqV1t3nniQb2wF0f2nMz516lpV7mM7ErQCPwUcvH8Mqzu/:19559:0:99999:7::21915:
jianglei.yjl:$6$tC3RY7nN$HPdcKPV/NAlNgLzpCYRbyCGiuFaWng6Mb4Zir0WtoEo.B2VsTSkBsEHLrZecT1Ecb9vw7uxGRfMKCSyXKpa5D/:19559:0:99999:7::21915:
admin:!!:19509:0:99999:7:::
www:!!:19517:0:99999:7:::
mysql:!!:19521::::::
huangdu:$6$YIRZ5dq7$kEfIZAsTZSP7wwWHUNyPkHzZBcoJk3wpR492/Xp8DA6OdF5m1tA8Tcg98WtE3lbBB25bag7itI9HsLwyT32Oj0:19528:0:99999:7:::

1.3 /etc/group

  1. 组名
  2. 组密码
  3. GID
  4. 属于该组的用户列表
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
ssh_keys:x:999:
input:x:998:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:997:
libstoragemgmt:x:996:
ntp:x:38:
cgred:x:995:
tss:x:59:
sshd:x:74:
screen:x:84:
tcpdump:x:72:
tbops:x:19001:jingguang.hm,qiaoqian.lj,jinpeng.njp,huangdu.hd,jianglei.yjl
tbpe:x:19011:
tbtest:x:19061:
tbdev:x:19051:
audit:x:2914:
tbdevdba:x:19022:
tbdba:x:19021:
ads:x:1685:
tbnoc:x:19031:
tbscm:x:19041:
logs:x:1338:
postdrop:x:90:
postfix:x:89:
agent:x:1000:
admin:x:19062:
www:x:1002:
mysql:x:27:
huangdu:x:1003:

1.4 /etc/gshadow (略)

2 管理用户/组相关命令

  1. useradd添加新用户
    • -D配置新用户的系统默认值(存储在/etc/default/useradd中)
  2. userdel删除用户
    • -r删除用户的HOME目录以及邮件目录
    • 如果删除的用户创建过文件,则用户删除后原文件的所属主会变成未被占用的UID,所属组会变成未被占用的GID
  3. usermod用户账户修改
    • -l修改用户账户的登录名
    • -p修改账户的密码(注意这里填的是加密后的密码)
    • -L锁定账户,使用户无法登录
    • -U解除锁定,使用户能够登陆
    • -g更改用户账户默认组
    • -G添加组到用户账户的组列表
  4. passwd更改密码(默认修改当前用户的密码)
    • -e强制用户下次登录时修改密码
  5. chpasswd批量更新密码
    • 可以从标准输入流读取登录名和密码对(由:分隔)列表
  6. chsh修改默认shell
    • -s指定shell
  7. chfn修改备注字段(finger查看)
  8. chage管理用户账户的有效期
  9. groupadd创建新组
  10. groupdel删除组
  11. groupmod修改组
    • -g修改GID
    • -n修改组名
  12. gpasswd修改组密码
    • -r移除组密码
    • -R组密码失效
  13. groups查看属于什么用户组
  14. su切换用户
    • -切换用户后跳到该用户的家目录
  15. newgrp临时切换组
  16. sudo执行一个root才能执行的命令
    • 别的用户使用sudo,需要visudo命令编辑/etc/sudoers

3 管理文件权限相关命令

粘着位(sticy bit):普通文件的sticky位会被linux内核忽略,目录的sticky位表示这个目录里的文件只能被owner和root删除。如果用户对目录有写权限,则可以删除其中的文件和子目录,即使该用户不是这些文件的所有者,而且也没有读或写许可。设置了该位后,其它用户就不可以删除不属于他的文件和目录。但是该目录下的目录不继承该权限,要再设置才可使用。
文件权限码:八进制高位到低位分别代表读®写(w)执行(x),即全权限为7,读4,写2,执行1

  1. umask默认文件权限
    • 第一位代表粘着位
    • 后三位代表文件权限(八进制文件权限码,三位分别代表所属主、所属组和其它用户权限)
    • 可以修改默认文件权限,文件全权限为666,目录全权限为777,减去umask中数值为默认权限
  2. chmod 改变文件权限
    • -R递归改变权限
    • 3位八进制文件权限码(也可使用4位八进制值,见共享文件部分)
    • u用户go其它a所有,+增加权限-减少权限=将权限设置成后面的值,rwx执行
  3. chown改变文件主/组
    • -R递归改变权限
    • 用户名只改变主(只有root能改)
    • 用户名.组改变主和组
    • .组只改变组(属主可修改,但要求属主是原属组和目标属组的成员)
    • 用户名.改变主和组(主和组名相同时可用)
  4. chgrp改变文件组
  5. chattr修改文件的特殊属性
  6. lsattr 列出文件/目录的特殊属性

15.4 共享文件

Linux还为每个文件和目录存储了3个额外的信息位。

  • 设置用户ID(SUID):当文件被用户使用时,程序会以文件属主的权限运行。
  • 设置组ID(SGID):对文件来说,程序会以文件属组的权限运行;对目录来说,目录中创建的新文件会以目录的默认属组作为默认属组。
  • 粘着位:进程结束后文件还驻留(粘着)在内存中。
    以上三位组成一位八进制值,可通过chmod直接指定,也可使用符号模式的s(第三位t
  • 例:将testdir目录设置为共享目录
    1. mkdir testdir创建目录
    2. chgrp shared testdir将目录用户组改为共享组(自己约定的)
    3. chmod g+s testdirSGID位置位
    4. umask 002修改默认权限,新文件对所属组可写

更多推荐

【Linux笔记】Linux文件权限

本文发布于:2024-02-12 21:04:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689389.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:权限   文件   笔记   Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!