用户、组、权限 等相关命令

用户、组、文件权限属性

1、用户和组的配置文件

在Linux中用户和组的配置文件主要为:
/etc/passwd  :存放用户及其属性的信息(名称、GID、UID)
/etc/group   :存放组及其属性信息
/etc/shadow  :存放用户密码及其相关属性
/etc/gshadow :存放组密码及其相关属性

(1)、/etc/passwd的格式

root:x:0:0:root:/root:/bin/bash 
分别表示为:用户名 :密码 : UID : GID : 描述信息 : 家目录 : shell类型

(2)、/etc/shadow的格式

root::17361:0:99999:7:::
分别表示为:用户名 : 密码 : 距1970年天数 : 密码最短有效期 : 最长有效期 : 提前通知天数 : 过期天数 : 账户有效期
其中密码部分为:
$6$1C6dXZDTp.Kccbji$8K.gFoDfNtFONEoWV5I9s87Fun6kw2NSlQqIEsrNblzrfSydSXQ9We3MW/6Ow1KPuI4xtZjPDffOY1j3Ccg9x.
"6":表示其算法为sha512
"1C6dXZDTp.Kccbji"表示系统随机生成的随机数用于密码中增加密码的安全性
最后一部分为:加密生成的最终的密码     

在密码最前面如有"!"则代表账户被锁定,不能登录
eg:tcpdump:!!:17361::::::

(3)、/etc/groupd的格式

root:x:0:分别表示为:用户名 : 组密码(X表示) : GID : 附加组

2、用户和组的相关命令

(1)useradd 添加用户

useradd  [options]  username
     -u UID :指定用户的UID
     -g GID :指定用户的GID
     -o     :检查ID的唯一性
     -c     :用户的注释信息
     -s     :shell类型
     -G group:为用户添加附加组(组需事先存在)
     -r     :添加系统组
                        CentOS 6  系统ID:0-499 ,其他用户ID:500-60000
                        CentOS 7  系统ID:0-999 ,其他用户ID:1000-60000
创建用户时的默认设置文件:/etc/default/useradd    
当用户被创建时用户的家目录会自动生成与/etc/skel目录下相同的文件
/etc/login.defs目录下为用户登录时的属性默认设置,可通过更改文件设定来改变包括用户有效期、UID、GID以及加密算法等在内的配置信息

(2)usermod 用户属性修改

usermod [options] username 
     -u UID :修改新的UID
     -g group :新的基本组
     -aG group :增加新的附加组至用户
     -md home :创建新的家目录,并移动原家目录数据至新家目录
     -s shell :更改shell
     -c "comment" :修改注释信息
     -l login_name:更改登录名称
     -L username :锁定指定用户,在/etc/shadow 密码列增加"!"
     -U username :解锁指定用户
     -e YY-MM-DD :指定用户账户过期时间

(3)userdel 删除指定用户

userdel [options] username
     -r :将指定用户信息全部删除
     -f :强制删除

批量创建用户及更改口令

1、批量创建用户
     需要事先创建和/etc/passwd格式一样的文件,如user.txt
     命令newusers  user.txt 可以批量创建user.txt内的用户,但创建后用户家目录下会缺少一些文件,可以
     去/etc/skel目录下复制过来使用。
2、批量更改口令
     先创建文本passwd.txt内容格式如:username:passwd 
     执行命令cat passwd | chpasswd 将文本中的用户与密码设定成功

(4)groupadd、groupmod、groupdel 创建组、修改组、删除组

group [options] groupname
     -g GID :设定组ID
     -r     :创建系统组
                       CentOS 6  系统ID:0-499 ,其他用户ID:500-60000
                       CentOS 7  系统ID:0-999 ,其他用户ID:1000-60000
groupmod [options] group 
     -n groupname :更改新的组名
     -g GID       :新的GID
groupdel :删除组,若删除的组为其他组的主组则不能删除。

(5)passwd 修改指定用户的密码

passwd [options] username 
     -l :锁定指定用户
     -u :解锁指定用户
     -e :用户下次登录强制修改密码
     --stdin :接受标准输入

(6)gpasswd 更改组密码

gpasswd [options] group 
     -a username:将用户添加到指定的组
     -d username:从指定的组中将用户删除
     -A username:设置有管理权限的列表

(7)groupmems

groupmems [options] 
     -g group :指定要操作的组
     -a username :指定用户加入组
     -d username :从组中删除用户
     -p :清空所有成员
     -l :显示组列表

3、文件权限属性

再打开文件和目录时显示其详细信息如下:

(1)文件属性信息

-rw-r--r--. 1 root mage 1738 Jul 19 19:18 /etc/passwd
其中:
第一位是文件的类型:
                     - :普通文件
                     -d:目录
                     -c:字符设备
                     -b:块设备
                     -l:连接文件
                     -s:套接字
                     -p:管道文件
rw-r--r--为文件的权限:r(读)、w(写)、x(执行)、-(无)
                     前三位:为文件所属主的权限        
                     中三位:为文件所属组的权限
                     后三位:为文件其他人的权限
 1 root mage         
                     1:为其链接数
                     root:为其属主
                     mage:为其属组
1738 Jul 19 19:18    
                     1738:为其文件的大小,单位默认为K
                     Jul 19 19:18 :为其访问时间
/etc/passwd          :为其文件路径

(2)属性更改

chown 设置文件的属主、属组
     chown [OPTION]... [OWNER][:[GROUP]] FILE...
     chown user1:group1 file  更改文件file的属主以及属组
     chown user1:       file  只更改文件file的属主
     chown      :group1 file  只更改文件的属组
     chown -R                 递归更改
