标签:权限管理
一.用户管理
1.userdel [option]...login
-r:删除用户家目录
实例:
删除gentoo账户,并删除家目录
[root@localhost home]# ls gentoo wangcai zhang zhang1 zhang2 [root@localhost home]# userdel -r gentoo [root@localhost home]# ls wangcai zhang zhang1 zhang2
2.id[option]...[user]
-u:UID
-g:GID
-G:GROUPS
-n:NAME
实例:
(1)显示zhang2的附加组
[root@localhost testdir]# id -Gn zhang3 -n显示名字 zhang3 zhang2
3.su
su username:非登陆式切换,不会读取目标用户的配置文件,不改变当前的工作目录
su - username:登陆式切换,会读取目标用户的配置文件,切换至家目录,完全切换
换身份执行命令:
su [-] username -c ‘COMMAND‘
选项:
-| --login
su -| username 相当于su -username
4.chage:用于密码实效管理,该是用来修改帐号和密码的有效期限
chage [option]...login
选项;
-d:指定密码的最后修改日期
-E:密码到期日期,过了这天,次账户将不可用
-I:密码过期后,锁定账号的天数
-l:列出用户以及密码的有效期
-M:密码保持 的最大天数
-W:密码过期前,提前收到的警告信息的天数
实例:
(1)下一次登陆强制重设密码
chage -d 0 tom
5. groupadd 创建一个新的工作组
groupadd [option]...group_name
-g:指定组id号
-r:创建系统组.centos<500
centos<1000
6.groupmod 组属性的修改
groupmod[option]...group
选项:
-n:新名字
-g:新的GID
实例:
(1)修改zhang3的组名和GID
[root@localhost testdir]# groupmod -n tom zhang3 -g 666
7.groupdel 组删除
groupdel group
8.gpasswd
gpasswd [optiom]group
选项:
-a user:将user添加到指定组
-d user:从指定组中移除用户user
-A user1,user2...:设置有管理权限的用户列表
实例:
(1)把user1设为sales组管理员
[root@localhost ~]# gpasswd -A user1 sales
(2)把user2从sales组里删除
[root@localhost ~]# gpasswd -d user1 sales Removing user user1 from group sales
9.groupmems更改和修改组成员
group [options][action]
选项:
-g:更改为指定组(root)
action:
-a:指定用户加入组
-d:从组中删除用户
-p: 从组中清除所有成员
-l :显示组成员列表
实例:
(1)把zhang3用户加到zhang4组里
[root@localhost testdir]# usermod -aG zhang4 zhang3
或[root@localhost testdir]# groupmems -g zhang4 -a zhang3 (zhang3用户是G或g选项后面跟的zhang4组的成员)
或[root@localhost testdir]#gpasswd -a zhang3 zhang4
用groupmems -lg zhang4 查看组成员
(2)查看zhang4组的成员
[root@localhost testdir]# groupmems -l -g zhang4 zhang3
二.文件权限
1.chown 修改文件的属主和属组
chown[OPTION]... [OWNER][:[GROUP]] FILE...
用法:
chown[-R][用户名][文件或目录]
chown[-R][用户名:组名][文件或目录]
chown[-R][:组名][文件或目录]
chown[-R][用户名:][文件或目录]
chown [options]--refrence=refile file... file的权限和refile一样
2.chgrp 更改属组
chgrp[option]...group file
chgrp[option]... refrence=refile file...
选项:
-R:递归
实例:
(1)将bb文件的属主和属组改为user1和sales
[root@localhost testdir]# ll bb -rw-r--r--. 1 root root 0 Aug 3 10:31 bb [root@localhost testdir]# chown user1:sales bb [root@localhost testdir]# ll bb -rw-r--r--. 1 user1 sales 0 Aug 3 10:31 bb
(2)将bb的属组改为user1
[root@localhost testdir]# chgrp user1 bb [root@localhost testdir]# ll bb -rw-r--r--. 1 user1 user1 0 Aug 3 10:31 bb
3.chmod 修改文件权限
chmod[option]...mode files
mode:
修改一类用户的所有权限:
u= g= 0= ug= a= u= g=
修改一类用户某位或某些权限
u+ u-g+ g-o+ o- a+ a- + -
chmod[OPTION]... --reference=RFILE FILE...参考RFILE文件的权限,将FILE的修改为同RFILE;
实例:
(1)给aa文件添加执行权限
[root@localhost testdir]# chmod u+x aa [root@localhost testdir]# ll aa -rwxr--r--. 1 user2 user2 0 Aug 3 10:31 aa
(2) 给aa的属主分配读、写、执行的权限,给aa的所在组分配读、执行的权限,给其他用户分配执行的权限
[root@localhost testdir]# chmod 751 aa [root@localhost testdir]# ll aa -rwxr-x--x. 1 user2 user2 0 Aug 3 10:31 aa 或 [root@localhost testdir]# chmod u=rwx,g=rx,o=x aa [root@localhost testdir]# ll aa -rwxr-x--x. 1 user2 user2 0 Aug 3 10:31 aa
4.umask
umask值 可以用来保留在创建文件权限
新建FILE权限: 666-umask
如果所得结果某位存在执行(奇数)权限,则将其权限+1
新建DIR权限: 777-umask
非特权用户umask是002
root的umask是022
umask: 查看
umask#: 设定
umask002
umask–S 模式方式显示
umask–p 输出可被调用
全局设置:/etc/bashrc用户设置:~/.bashrc
三.linux文件系统上的特殊权限
SUID, SGID, Sticky
1.suid
suid属性只能用在二进制可执行文件上,对目录无效
权限设定:
chmod u+s file..
chmod u-s file..
实例:
(1)在zhang用户上查看/etc/shadow
[root@centos7 testdir]# ll /bin/cat -rwxr-xr-x. 1 root root 54048 Nov 20 2015 /bin/cat [root@centos7 testdir]# su - zhang Last login: Wed Aug 3 19:28:16 CST 2016 on pts/0 [zhang@centos7 ~]$ cat /etc/shadow cat: /etc/shadow: Permission denied [zhang@centos7 ~]$ su Password: [root@centos7 zhang]# chmod u+s /bin/cat [root@centos7 zhang]# su - zhang Last login: Wed Aug 3 19:30:27 CST 2016 on pts/0 [zhang@centos7 ~]$ cat /etc/shadow root:$6$aHlQXG.A$G85xT17R4KPL.DiCTFaeE3j7Ua0eOoVZqSUM7exQBU/Q4QM04Vw7fsnnJBzrwTPnW90eLu3MXpHYMuiMkh4cK1:17008:0:99999:7::: bin:*:16659:0:99999:7::: daemon:*:16659:0:99999:7::: adm:*:16659:0:99999:7::: lp:*:16659:0:99999:7::: ......
2.sgid
chmod g+s file
chmod g-s file
sgid 应用在目录上时,该目录中所建立的文件或子目录的所属组都是该目录的所属组
sgid应用在可执行文件上时,其他用户在使用执行文件时就会拥有该执行文件的所属组.
3.Sticky
chmod o+s file
chmod o-s file
sticky只能应用在有w+x权限目录上,当用户拥有sticky属性,所有该目录的文件或子目录,无论什么权限只有文件的拥有者和root用户才能做删除动作.
实例:
禁止其他用户删除有写权限的目录下的文件
[zhang@localhost testdir]$ mkdir dir [zhang@localhost testdir]$ cd dir [zhang@localhost dir]$ touch aa bb [zhang@localhost dir]$ chmod o+t /testdir/dir [zhang@localhost dir]$ ll -d /testdir/dir drwxrwxr-t. 2 zhang zhang 4096 Aug 3 21:36 /testdir/dir [root@localhost dir]# su tom [tom@localhost dir]$ rm -f /testdir/dir/aa rm: cannot remove `/testdir/dir/aa‘: Permission denied
四.设置文件的特定属性(可以保护一些重要的文件,避免误操作)
chattr +i 不能删除,改名,更改
chattr+a 只能增加
lsattr 显示特定属性
五.ACL的使用
1.什么是AClL
它主要目的是提供owner,group,others的read,write,execute权限之外的权限设置
它主要针对以下几个项目:
用户,用户组,
默认属性(mask):在该目录下新建文件/目录时设置的默认权限
2.如何启动ACL
CentOS7.0默认创建的xfs和ext4文件系统有ACL功能。
CentOS7.X之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加.
(1)查看挂载参数的功能 mount
(2)手动添加ACL功能
tune2fs –o acl/dev/sdb1
或
mount –o acl/dev/sdb1 /mnt
3.ACL的使用
getfacl:取得某个文件/目录的ACL设置项目
setfacl:设置某个目录/文件的ACL规定
(1)setfacl用法
setfacl [-bkRd] [{-m|-x} acl参数] file
-m:设置acl权限
-x:删除acl权限,不可与m合用
-b:删除所有acl权限
-R:递归设置acl,包括子目录都会被设置起来
-d:设置默认acl参数,支队目录有效,在该目录新建的文件会继承目录的默认值
实例:
(1)针对特定用户zhang
[root@centos7 zhang]# cat /etc/issue > /testdir/f2 [root@centos7 zhang]# ll /testdir/f2 -rw-r--r--. 1 root root 44 Aug 4 21:11 /testdir/f2 [root@centos7 zhang]# setfacl -m u:zhang:- /testdir/f2 把zhang用户的读权限禁用掉 [root@centos7 zhang]# su - zhang Last login: Thu Aug 4 21:07:14 CST 2016 on pts/1 [zhang@centos7 ~]$ cat /testdir/f2 cat: /testdir/f2: Permission denied 权限不够
(2)清除设置在zhang用户的acl 权限
[root@centos7 zhang]# setfacl -b /testdir/f2 [root@centos7 zhang]# ll /testdir/f2 -rw-r--r--. 1 root root 44 Aug 4 21:11 /testdir/f2
(3)setfacl -M file.acl file|directory
(4)setfacl -m d:u:wang:rx directory
4.getfacl 查看acl 权限l列表
getfacl file
实例:
[root@centos7 zhang]# getfacl /testdir/f2
getfacl: Removing leading ‘/‘ from absolute path names
# file: testdir/f2
# owner: root
# group: root
user::rw-
user:zhang:rw-
group::r--
mask::rw-
other::r--
5.mask
用户或组所设置的权限必须要存在于mask的权限设置范围内才会生效,此即有效权限
实例:
可以设置mask的权限来修改其他用户在文件上的权限
6.访问控制列表
ACL :灵活的实现 权限控制
常用用法
mount -o acl /directory
getfacl file |directory
setfacl -m u:wang:rwx file|directory
setfacl -Rm g:sales:rwX directory
setfacl -M file.acl file|directory
setfacl -m g:salesgroup:rw file| directory
setfacl -m d:u:wang:rx directory
setfacl -x u:wang file |directory
setfacl -X file.acl directory
本文出自 “zhang1003995416” 博客,转载请与作者联系!
标签:权限管理
原文地址:http://1003995416.blog.51cto.com/10482168/1834532