shell学习笔记1
时间:2007-03-23 来源:gny31306
shell学习笔记
----------------------shell学习基础篇:------------------
一。文件权限与安全: 1。ls 命令的用法:
# ls -l 的文件权限
# ls -lh 可以看出文件所占大小
2。chmod
# chmod [-R] 755 filename[*]
chmod ugoa+/-rwx file
chmod ugoa=rwx file
其中 还有一个t位
3.chown
# chowm [-R] user:group file可以进行三种形式的描述
4.chgrp
# chgrp group file
# id [user]
可以查看用户所属组
5.suid和sgid
#ls -l | grep '^...s'查找uid
ls -l | grep '^...s..s' 查找uid..gid
在查找设置了s u i d的文件时,没准会看到具有这样权限的文件:rwS r-x r- x,其中S为大写。
它表示相应的执行权限位并未被设置,这是一种没有什么用处的s u i d设置,可以忽略它的存在
6.umask
/etc/profile $HOME/bash_profile
$HOME/bashrc下设置相关权限 umask -S
7。chattr +i file 不可删除 # lsattr file 可以查看文件权限
8。ln
# ln 源文件 目标文件(可以是不存在的)-----为硬链接
# ln -s 源文件 目标文件 ----------软------也可以链接目录
源文件删除后。。硬链接内容还有
软链接就没有了
------------------------
-----------------------------------------------
--------------二。用户和组管理
1。useradd
# useradd -d /usr/sam -m sam
# useradd -s /bin/bash -g sam -G tech,root gem 2.userdel [-r]
3.usermod
#usermod -s /bin/ksh -d /home/z –g developer sam可以改变用户的相关信息 4。passwd: 用户的密码管理
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
同: 5。groupadd 选项 用户组
#groupadd group1
##groupadd -g 101 group2
6。groupdel 用户组
#groupdel group1
7。修改用户组的属性使用groupmod命令。其语法如下:
#groupmod 选项 用户组
# groupmod -g 102 group2
# groupmod –g 10000 -n group3 group2此命令将组group2的标识号改为10000,组名修改为group3
8。newgrp root将当前用户切换到root用户组 9.与密码文件相关的文件:
/etc/passwd
/etc/shadow
/etc/group
# /etc/passwd内容
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell 系统中有一类用户称为伪用户(psuedo users),这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。常见的伪用户如下所示。
bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
uucp UUCP使用
lp lp或lpd子系统使用
nobody NFS使用
# /etc/shadow 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志 10.批量添加用户:
1).先编辑一个文本用户文件:user.txt
user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
user003::602:100:user:/home/user003:/bin/bash
user004::603:100:user:/home/user004:/bin/bash
user005::604:100:user:/home/user005:/bin/bash
user006::605:100:user:/home/user006:/bin/bash
2)以root身份执行命令/usr/sbin/newusers
# newusers < user.txt
3).执行命令/usr/sbin/pwunconv,将/etc/shadow产生的shadow密码解码,然后回写到/etc/passwd中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消shadow password功能。
# pwunconv 4).编辑每个用户的密码对照文件,passwd.txt
user001:密码
user002:密码
user003:密码
user004:密码
user005:密码
user006:密码
5).以root身份执行命令/usr/sbin/chpasswd,创建用户密码,chpasswd会将经过/usr/bin/passwd命令编码过的密码写入/etc/passwd的密码栏。
# chpasswd < passwd.txt
6).确定密码经编码写入/etc/passwd的密码栏后,执行命令/usr/sbin/pwconv将密码编码为shadow password,并将结果写入/etc/shadow
# pwconv 11.赋予普通用户特殊权限:sudo工具
# /etc/sudoers
内容格式如下:liming ALL=(ALL) ALL
# sudo /usr/sbin/useradd sam 再以用户liming执行 管理员需要允许gem用户在主机sun上执行reboot和shutdown命令,在/etc/sudoers中加入:
gem sun=/usr/sbin/reboot,/usr/sbin/shutdown
在/etc/sudoers加入:
ADMINS ALL=(ALL) NOPASSWD: ALL
表示允许ADMINS不用口令执行一切操作,其中“NOPASSWD:”项定义了用户执行操作时不需要输入口令
#sodu -l
12。基于浏览器的Webmin用户管理功能
--------------------------------------------------------------------------------------------
-------------------------------------cron和crontab-------------- 1.c r o n是系统主要的调度进程,可以在无需人工干预的情况下运行作业。c r o n t a b命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个c r o n t a b文件来保存调度信息。可以使用它运行任意一个s h e l l脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。每一个用户都可以有自己的c r o n t a b文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过c r o n . d e n y和c r o n . a l l o w这两个文件来禁止或允许用户拥有自己的c r o n t a b文件。
crontab的域
为了能够在特定的时间运行作业,需要了解c r o n t a b文件每个条目中各个域的意义和格式。
第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令
下面是c r o n t a b的格式:分< >时< >日< >月< >星期< >要运行的命令
2.
一。文件权限与安全: 1。ls 命令的用法:
# ls -l 的文件权限
# ls -lh 可以看出文件所占大小
2。chmod
# chmod [-R] 755 filename[*]
chmod ugoa+/-rwx file
chmod ugoa=rwx file
其中 还有一个t位
3.chown
# chowm [-R] user:group file可以进行三种形式的描述
4.chgrp
# chgrp group file
# id [user]
可以查看用户所属组
5.suid和sgid
#ls -l | grep '^...s'查找uid
ls -l | grep '^...s..s' 查找uid..gid
在查找设置了s u i d的文件时,没准会看到具有这样权限的文件:rwS r-x r- x,其中S为大写。
它表示相应的执行权限位并未被设置,这是一种没有什么用处的s u i d设置,可以忽略它的存在
6.umask
/etc/profile $HOME/bash_profile
$HOME/bashrc下设置相关权限 umask -S
7。chattr +i file 不可删除 # lsattr file 可以查看文件权限
8。ln
# ln 源文件 目标文件(可以是不存在的)-----为硬链接
# ln -s 源文件 目标文件 ----------软------也可以链接目录
源文件删除后。。硬链接内容还有
软链接就没有了
------------------------
-----------------------------------------------
--------------二。用户和组管理
1。useradd
# useradd -d /usr/sam -m sam
# useradd -s /bin/bash -g sam -G tech,root gem 2.userdel [-r]
3.usermod
#usermod -s /bin/ksh -d /home/z –g developer sam可以改变用户的相关信息 4。passwd: 用户的密码管理
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
同: 5。groupadd 选项 用户组
#groupadd group1
##groupadd -g 101 group2
6。groupdel 用户组
#groupdel group1
7。修改用户组的属性使用groupmod命令。其语法如下:
#groupmod 选项 用户组
# groupmod -g 102 group2
# groupmod –g 10000 -n group3 group2此命令将组group2的标识号改为10000,组名修改为group3
8。newgrp root将当前用户切换到root用户组 9.与密码文件相关的文件:
/etc/passwd
/etc/shadow
/etc/group
# /etc/passwd内容
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell 系统中有一类用户称为伪用户(psuedo users),这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。常见的伪用户如下所示。
bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
uucp UUCP使用
lp lp或lpd子系统使用
nobody NFS使用
# /etc/shadow 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志 10.批量添加用户:
1).先编辑一个文本用户文件:user.txt
user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
user003::602:100:user:/home/user003:/bin/bash
user004::603:100:user:/home/user004:/bin/bash
user005::604:100:user:/home/user005:/bin/bash
user006::605:100:user:/home/user006:/bin/bash
2)以root身份执行命令/usr/sbin/newusers
# newusers < user.txt
3).执行命令/usr/sbin/pwunconv,将/etc/shadow产生的shadow密码解码,然后回写到/etc/passwd中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消shadow password功能。
# pwunconv 4).编辑每个用户的密码对照文件,passwd.txt
user001:密码
user002:密码
user003:密码
user004:密码
user005:密码
user006:密码
5).以root身份执行命令/usr/sbin/chpasswd,创建用户密码,chpasswd会将经过/usr/bin/passwd命令编码过的密码写入/etc/passwd的密码栏。
# chpasswd < passwd.txt
6).确定密码经编码写入/etc/passwd的密码栏后,执行命令/usr/sbin/pwconv将密码编码为shadow password,并将结果写入/etc/shadow
# pwconv 11.赋予普通用户特殊权限:sudo工具
# /etc/sudoers
内容格式如下:liming ALL=(ALL) ALL
# sudo /usr/sbin/useradd sam 再以用户liming执行 管理员需要允许gem用户在主机sun上执行reboot和shutdown命令,在/etc/sudoers中加入:
gem sun=/usr/sbin/reboot,/usr/sbin/shutdown
在/etc/sudoers加入:
ADMINS ALL=(ALL) NOPASSWD: ALL
表示允许ADMINS不用口令执行一切操作,其中“NOPASSWD:”项定义了用户执行操作时不需要输入口令
#sodu -l
12。基于浏览器的Webmin用户管理功能
--------------------------------------------------------------------------------------------
-------------------------------------cron和crontab-------------- 1.c r o n是系统主要的调度进程,可以在无需人工干预的情况下运行作业。c r o n t a b命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个c r o n t a b文件来保存调度信息。可以使用它运行任意一个s h e l l脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。每一个用户都可以有自己的c r o n t a b文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过c r o n . d e n y和c r o n . a l l o w这两个文件来禁止或允许用户拥有自己的c r o n t a b文件。
crontab的域
为了能够在特定的时间运行作业,需要了解c r o n t a b文件每个条目中各个域的意义和格式。
第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令
下面是c r o n t a b的格式:分< >时< >日< >月< >星期< >要运行的命令
2.
相关阅读 更多 +