Linux是一个多人多任务环境的操作系统,各个用户要想拥有保密的文件数据,文件的权限管理就变得非常重要,Linux将文件的权限分为三类,属主(Owner),属组(Group),其他(Others),且以上三种身份又各有读(Read),写(Write),执行(eXecute)等权限。
Linux文件属性
ls [list]显示文件或文件夹的名称和相关属性
-al 列出所有的文件详细的权限与属性(包含隐藏的文件)
[root@lotus ~]# ls -al
总用量 60
dr-xr-x---. 15 root root 4096 12月 6 22:18 .
dr-xr-xr-x. 17 root root 224 12月 5 23:40 ..
-rw-------. 1 root root 2060 12月 3 23:38 anaconda-ks.cfg
-rw-------. 1 root root 1619 12月 6 21:59 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
drwx------. 14 root root 4096 12月 3 23:42 .cache
drwxr-xr-x. 14 root root 261 12月 3 23:41 .config
-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc
drwx------. 3 root root 25 12月 3 23:39 .dbus
-rw-------. 1 root root 16 12月 3 23:40 .esd_auth
-rw-------. 1 root root 310 12月 3 23:40 .ICEauthority
-rw-r--r--. 1 root root 2091 12月 3 23:40 initial-setup-ks.cfg
[1] [2] [3] [4] [5] [ 6 ] [7]
[1]权限
[2]链接数
[3]属主
[4]属组
[5]文件大小
[6]修改时间
[7]文件名称
- 第1栏代表文件的类型和权限(permission)----Page154
【(-)(rw-)(r–)(r–)】一共有十个字符,第1个字符代表文件的类型,后9个字符代表文件的权限
第1个字符表示的文件类型有目录(d)、文件(-)、链接(l)、块文件(b)、字符文件©等
剩余的9个字符三个分为一组:
- 第1组:属主可具备的权限
- 第2组:属组可具备的权限
- 第3组:其他人所具有的权限(非本人,非本组的其他用户的权限)
- 第2栏:表示有多少文件链接到此节点(inode)
- 第3栏:属主(文件的拥有者账号)
- 第4栏:属组(文件所属的用户组)
- 第5栏:文件的容量大小,默认为Bytes
- 第6栏:文件的创建日期或是最近修改日期
- 第7栏:文件名称(注:如果文件名前多一个【.】表示这个文件为隐藏文件),例如上表中的【.config】文件,这个时候可以使用ls -a查看所有文件来查看
创建用户(useradd)
useradd的默认配置参数在/etc/default/useradd文件中
[root@localhost ~]# vim /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
-g 添加用户并指定组ID(gid),如果没有指定这项,将会根据/etc/login.defs文件中的USERGROUPS_ENAB变量,如果这个变量设置为yes或者通过-U/–user-group 指定,将根据用户的登录名称来创建组,如果USERGROUPS_ENAB设置为no 或者 -N/–no-user-group在命令行设置,useradd将设置一个主要组根据/etc/default/useradd配置文件中的GROUP变量进行设定
[root@lotus ~]# useradd test1 -g 100
-b 添加用户时指定用户家目录的目录位置,创建用户后会在指定的目录下创建一个用户名称的文件夹
[root@lotus ~]# useradd -b /etc abc
[root@lotus ~]# ll -d /etc/abc
drwx------. 3 abc abc 78 12月 11 22:17 /etc/abc
-c 给用户添加指定注释
[root@lotus abc]# useradd -c 'this is a testuser' testuser
[root@lotus abc]# cat /etc/passwd | grep testuser
testuser:x:1005:1005:this is a testuser:/home/testuser:/bin/bash
-e 设置用户过期日期,如没有设置则根据/etc/default/useradd配置文件中的设置进行设定
[root@localhost ~]# useradd -e '2020-12-13' test1
在/etc/shadow文件中体现出来过期时间距1970-01-01的天数
test1:!!:18608:0:99999:7::***18609***:
-f # 设置账号过期后的宽限时间,如果不指定则根据/etc/default/useradd配置文件中的设置进行设定
[root@localhost ~]# useradd -f 10 test2
test2:!!:18608:0:99999:7:***10***::