linux權限類型
普通權限 所屬用戶 用戶組 其他
創建用戶 和 密碼
[root@localhost user1]# adduser testuser
[root@localhost user1]# passwd testuser
更改用戶 testuser 的密碼 。
新的 密碼:
無效的密碼: 過於簡單化/系統化
無效的密碼: 過於簡單
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
[root@localhost user1]#
標準權限755
一般不會將其他用戶權限設置爲777因爲不安全,所有用戶都將可以刪除移動修改指定文件,比如我們明明只打算讓用戶1操作文件abc但是如果把權限設置爲777,那麼用戶2也可以對abc進行操作
我們如果確定要讓一個普通用戶可以操作指定文件我們可以將該用戶賦爲改文件的所有者
[root@localhost user1]# chown user1 123/abc
[root@localhost user1]# ll 123/
總用量 0
-rwxr-xr-x. 1 user1 root 0 2月 18 05:20 abc
[root@localhost user1]#
ACL權限
指定特定用戶特定權限,獨立於所有者 用戶組 其他用戶
1首先查看分區acl權限是否開啓
dumpe2fs -h /dev/sda5
#查看分區
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 13203792 2542852 9983564 21% /
tmpfs 502068 0 502068 0% /dev/shm
/dev/sda1 194241 33773 150228 19% /boot
/dev/sda2 4908544 10124 4642420 1% /home
#查看分區acl權限是否開啓
[root@localhost ~]# dumpe2fs -h /dev/sda5
已經開啓
2如果沒有開啓
臨時開啓分區acl權限
重新掛載根分區,並掛載加入acl權限
[root@localhost ~]# mount -o remount,acl /
永久開啓分區acl權限
[root@localhost ~]# vim /etc/fstab
在defaults後面加入逗號,acl 重啓系統既可以永久開啓acl權限
查看acl權限
設置用戶acl權限
[root@localhost home]# setfacl -m u:laowang:rx av/
[root@localhost home]# ll
總用量 48
drwxrwx---+ 2 tony stu 4096 2月 18 18:54 av
drwx------. 3 laowang laowang 4096 2月 18 18:59 laowang
drwx------. 2 root root 16384 7月 17 2018 lost+found
drwx------. 3 testuser testuser 4096 2月 18 05:38 testuser
drwx------. 3 tony tony 4096 2月 18 19:01 tony
drwxr-xr-x. 4 user1 user1 4096 2月 18 06:11 user1
drwx------. 3 user2 user2 4096 2月 18 06:14 user2
drwx------. 3 user3 user3 4096 2月 18 06:37 user3
[root@localhost home]# getfacl av/
# file: av/
# owner: tony
# group: stu
user::rwx
user:laowang:r-x
group::rwx
mask::rwx
other::---
給用戶組設置acl權限
最大有效權限
如果A有讀取權限B也有讀取權限 那麼用戶真正權限纔有讀取
刪除acl權限
遞歸設置acl權限
[root@localhost home]# setfacl -m u:laowang:rx -R av/
[root@localhost home]# getfacl av/
# file: av/
# owner: tony
# group: stu
user::rwx
user:laowang:r-x
group::rwx
mask::rwx
other::---
[root@localhost home]# getfacl av/abc/
# file: av/abc/
# owner: root
# group: root
user::rwx
user:laowang:r-x
group::r-x
mask::r-x
other::r-x
[root@localhost home]# getfacl av/abc/123/
# file: av/abc/123/
# owner: root
# group: root
user::rwx
user:laowang:r-x
group::r-x
mask::r-x
other::r-x
[root@localhost home]#
默認ACL權限
sudo權限
[root@localhost home]# whereis shutdown
shutdown: /sbin/shutdown /usr/share/man/man8/shutdown.8.gz /usr/share/man/man2/shutdown.2.gz /usr/share/man/man3p/shutdown.3p.gz
查詢要設置的命令在哪裏
切換成user1
sudo -l可以查詢user1可以在主機上運行的命令
[user1@localhost av]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for user1:
匹配此主機上 user1 的默認條目:
!visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY
HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1
PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT
LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER
LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS
_XKB_CHARSET XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
用戶 user1 可以在該主機上運行以下命令:
(ALL) /sbin/shutdown -r now
[user1@localhost av]$
但是不能直接這樣授權用戶設定密碼權限 因爲這樣用戶1也可以改變root的密碼
應該使用下面的方式
文件特殊權限