linux基础教程- 权限控制和ACL权限分配

widuu 2014-3-17 Linux 988 0 喜欢 (0)

权限都不用我说,相信大家就清楚了,linux如果权限分配不好,很容易获得了权限,如果获得了root权限,哎呦,你应该知道后果多严重,所以分配权限最好的方法就是了解权限,然后根据了解的权限来分配权限,当初widuu就赶上一次,我uptime的时候两个用户登录呢。当时我就傻了!不多说了,大家看下吧!

用户权限管理

  1. ls -l
  2. chmod a+x xxx.sh
  3. sudo /usr/sbin/useradd widuu

文件权限

文件权限三种 r-w-x 可读,可写,可执行 ,针对与文件和目录是不同的

文件的权限如下

rwx

上边我们切割一下

d --文件类型 目录

rwx|rwx|r-xm,每三个分成一组

  • 第一组 是文件所有者,这里是root有可读可写可执行(u)
  • 第二组 是root组的其它用户有可读可写可执行 (g)
  • 第三组 是other用户,就是既不属于文件所有者用户也不属于用户所有组,可读可执行 (o)

r w x --> 4 2 1 对应这4个值 ,你可以想成2的0次方,1次方,2次方

对于目录来说 x 可执行权限意思是可以切换进入到这个目录 也就是cd /filedir
对于目录来说 w 可写就是创建文件的权限或者创建文件夹的权限  mkdir test
对于目录来说 r 可读就是列出目录的权限 譬如 ls -l

对于文件来说 x 可执行,譬如.sh脚本有没有执行的权利
对于文件来说 w 可写,就是写入,譬如vi demo.txt必须有w权限
对于文件来说 r 可读权限,就是more cat less tail等能不能读取数据

chmod 给文件或者目录权限

>chmod 0777 test.txt              #test.txt的权限-rwxrwxrwx 
>chmod u+rwx,g+rwx,o+rwx test.txt #同上的权限 +给权限 -是删除权限
>chmod a+x                        #所有用户追加x权限
>chmod -R 777 dir                 #递归添加dir目录所有权限

chown 分配用户和组

>chown www:www /var/www/html     #给html目录 www用户和www用户组权限

id 查看用户信息

>id xiaowei 
uid=501(xiaowei) gid=501(xiaowei) groups=501(xiaowei)

>gpasswd -a xiaowei root #将xiaowei用户添加到root
>gpasswd -d xiaowei root #从root组中删除

>usermod -L xiaowei      #锁定xiaowei用户 
>usermod -U xiaowei      #解锁xiaowei用户

sudo 权限设置

>visudo 
>xiaowei localhost=/usr/sbin/useradd #添加到文件中,给xiaowei有useradd权限
>sudo useradd xiaowei1               #可以添加用户了

添加删除用户

>groupadd   xiaowei                 #添加用户组
>useradd -g xiaowei xiaowei         #添加用户并且添加到用户组
>userdel -r xiaowei                 #删除用户

ACL权限分配

一个公司里不可能让所有人都有root权限,所以在一些文件和文件夹处理,以及权限处理的时候就很棘手,这个时候我们就需要ACL给用户进行权限分配

1.加权限

>setfacl -m u:username:rwx filedir #设置ACL

2.查看权限

>getfacl filedir                   #获取ACL

# file: filedir
# owner: root
# group: root
user::rwx
user:username:rwx
group::r-x
mask::rwx
other::r-x

3.删除权限

>setfacl -b u:username filedir     #删除u这个用户的acl权限 
>setfacl -b filedir                #删除filedir的ACL所有权限

4.分配权限

nginx有时候就是因为权限的问题造成了nginx对cpu的负载过高,我们可以直接使用ACL对其分配权限

#nginx执行的用户是www,我们要www有nginx文件夹的所有权限
#nginx的安装目录是/usr/local/nginx
>setfacl -m u:www:rwx -R /usr/local/nginx #-R 文件递归

转载请注明来自微度网络,本文标题:《linux基础教程- 权限控制和ACL权限分配》

喜欢 0 发布评论
Top