命令名称 : chmod

使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以控制档案如何被他人所存取。

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],

其中u 表示该档案的拥有者,

g 表示与该档案的拥有者属于同一个群体(group)者,

o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本


范例 :将档案 file1.txt 设为所有人皆可读取 :

chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的
人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file

chmod 777 file
效果相同
chmod ug=rwx,o=x file

chmod 771 file
效果相同
若用chmod 4755 filename可使此程式具有root的权限


指令名称 : chown

使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥
有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以
改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才
有这样的权限。

user : 新的档案拥有者的使用者

IDgroup : 新的档案拥有者的使用者群体(group)

-c : 若该档案拥有者确实已经更改,才显示其更改动作

-f : 若该档案拥有者无法被更改也不要显示错误讯息

-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案

-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
chown -R lamport:users *
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
以下是对目录的两个普通设定:
drwx------ (700) - 只有属主可在目录中读、写。
drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容
suid的代表数字是4,比如4755的结果是-rwsr-xr-x
sgid的代表数字是2,比如6755的结果是-rwsr-sr-x
sticky位代表数字是1,比如7755的结果是-rwsr-sr-t
(当然7755这个chmod设置没多大意义,这里只是演示一下)


安全性
访问控制:此程序应该作为“可信计算基”中的正常用户程序安装。
退出状态
该命令返回以下出口值:
0
命令执行成功并已执行所有请求的更改。
>0
发生错误。
示例
  • 要更改文件 program.c 的所有者:
    chown jim program.c
    program.c的用户访问权限现在应用到 jim。作为所有者,jim 可以使用
    chmod
    命令允许或拒绝其他用户访问 program.c。
  • 要将目录 /tmp/src 中所有文件的所有者和组更改为用户 john 和组 build:
    chown -R john:build /tmp/src
    文件
    /usr/bin/chown
    chown命令
    /etc/group
    包含组标识的文件
    /etc/passwd
    包含用户标识的文件
chgrp命令

  功能:改变文件或目录所属的组。

  语法:chgrp [选项] group filename?

  该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

  该命令的各选项含义为:

  - R 递归式地改变指定目录及其下的所有子目录和文件的属组。

       -c, --changes
              like verbose but report only when a change is made

       --dereference
              affect the referent of each symbolic link (this is the default), rather than the sym-
              bolic link itself

       -h, --no-dereference
              affect each symbolic link instead of any referenced file (useful only on systems that
              can change the ownership of a symlink)

       --no-preserve-root
              do not treat `/' specially (the default)

       --preserve-root
              fail to operate recursively on `/'

       -f, --silent, --quiet
              suppress most error messages

       --reference=RFILE
              use RFILE's group rather than specifying a GROUP value

       -R, --recursive
              operate on files and directories recursively

       -v, --verbose
              output a diagnostic for every file processed

       The following options modify how a hierarchy is traversed when the -R option is also  speci-
       fied.  If more than one is specified, only the final one takes effect.

       -H     if a command line argument is a symbolic link to a directory, traverse it

       -L     traverse every symbolic link to a directory encountered

       -P     do not traverse any symbolic links (default)

       --help display this help and exit

       --version
              output version information and exit

EXAMPLES
       chgrp staff /u
              Change the group of /u to "staff".

       chgrp -hR staff /u
              Change the group of /u and subfiles to "staff".  

查看现在aa文件所属组为clip:
[root@clip clip]# ls -l aa
total 32040
-rwxrwxr-x  1 clip clip     1260 Apr 26 14:05 aa
想更改为delijia
[root@clip clip]#chgrp delijia aa
[root@clip clip]# ls -l aa
-rwxrwxr-x  1 clip delijia     1260 Apr 26 14:05 aa
现在已经更改成功了
ls 只列出文件名或目录名 就象windows里的  列表

ll -t 是降序,  ll -t | tac 是升序
ll不是命令,是ls -l的别名

ls 命令可以说是linux下最常用的命令之一。
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-C 按列输出,纵向排序。
-G 输出文件的组的信息。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。
--color=no 不显示彩色文件名
--help 在标准输出上显示帮助信息。
--version 在标准输出上输出版本信息并退出。
只列出子目录
1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solari

解释:

yee@Loong:~$ ls -al down.tar.gz
-rwxr-xr-x 1 yee yee 1179270691 08-06 13:20 down.tar.gz

                       1                          2                  3              4               5               6                  7

是否目录|属主|属组|other权限   连接数   档案属有者 所属群组  档案容量  最后修改时间   档名

         (档案属性

第一个属性代表这个档案是『目录、档案或连结文件等等』:

当为[ d ]则是目录;
当为[ - ]则是档案;
若是[ l ]则表示为连结档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备;
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。

下来,三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(excute)

r:4

w:2

x:1

第四栏表示拥有人的群组。
你还可以附属在一群组 ) 代号为 testgroup ,且这个群体里有三个人,其代号分别是 test1, test2, 与 test3,则这三个人为同一群组即 testgroup!那么如果以上图的的档案属性(-rwxrwx---) 来看,如果该档案属于 test1 所有,那么 test2, test3 亦有读、写、执行的权力,因为他们都属于同一个
group 呀!而如果您不是属于 test1, test2, test3 的任何一个人,也不属于 testgroup 这个群组时,那么您将不具备读、写、执行这个档案的权限了


posted on 2022-07-05 18:13  我在全球村  阅读(104)  评论(0编辑  收藏  举报