一、三类用户
1、u:属主,g:属组,o:其它用户;
2、chown:改变文件属主(只有管理员可以使用此命令);
a)命令格式:chown USERNAME file,...;
b)-R:修改目录及其内部文件的属主;
c)--reference=/path/to/somefile file,...如:参考文件/tmp/abc的属主属组权限配置/tmp/test,--reference=/tmp/abc /tmp/test;
d)修改用户属主和属组:chown USERNAME:GROUPNAME file,...;
chown USERNAME.GROUPNAME file,...;
chown :GROUPNAME file,...;
3、chgrp:改变文件属组(只有管理员可以使用此命令);
a)命令格式:chgrp GROUPNAME file,...;
b)-R:修改目录及其内部文件的属组;
c)--reference=/path/to/somefile file,...;
4、chmod:修改文件的权限:
a)修改三类用户的权限;
chmod MODE file,...
-R:修改目录及其内部文件的权限;
--reference=/path/to/somefile file,...;
如:chmod 750 /tmp/abc;
chmod --reference=/tmp/test /tmp/abc;
b)修改某类用户或某些类用户的权限,u、g、o、a;
如:chmod u=rwx /tmp/abc;
chmod g=rw /tmp/abc;
chmod o=rx /tmp/abc;
chmod go=rw /tmp/abc;
chmod g=r,o=w /tmp/abc;
c)修改某类用户的某位或某些位权限,u,g,o,a;
如:chmod 用户类别+|-MODE file,...
chmod u-x /tmp/abc;
chmod u+x,g-x /tmp/abc;
chmod -x /tmp/abc;
chmod +x /tmp/abc;
chmod u-wx /tmp/abc;
练习1:
1、新建一个没有家目录的用户openstack;
useradd -M openstack;
2、复制/etc/skel为/home/openstack;
cp -r /etc/skel /home/openstack;
3、改变/home/openstack及其内部文件的属主属组均为openstack;
chown -R /home/openstack;
4、/home/openstack及其内部的文件,属组和其它用户没有任何访问权限;
chmod -R go= /home/openstack;
练习2:
1、手动添加用户hive,基本组为hive(5000),附加组为mygroup;
nano /etc/group-->
编辑添加:hive:x:5000:mygroup:x:503:hive
nano /etc/passwd-->
编辑添加:hive:x:5000:5000:Hive:/home/hive:/bin/bash
nano /etc/shadow-->
编辑添加:hive:!!:15835:0:99999:7:::
cp -r /etc/skel /home/hive-->
chown-R hive.hive /home/hive-->
chmod -R go= /home/hive-->
生成hive用户密码:openssl passwd -1 -salt ‘12345678‘;(whatis passwd,man sslpasswd);-->
如:[root@localhost ~]# openssl passwd -1 -salt ‘12345678‘
Password:
$1$12345678$0ME5N6oDyoEAwUp7b5UDM/
[root@localhost ~]#
把生成的密码加入到nano /etc/shadow-->
编辑添加:hive:$1$12345678$0ME5N6oDyoEAwUp7b5UDM/:15835:0:99999:7:::
二、用户的默认文件权限和umask码
1、管理员和普通用户默认目录、文件权限:
a)管理员创建的文件和目录默认权限是:目录是755,文件是644;
[root@localhost tmp]# touch testfile
[root@localhost tmp]# mkdir testdir
[root@localhost tmp]# ls -l
drwxr-xr-x 2 root root 4096 May 10 20:13 testdir
-rw-r--r-- 1 root root 0 May 10 20:12 testfile
b)普通用户创建的文件和目录默认权限是:目录是775,文件是664;
[hive@localhost ~]$ touch testfile
[hive@localhost ~]$ mkdir testdir
[hive@localhost ~]$ ls -l
total 12
drwxrwxr-x 2 hive hive 4096 May 10 20:16 testdir
-rw-rw-r-- 1 hive hive 0 May 10 20:15 testfile
2、umask:遮罩码:
a)默认管理员:022,默认普通用户:002;
a)管理员:目录,777-umask=755;文件,666-umask=644;
b)普通用户:目录,777-umask=775;文件,666-umask=664;
c)umask 022:可更改普通用户的umsk为022或者其他;
b)普通用户,文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限自动加1;
三、用户shell和bash文件
1、站在用户的角度来说,shell的类型:
a)登录shell;
正常通过某终端登录;
su - USERNAME;
su -l USERNAME;
b)非登录shell;
su USERNAME(半登录,因为用户登录不加载用户配置文件);
图形终端下打开命令窗口;
自动执行的shell脚本;
2、bash的配置文件:
a)全局配置文件
/etc/profile,/etc/profile.d/*.sh,/etc/bashrc;
b)个人配置文件
~/.bash_profile,~/.bashrc;
c)profile类的文件
设定环境变量;
运行命令或脚本;
d)bashrc类的文件
设定本地变量;
定义命令别名;
3、登录式shell如何读取配置文件
/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->/etc/bashrc;
4、非登录式shell如何配置文件
~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh;
练习3:
1、对于普通用户hive定义命令别名cls=clear,并且用户每次登陆都生效;
nano ~/.bashrc;
编辑添加:alias cls=‘clear‘
2、对于普通用户hive定义登录欢迎,并且用户每次登陆都生效;
nano ~/.bash_profile
编辑添加:echo "Hello,hive.Welcom to our system.Now time is `date`."
3、定义普通用户umsk默认为027:
nano ~/.bash_profile
编辑添加:umask 027。
本文出自 “Nick Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1393399