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

应该使用下面的方式

 

文件特殊权限

 

 

 

 

 

 

 

 

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