ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 06

06

原创 Linux操作系统 作者:database_hu 时间:2010-11-14 15:21:35 0 删除 编辑
bash配置文件
 ~/.bash_profile  设定和导出个人的环境变量  
 ~/.bashrc    定义个人的命令别名或者个人一些特殊代码和设定
 /etc/bashrc
 /etc/profile
 /etc/profile.d
 ~/.bash_logout
 ~/.bash_history

    user ---> login ----> /bin/bash ---> 读取 ~/.bash_profile ----> ~/.bashrc
    ----> /etc/bashrc ---> /etc/profile --->/etc/profile.d/*.sh

    user ----> logout ---> 曾经输入过的命令会记录到~/.bash_history ---> ~/.bash_logout


su - nokia  完整切换到nokia 身份
su nokia
exit

命令别名
# alias upl='echo "wel to uplooking"'
# unalias upl


练习:
    1、修改~/.bash*文件,登录系统,看一下他们的作用
    清空历史命令文件
    定义别名
    改变PATH环境变量 ( PATH=$PATH:$HOME/bin:/sbin)
    完整切换 / 部分切换


    要求:其中一个用户退出登录之后会在 /tmp/logout.txt 记录一条信息
    I logout
    要求定一个命令别名,baidu ,能够在终端输出 I am baidu
    
命令
    useradd , adduser
    usermod
    userdel
    passwd
    groupadd
    groupdel
    gpasswd
   
    finger
    chfn
    id
    whoami
    su
    newgrp
   
passwd
    # echo "123" | passwd --stdin root &> /dev/null

userdel
    -r 

# usermod -G upl nokia  <--把nokia加入到upl

# gpasswd  -a mary upl
正在将用户“mary”加入到“upl”组中

# gpasswd upl
正在修改 upl 组的密码

# gpasswd -A tom upl  让tom成为upl组管理员,管理员可以把别的帐号加入到该组

[tom@dns ~]$ gpasswd  -a bean upl
正在将用户“bean”加入到“upl”组中

组密码的作用
[bean@dns ~]$ id
uid=503(bean) gid=504(bean) groups=504(bean)
[bean@dns ~]$ newgrp  upl
密码:
[bean@dns ~]$ id
uid=503(bean) gid=503(upl) groups=503(upl),504(bean)

==========================================================

-rw-r--r-- 1 root root 1870 11-02 11:55 /etc/passwd

    rw-    r--    r--
    拥有者u    拥有组g    其他人o
   
    目录也是文件,只不过特殊一点。这个特殊文件的内容就是目录里文件列表
读  r
    文件: 可以查看文件内容       
    目录: 可以查看目录里列表   
写  w
    文件: 可以修改文件的内容
    目录: 可以在目录里创建文件,删除文件,修改文件名字等
   
    总结:判断一个文件是否能够被删除,根据的是用户对这个文件所在的目录的权限

执行 e
    文件: 一般这些文件都是可执行文件(二进制的程序,脚本等),代表可以运行这些文件
    目录:可以进入到该目录


chmod    只能是root或者文件拥有者才能修改
    chmod u+w shadow
    chmod o-r shadow
    chmod u=rwx,g=rx,o+r shadow
    -R
   
chown    只能是root
    chown nokia:upl passwd
    chown nokia.upl passwd
    -R
chgrp   该文件拥有组
    chgrp  tom shadow
    -R


练习:
    创建/tmp/common目录,这个目录可以让任何人有所有权限
    拷贝 /etc/shadow文件到该目录
    修改文件的权限,让tom可以读取该文件的内容
    把这个文件拥有组改成nokia, mary属于nokia分组的。需要让mary可以读写该文件。然后验证效果。
    再把该文件的拥有者改成mary,并且让文件拥有者仅仅具有读的权限。

    思考: 作为文件拥有者,mary具有读的权限,但作为文件的拥有组却具有读写的权限,那么,最终到底是什么权限?




权限的数值表示方法:

二进制    十进制
0    0   ##
1    1   ##
10    2
11    3
100    4   ##
101    5   ##
110    6   ##
111    7   ##

    rwx,r-x,r-- 
    111,101,100  ==> 754
    rwx,r-x,r-x
    111,101,101  ==> 755  ##
    rw-,r--,r--
    110,100,100  ==> 644  ##

    rw-,rw-,r--  ==> 664  ##
    rwx,rwx,r-x  ==> 775  ##

   
UMASK

root
    目录7,7,7-0,2,2=7,5,5
    文件6,6,6-0,2,2=6,4,4

普通帐号
    777-002=775
    666-002=664

思考:能否让一个文件建立之后就具有执行权限?
    肯定不能。

umask  永久修改,针对个人,就修改~/bash_profile


==================================================================

特权位
    chmod u+s command
    chmod g+s  command/directory

总结:
    默认情况,命令运行的时候必须有一个身份,身份就是运行者(组)的身份。
    当对命令设定了特权位后,命令运行的时候,就使用命令拥有者(组)的身份。

修改之前:
    root:root  0755 /bin/touch
    tom ---> 运行touch指令,运行时使用tom身份

设定特权位后
    root:root  4755(u+s) /bin/touch
    tom ---> 运行touch指令,运行时使用root身份

修改命令的拥有者并且设定特权位后
    nokia:root 4755(u+s) /bin/touch
    tom ---> 运行touch指令,运行时使用nokia身份

chmod g+s directory ,作用: 对目录设定之后,该目录下新建目录或者文件的拥有组都会自动继承了该目录的拥有组的身份


粘贴位 stick bit

    chmod o+t  目录

    作用: 在该目录里所有文件只有文件拥有者可以删除,或者该目录的拥有者(组)可以删除(看具体权限),其他人绝对不能删除。root可以删除

   
一般用在文件共享服务。

u    g    o
1    0    0   <--- u+s  4
0    1    0   <--- g+s  2
0    0    1   <--- o+t  1
   
    rwx,r-x,r-x <--- 0755
    rws,r-x,r-x <--- 4755
    rwx,r-x,r-t <--- 1755




作业:

1、创建用户组admin,创建用户user1,附加组属于admin组;创建user2,附加组为admin;创建user3,不属于admin组,没有交互的shell
    groupadd admin
    useradd -G admin user1
    useradd -G admin user2
    useradd -s /sbin/nologin user3
 
 
2、在/common目录下创建adm目录,所有者为root,所属组为admin组
 
3、任何人在adm目录下创建文件都属于admin组
    chmod g+s /common/adm
4、把/etc/fstab文件复制到/var/tmp/目录下,user1对该文件具有读写执行权限,user2组对该用户具有读权限,其他人一点权限都没
    chown user1:admin /var/tmp/fstab
    chmod 750 /var/tmp/fstab
 
 
5、要求在adm目录下创建文件,文件只能是拥有者可以删除,或者adm目录的拥有者和拥有组可以删除。
    chmod o+t /common/adm
 
6、有什么办法可以让普通账号不能修改自己的密码。
    chmod u-s /usr/bin/passwd
或者
    chmod o-x /usr/bin/passwd
   
 
7、有什么办法可以让所有人都不能修改密码,包括管理员。
    chattr +i /etc/shadow
 
8、让user1创建的文件的权限自动为644,目录的权限自动为755
    umask 0022
 
9、让user2成为admin组的管理员,并给admin组设定密码为123
 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24920726/viewspace-678060/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: YUM配置
下一篇: 07
请登录后发表评论 登录
全部评论

注册时间:2010-11-14

  • 博文量
    10
  • 访问量
    10463