Linux中的權限

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的密碼

應該使用下面的方式

 

文件特殊權限

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章