chmod 设置文件的权限属性
     chmod [WHO] [OPTION]... MODE[,MODE]... FILE...
     [who]   : user、group、other
     [option]: + 增加 
               - 去除
               = 赋值为
               a 所有(all)
     [mode]  : r、w、x、X(作用在目录上,配合-R使用会将目录下的除文件以
                          外的目录加上x执行权限)
eg : chmod u+rw  file 将file文件加上rw权限
*注意:Linux系统对于目录中的文件来说,文件能否被用户删除与文件本身的权限无
       关,而与文件的父目录有关,当用户访问父目录具有w(写)权限时才能够将
       文件删除

(3)特殊权限 suid、sgid、sticky

suid (作用在可执行的二进制文件上): 访问者会继承文件所有者的权限
     (用s表示)
sgid (作用在可执行的二进制文件上): 访问者会继承文件所属组的权限
     (用s表示)
     (作用在目录上)              : 目录下新建的文件的所属组会继承目录的
                                   所属组(同属一个组的成员可以新建、
                                   互相更改及删除文件) 
sticky (作用在目录上)            : 在一个公共的目录上每个人都可以创建、
       (用t表示)                   删除自己文件,但不能删除别人的文
                                   件,只有所有者能够删除

eg : 
[root@Centos6 /app]#chmod u+s passwd
-rwSr-xr-x. 1 root root  1664 Jul 19 02:57 passwd  为passwd文件加上suid权限  这里说明:若文件权限最初无x(执行权限)则为S,反之为s
[root@Centos6 /app]#chmod g+s passwd
-rw-r-sr-x. 1 root root  1664 Jul 19 02:57 passwd  为passwd文件加上sgid权限
[root@Centos6 /app]#chmod o+t passwd
-rw-r-xr-t. 1 root root  1664 Jul 19 02:57 passwd  为passwd文件加上sticky权限

(4)访问控制列表(ACL)

在现实的生产中我们通过更改权限的命令只能设定群体的用户,但是我们却想要特定的文件只能某个用户访问或者拒绝其访问这时就需要ACL来实现除了所有者、所属组和其他人,可以对更多的特定用户设置权限了

setfacl (set file acl) 设定文件ACL权限
     -m 设定权限
     -x 取消权限
     -R 递归操作
     -k 清空默认acl
     -b 彻底删除acl权限,包括mask
eg: 
     setfacl -m u:user:r  file  设定文件file对user只有r(读)权限
     setfacl -m u:user:rx dir   设定目录对于user来说,在目录下新建文
                                件时默认具有rx权限
     setfacl -m g:group:w dir   设定目录dir对group有写权限     
[root@Centos6 /app]#setfacl -m u:ymd:rx passwd
-rw-r-xr-x+ 1 root root  1664 Jul 19 02:57 passwd  设定文件ACL权限后有"+" 为ymd用户对passwd文件设定rx权限
[root@Centos6 /app]#getfacl passwd      getfacl 查看设定的权限
# file: passwd
# owner: root
# group: root
user::rw-        所属主
user:ymd:r-x     自定义用户
group::r-x       所属、其表现出来的权限实际为mask的权限
mask::r-x        限制最高权限
other::r-x       其他人

备份与恢复ACL
getfacl -R /file > backup.txt  将文件file备份到backup.txt
setfacl --restore backup.txt   通过backup.txt恢复acl

原创文章,作者:M25_ymd,如若转载,请注明出处:http://www.178linux.com/83133

(0)
M25_ymdM25_ymd
上一篇 2017-07-29
下一篇 2017-07-29

相关推荐

  • 从Linux小白到大牛——与狼共舞的日子6

    马哥教育网络班21期+第6周课程练习 请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit …

    Linux干货 2016-10-31
  • Linux中用户管理基本命令和用法

    Linux操作系统用户管理: 特点:多任务,多用户操作系统(Multi-tasks,Multi-Users) Linux中用户: 用户组成: 用户ID:每个用户都有一个唯一识别码称为用户ID。        密码:认证手段 用户分类:管理用户 管理员的用户ID为0       普通用户 U…

    Linux干货 2016-08-05
  • 管道、重定向和用户管理练习

    前面一章学习了硬链接和软链接,回顾上一章节内容:    硬链接:在inode表中记录一个条目,所有的元数据和原始文件元数据相同。        ·相当于两个名字。        ·删除原始文件,另一个条目也能够…

    Linux干货 2016-08-04
  • MAN手册使用指南及快捷键键位整理

      MAN手册使用指南及快捷键键位整理 Man mnual 手册说明          基本使用:man 命令 Man一共可分为八个章节: man1,man2,man3,man4……man8 1:用户命令 2:系统调用 3:C库调用 4:设备文件及特殊文件 5:文件格式…

    Linux干货 2016-10-18
  • lvm逻辑卷管理

    #LVM 逻辑卷管理 一、创建pv        创建pv可以在物理硬盘(裸盘上创建),MBR类型的分区(要更改分区类型为linux lvm: 8e )。GPT分区也要更改分区类型为8e00 Linux LVM 。    还可以在RAID上创建。注意要在没有数据的分区上…

    Linux干货 2016-09-02
  • 系统管理之程序包管理(一) rpm详解

    系统管理之程序包管理(1):     程序包管理是运维人员的基本工作素质之一。在操作系统上,不断的安装,卸载,配置应用程序包,让不同程序包运行提供不同的服务;利用某种工具完成某些操作的过程。这就要求运维工作人员熟悉安装,管理应用程序包。 在linux上,程序包主要有两种:tar,rpm包。 一、程序包概述: 系统接口   &nb…

    Linux干货 2016-08-21