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的密码
应该使用下面的方式
文件特殊权限