Linux系统之高级用户组和权限管理
生活随笔
收集整理的這篇文章主要介紹了
Linux系统之高级用户组和权限管理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux系統之高級用戶組和權限管理
- 一、用戶的密碼策略設置
- 1.用戶的密碼文件
- 2.用戶的密碼期限配置
- ①查看用戶密碼期限
- ②修改密碼期限
- ③強制用戶下一次修改密碼
- ④用戶到期時間設置
- 3.查看當前用戶存在
- 二、監控系統用戶登錄
- 1.查看當前登錄用戶
- 2.用戶登錄和重啟記錄
- 3.用戶登錄失敗記錄
- 4.登錄日志
- 三、用戶的提權
- 四、ACL權限配置
- 1.查看文件的ACL權限
- 2.給指定用戶設置ACL權限
- 3.給文件擁有人設置ACL權限
- 4.給指定用戶組設置權限
- ①新建用戶組及添加組內用戶
- ②設置文件的用戶組權限
- 5.給文件擁有組設置權限
- 6.給文件其他人設置權限
- 7.刪除文件高級權限
- ①刪除指定用戶權限
- ②刪除指定組的ACL權限
- ③遞歸修改ACL權限
- ④清除所有ACL權限
- 五、文件與目錄的特殊權限
- 1.進程與文件的屬主與屬組
- 2.suid高級權限
- 3.sgid高級權限
- 4.sticky高級權限
- 六、默認權限與反掩碼
- 1.root用戶文件的默認權限
- 2.普通用戶文件的默認權限
- 3.umask配置文件
- 4.修改umask
- 5.umask和mask的權限計算
一、用戶的密碼策略設置
1.用戶的密碼文件
[root@tianyi ~]# cat /etc/passwdroot: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:65534:65534:Kernel Overflow User:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin polkitd:x:998:996:User for polkitd:/:/sbin/nologin unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin libstoragemgmt:x:996:993:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin setroubleshoot:x:995:992::/var/lib/setroubleshoot:/sbin/nologin clevis:x:994:990:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin cockpit-ws:x:993:989:User for cockpit-ws:/:/sbin/nologin sssd:x:992:988:User for sssd:/:/sbin/nologin insights:x:991:987:Red Hat Insights:/var/lib/insights:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin pesign:x:990:986:Group for the pesign signing daemon:/var/run/pesign:/sbin/nologin chrony:x:989:985::/var/lib/chrony:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin admin:x:1000:1000::/home/admin:/bin/bash nginx:x:988:984:Nginx web server:/var/lib/nginx:/sbin/nologin mysql:x:27:27:MySQL Server:/var/lib/mysql:/sbin/nologin zabbix:x:987:983:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin ~2.用戶的密碼期限配置
①查看用戶密碼期限
[root@tianyi ~]# [root@tianyi ~]# chage -l user1 Last password change : Nov 25, 2025 #最后一次密碼變更時間 Password expires : never # 密碼到期 Password inactive : never # 密碼禁止 Account expires : never # 賬戶到期 Minimum number of days between password change : 0 #更改密碼的最短天數 Maximum number of days between password change : 99999 # 更改密碼的最長天數 Number of days of warning before password expires : 7 # 密碼到期之前警告天數 [root@tianyi ~]#②修改密碼期限
[root@tianyi ~]# chage -m 0 -M 90 -W7 -I 14 user1 [root@tianyi ~]# chage -l user1 Last password change : Nov 25, 2025 Password expires : Feb 23, 2026 Password inactive : Mar 09, 2026 Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 7③強制用戶下一次修改密碼
[root@tianyi ~]# chage -d 0 user1④用戶到期時間設置
[root@tianyi ~]# chage -E 2021-10-01 user1 [root@tianyi ~]# chage -l user1 Last password change : password must be changed Password expires : password must be changed Password inactive : password must be changed Account expires : Oct 01, 2021 Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 73.查看當前用戶存在
[root@tianyi ~]# id user1 uid=1001(user1) gid=1001(user1) groups=1001(user1) [root@tianyi ~]#二、監控系統用戶登錄
1.查看當前登錄用戶
[root@tianyi ~]# w11:54:10 up 89 days, 20:42, 1 user, load average: 0.04, 0.05, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 183.92.102.127 11:14 0.00s 0.06s 0.00s w2.用戶登錄和重啟記錄
[root@node1 ~]# last |head root pts/0 192.168.200.1 Fri Sep 17 22:32 still logged in reboot system boot 4.18.0-80.el8.x8 Fri Sep 17 22:29 still running root pts/0 192.168.200.1 Mon Sep 13 20:28 - crash (4+02:00) reboot system boot 4.18.0-80.el8.x8 Mon Sep 13 20:22 still running root pts/2 192.168.200.1 Wed Sep 1 20:19 - 01:04 (04:45) root pts/1 192.168.200.1 Mon Aug 30 23:11 - 22:59 (1+23:47) root pts/0 192.168.200.1 Mon Aug 30 20:04 - 22:59 (2+02:54) reboot system boot 4.18.0-80.el8.x8 Mon Aug 30 20:03 still running root pts/0 192.168.200.1 Mon Aug 30 19:59 - 20:00 (00:00) root pts/1 192.168.200.1 Mon Aug 30 16:36 - 19:59 (03:23) [root@node1 ~]#3.用戶登錄失敗記錄
[root@node1 ~]# lastbbtmp begins Mon Sep 13 20:23:03 2021 [root@node1 ~]#4.登錄日志
[root@node1 ~]# lastlog Username Port From Latest root pts/0 192.168.200.1 Fri Sep 17 22:32:06 +0800 2021 bin **Never logged in** daemon **Never logged in** adm **Never logged in** lp **Never logged in** sync **Never logged in** shutdown **Never logged in** halt **Never logged in** mail **Never logged in** operator **Never logged in** games **Never logged in** ftp **Never logged in** nobody **Never logged in** dbus **Never logged in** systemd-coredump **Never logged in** systemd-resolve **Never logged in** tss **Never logged in** polkitd **Never logged in** geoclue **Never logged in** rtkit **Never logged in** pulse **Never logged in**三、用戶的提權
[root@node1 ~]# vim /etc/sudoers.d/user1 user1 ALL= (ALL) NOPASSWD: /usr/bin/passwd, /usr/bin/mkdir [user1@node1 ~]$ sudo mkdir file01 [user1@node1 ~]$ ls -l file01 total 0 [user1@node1 ~]$ ls -ld file01 drwxr-xr-x 2 root root 6 Sep 17 22:49 file01 [user1@node1 ~]$ mkdir file02 [user1@node1 ~]$ ls -ld file02 drwxrwxr-x 2 user1 user1 6 Sep 17 22:49 file02 [user1@node1 ~]$四、ACL權限配置
1.查看文件的ACL權限
訪問控制列表,可以實現更細致的訪問控制
[root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rw- group::r-- other::r--2.給指定用戶設置ACL權限
[root@node1 ~]# setfacl -m u:user1:rx- file [root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rw- user:user1:r-x group::r-- mask::r-x other::r--3.給文件擁有人設置ACL權限
[root@node1 ~]# setfacl -m u::rwx file [root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rwx user:user1:r-x group::r-- mask::r-x other::r--4.給指定用戶組設置權限
①新建用戶組及添加組內用戶
[root@node1 ~]# groupadd HR [root@node1 ~]# groupmems -g HR -a user1 [root@node1 ~]# groupmems -g HR -l user1②設置文件的用戶組權限
[root@node1 ~]# setfacl -m g:HR:rwx file [root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rwx user:user1:r-x group::r-- group:HR:rwx mask::rwx other::r--[root@node1 ~]#5.給文件擁有組設置權限
[root@node1 ~]# setfacl -m g::rx- file [root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rwx user:user1:r-x group::r-x group:HR:rwx mask::rwx other::r--[root@node1 ~]#6.給文件其他人設置權限
[root@node1 ~]# setfacl -m o::rw- file [root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rwx user:user1:r-x group::r-x group:HR:rwx mask::rwx other::rw-7.刪除文件高級權限
①刪除指定用戶權限
[root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rwx user:user1:r-x group::r-x group:HR:rwx mask::rwx other::rw-[root@node1 ~]# setfacl -x u:user1 file [root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rwx group::r-x group:HR:rwx mask::rwx other::rw-[root@node1 ~]#②刪除指定組的ACL權限
[root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rwx group::r-x group:HR:rwx mask::rwx other::rw-[root@node1 ~]# setfacl -x g:HR file [root@node1 ~]# getfacl file # file: file # owner: root # group: root user::rwx group::r-x mask::r-x other::rw-[root@node1 ~]#③遞歸修改ACL權限
[root@node1 ~]# getfacl ./dir01/ # file: dir01/ # owner: root # group: root user::rwx group::r-x other::r-x[root@node1 ~]# getfacl ./dir01/test.txt # file: dir01/test.txt # owner: root # group: root user::rw- group::r-- other::r--[root@node1 ~]# setfacl -R -m u:user1:rw- ./dir01/ [root@node1 ~]# getfacl ./dir01/ # file: dir01/ # owner: root # group: root user::rwx user:user1:rw- group::r-x mask::rwx other::r-x[root@node1 ~]# getfacl ./dir01/test.txt # file: dir01/test.txt # owner: root # group: root user::rw- user:user1:rw- group::r-- mask::rw- other::r--[root@node1 ~]#④清除所有ACL權限
setfacl -b五、文件與目錄的特殊權限
1.進程與文件的屬主與屬組
前提:進程有屬主和屬組;文件有屬主和屬組; (1) 任何一個可執行程序文件能不能啟動為進程:取決于發起者對程序文件是否擁有執行權限; (2) 啟動為進程之后,其進程的屬主為發起者;進程的屬組為發起者所屬的組; (3) 進程訪問文件時的權限,取決于進程的發起者: (4) 進程的發起者,同文件的屬主:則應用文件屬主權限; (5) 進程的發起者,屬于文件的屬組;則應用文件屬組權限; (6) 應用文件“其它”權限;2.suid高級權限
ps:/usr/bin/passwd root1.當一個文件有suid的權限時,那么其他用戶來執行該文件時,臨時獲得文件擁有人的權限 2.suid的權限只能用在二進制的文件上,一般是針對命令 3.只能設置在文件上,設置目錄上無意義 chmod u+s file [root@node1 ~]# getfacl /usr/bin/passwd getfacl: Removing leading '/' from absolute path names # file: usr/bin/passwd # owner: root # group: root # flags: s-- user::rwx group::r-x other::r-x3.sgid高級權限
1.當一個文件有sgid的權限時,那么其他用戶來執行該文件時,臨時獲得文件擁有組的權限。 2.當一個目錄有sgid的權限時,那么任何人在該目錄下創建文件(包括目錄)時,該文件的擁有組繼承目錄的組。chmod g+s directory [root@node1 ~]# chmod g+s dir01/ [root@node1 ~]# getfacl dir01/ # file: dir01/ # owner: root # group: root # flags: -s- user::rwx user:user1:rw- group::r-x mask::rwx other::r-x[root@node1 ~]# touch dir01/list.txt [root@node1 ~]# getfacl dir01/list.txt # file: dir01/list.txt # owner: root # group: root user::rw- group::r-- other::r--4.sticky高級權限
1.用在目錄上,當一個目錄有stciky的權限時,那么其他用戶只能刪除擁有人是自己的文件。 chmod o+t directory六、默認權限與反掩碼
1.root用戶文件的默認權限
默認權限 umask 022 root 文件 644 目錄 7552.普通用戶文件的默認權限
普通用戶 002 文件 664 目錄 7753.umask配置文件
[root@node1 ~]# cat /etc/bashrc |grep umask# By default, we want umask to get set. This sets it for non-login shell.umask 002umask 022 [root@node1 ~]#4.修改umask
# .bashrc# User specific aliases and functionsalias rm='rm -i' alias cp='cp -i' alias mv='mv -i'# Source global definitions if [ -f /etc/bashrc ]; then. /etc/bashrc fi ~ # .bashrc# User specific aliases and functionsalias rm='rm -i' alias cp='cp -i' alias mv='mv -i'# Source global definitions if [ -f /etc/bashrc ]; then. /etc/bashrc fi ~5.umask和mask的權限計算
[root@node1 ~]# mkdir dir02/ [root@node1 ~]# ls -ld dir02/ drwxr-xr-x 2 root root 6 Sep 18 12:30 dir02/ [root@node1 ~]# touch file02 [root@node1 ~]# ll file02 -rw-r--r-- 1 root root 0 Sep 18 12:30 file02 [root@node1 ~]#總結
以上是生活随笔為你收集整理的Linux系统之高级用户组和权限管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统之时间管理
- 下一篇: Linux系统配置交换分区