Bài giảng Phát triển ứng dụng web - Chương 4: Tài khoản NSD và phân quyền truy cập tệp

Tóm tắt Bài giảng Phát triển ứng dụng web - Chương 4: Tài khoản NSD và phân quyền truy cập tệp: ...  những  người  sử  dụng  trong   cùng  một  nhóm.   –  Danh  sách  các  nhóm  được  lưu  trữ  trong  file:  /etc/group   –  root  có  khả  năng  tạo  ra  các  nhóm  bổ  xung,  ngoài  các  nhóm   mà  hệ  điều  hành  đã  ngầm...  •  users/groups   •  id   3/6/11 @ Ha Quoc Trung 2009 9 Các  quyền   •  Mỗi  file  luôn  thuộc  về  một  người  sử  dụng  và   một  nhóm  xác  định   – Người  tạo  ra  file  hoặc  thư  mục  sẽ  là  người  sở  hữu,   nhóm  chứa ...  vào  hệ  thống  file,  người  sử  dụng   có  thể  bỏ  quyền  thực  thi  (x)  đối  với  thư  mục  gốc  của  hệ  thống   file.   Một  số  quyền  đặc  biệt  đối  với  các  file  thực   thi   •  set-uid: -rws --- --- –  Chương ...

pdf27 trang | Chia sẻ: havih72 | Lượt xem: 294 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Phát triển ứng dụng web - Chương 4: Tài khoản NSD và phân quyền truy cập tệp, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tài	
  khoản	
  NSD	
  và	
  phân	
  quyền	
  
truy	
  cập	
  tệp	
  
Nội	
  dung	
  
•  Khái	
  niệm	
  NSD	
  và	
  nhóm	
  NSD	
  
•  Quản	
  lý	
  NSD	
  và	
  nhóm	
  NSD	
  
•  Khái	
  niệm	
  quyền	
  truy	
  cập	
  
•  Quyền	
  truy	
  cập	
  của	
  file	
  
•  Quyền	
  truy	
  cập	
  của	
  thư	
  mục	
  
•  Quản	
  lý	
  quyền	
  truy	
  cập	
  
Khái	
  niệm	
  người	
  sử	
  dụng	
  
•  NSD	
  thông	
  thường	
  
•  Quản	
  trị	
  
•  Nhóm	
  NSD	
  
•  Tạo	
  một	
  người	
  sử	
  dụng	
  
–  Tên,	
  Mật	
  khẩu,	
  home	
  của	
  người	
  sử	
  dụng	
  (/home/tên)	
  
–  Nhóm	
  (một	
  người	
  sử	
  dụng	
  có	
  thể	
  thuộc	
  một	
  hoặc	
  nhiều	
  
nhóm,	
  tuy	
  nhiên	
  cần	
  phải	
  xác	
  định	
  một	
  nhóm	
  chính)	
  
–  Tất	
  cả	
  các	
  thông	
  ]n	
  về	
  người	
  sử	
  dụng	
  được	
  lưu	
  trong	
  file:	
  /
etc/passwd	
  
/etc/passwd	
  
•  Username:password:UID:GID:Info:Home:Shell	
  
•  Username:	
  It	
  is	
  used	
  when	
  user	
  logs	
  in.	
  It	
  should	
  be	
  between	
  1	
  and	
  32	
  characters	
  in	
  length.	
  
•  Password:	
  An	
  x	
  character	
  indicates	
  that	
  encrypted	
  password	
  is	
  stored	
  in	
  /etc/shadow	
  file.	
  
•  User	
  ID	
  (UID):	
  Each	
  user	
  must	
  be	
  assigned	
  a	
  user	
  ID	
  (UID).	
  UID	
  0	
  (zero)	
  is	
  reserved	
  for	
  root	
  
and	
  UIDs	
  1-­‐99	
  are	
  reserved	
  for	
  other	
  predefined	
  accounts.	
  Further	
  UID	
  100-­‐999	
  are	
  reserved	
  
by	
  system	
  for	
  administra]ve	
  and	
  system	
  accounts/groups.	
  
•  Group	
  ID	
  (GID):	
  The	
  primary	
  group	
  ID	
  (stored	
  in	
  /etc/group	
  file)	
  
•  User	
  ID	
  Info:	
  The	
  comment	
  field.	
  It	
  allow	
  you	
  to	
  add	
  extra	
  informa]on	
  about	
  the	
  users	
  such	
  
as	
  user's	
  full	
  name,	
  phone	
  number	
  etc.	
  This	
  field	
  use	
  by	
  finger	
  command.	
  	
  
•  Home	
  directory:	
  The	
  absolute	
  path	
  to	
  the	
  directory	
  the	
  user	
  will	
  be	
  in	
  when	
  they	
  log	
  in.	
  If	
  
this	
  directory	
  does	
  not	
  exists	
  then	
  users	
  directory	
  becomes	
  /	
  
•  Command/shell:	
  The	
  absolute	
  path	
  of	
  a	
  command	
  or	
  shell	
  (/bin/bash).	
  Typically,	
  this	
  is	
  a	
  
shell.	
  Please	
  note	
  that	
  it	
  does	
  not	
  have	
  to	
  be	
  a	
  shell.	
  	
  
3/6/11 @ Ha Quoc Trung 2009 4 
/etc/shadow	
  
•  User:Pwd:Last	
  pwd	
  change	
  :Minimum:Maximum:Warn:InacEve	
  :Expire	
  	
  
•  User	
  name	
  :	
  It	
  is	
  your	
  login	
  name	
  
•  Password:	
  It	
  your	
  encrypted	
  password.	
  The	
  password	
  should	
  be	
  minimum	
  6-­‐8	
  characters	
  long	
  
including	
  special	
  characters/digits	
  
•  Last	
  password	
  change	
  (lastchanged):	
  Days	
  since	
  Jan	
  1,	
  1970	
  that	
  password	
  was	
  last	
  changed	
  
•  Minimum:	
  The	
  minimum	
  number	
  of	
  days	
  required	
  between	
  password	
  changes	
  i.e.	
  the	
  
number	
  of	
  days	
  lew	
  before	
  the	
  user	
  is	
  allowed	
  to	
  change	
  his/her	
  password	
  
•  Maximum:	
  The	
  maximum	
  number	
  of	
  days	
  the	
  password	
  is	
  valid	
  (awer	
  that	
  user	
  is	
  forced	
  to	
  
change	
  his/her	
  password)	
  
•  Warn	
  :	
  The	
  number	
  of	
  days	
  before	
  password	
  is	
  to	
  expire	
  that	
  user	
  is	
  warned	
  that	
  his/her	
  
password	
  must	
  be	
  changed	
  
•  Inac]ve	
  :	
  The	
  number	
  of	
  days	
  awer	
  password	
  expires	
  that	
  account	
  is	
  disabled	
  
•  Expire	
  :	
  days	
  since	
  Jan	
  1,	
  1970	
  that	
  account	
  is	
  disabled	
  i.e.	
  an	
  absolute	
  date	
  specifying	
  when	
  
the	
  login	
  may	
  no	
  longer	
  be	
  used	
  	
  
3/6/11 @ Ha Quoc Trung 2009 5 
Nhóm	
  người	
  sử	
  dụng	
  
•  Mỗi	
  người	
  sử	
  dụng	
  có	
  thể	
  thuộc	
  về	
  một	
  hoặc	
  nhiều	
  
nhóm	
  
–  Một	
  nhóm	
  =	
  tên	
  nhóm	
  +	
  danh	
  sách	
  các	
  thành	
  viên	
  
–  Khả	
  năng	
  chia	
  sẻ	
  các	
  file	
  giữa	
  những	
  người	
  sử	
  dụng	
  trong	
  
cùng	
  một	
  nhóm.	
  
–  Danh	
  sách	
  các	
  nhóm	
  được	
  lưu	
  trữ	
  trong	
  file:	
  /etc/group	
  
–  root	
  có	
  khả	
  năng	
  tạo	
  ra	
  các	
  nhóm	
  bổ	
  xung,	
  ngoài	
  các	
  nhóm	
  
mà	
  hệ	
  điều	
  hành	
  đã	
  ngầm	
  định	
  
/etc/group	
  
•  group_name:Password:Group	
  ID	
  (GID):	
  Group	
  List	
  
•  group_name:	
  It	
  is	
  the	
  name	
  of	
  group.	
  If	
  you	
  run	
  ls	
  -­‐l	
  
command,	
  you	
  will	
  see	
  this	
  name	
  printed	
  in	
  the	
  group	
  field.	
  	
  
•  Password:	
  Generally	
  password	
  is	
  not	
  used,	
  hence	
  it	
  is	
  
empty/blank.	
  It	
  can	
  store	
  encrypted	
  password.	
  This	
  is	
  
useful	
  to	
  implement	
  privileged	
  groups.	
  X	
  means	
  passwd	
  is	
  
stored	
  in	
  /etc/gshadow	
  
•  Group	
  ID	
  (GID):	
  Each	
  user	
  must	
  be	
  assigned	
  a	
  group	
  ID.	
  You	
  
can	
  see	
  this	
  number	
  in	
  your	
  /etc/passwd	
  file.	
  	
  
•  Group	
  List:	
  It	
  is	
  a	
  list	
  of	
  user	
  names	
  of	
  users	
  who	
  are	
  
members	
  of	
  the	
  group.	
  The	
  user	
  names,	
  must	
  be	
  separated	
  
by	
  commas.	
  
3/6/11 @ Ha Quoc Trung 2009 7 
/etc/gshadow	
  
•  Group	
  name	
  —	
  The	
  name	
  of	
  the	
  group.	
  Used	
  by	
  various	
  u]lity	
  programs	
  as	
  
a	
  human-­‐readable	
  iden]fier	
  for	
  the	
  group.	
  
•  Encrypted	
  password	
  —	
  The	
  encrypted	
  password	
  for	
  the	
  group.	
  If	
  set,	
  non-­‐
members	
  of	
  the	
  group	
  can	
  join	
  the	
  group	
  by	
  typing	
  the	
  password	
  for	
  that	
  
group	
  using	
  the	
  newgrp	
  command.	
  If	
  the	
  value	
  of	
  this	
  field	
  is	
  !,	
  then	
  no	
  
user	
  is	
  allowed	
  to	
  access	
  the	
  group	
  using	
  the	
  newgrp	
  command.	
  A	
  value	
  
of	
  !!	
  is	
  treated	
  the	
  same	
  as	
  a	
  value	
  of	
  !	
  —	
  however,	
  it	
  also	
  indicates	
  that	
  a	
  
password	
  has	
  never	
  been	
  set	
  before.	
  If	
  the	
  value	
  is	
  null,	
  only	
  group	
  
members	
  can	
  log	
  into	
  the	
  group.	
  
•  Group	
  administrators	
  —	
  Group	
  members	
  listed	
  here	
  (in	
  a	
  comma	
  
delimited	
  list)	
  can	
  add	
  or	
  remove	
  group	
  members	
  using	
  the	
  gpasswd	
  
command.	
  
•  Group	
  members	
  —	
  Group	
  members	
  listed	
  here	
  (in	
  a	
  comma	
  delimited	
  list)	
  
are	
  regular,	
  non-­‐administra]ve	
  members	
  of	
  the	
  group.	
  
3/6/11 @ Ha Quoc Trung 2009 8 
Công	
  cụ	
  
•  useradd/mod/del	
  
•  passwd	
  
•  groupadd/mod/del	
  
•  gpasswd	
  
•  sg/newgrp	
  
•  su	
  
•  users/groups	
  
•  id	
  
3/6/11 @ Ha Quoc Trung 2009 9 
Các	
  quyền	
  
•  Mỗi	
  file	
  luôn	
  thuộc	
  về	
  một	
  người	
  sử	
  dụng	
  và	
  
một	
  nhóm	
  xác	
  định	
  
– Người	
  tạo	
  ra	
  file	
  hoặc	
  thư	
  mục	
  sẽ	
  là	
  người	
  sở	
  hữu,	
  
nhóm	
  chứa	
  người	
  tạo	
  ra	
  file	
  hoặc	
  thư	
  mục	
  sẽ	
  là	
  
nhóm	
  sở	
  hữu	
  đối	
  với	
  file/thư	
  mục.	
  
•  Sự	
  phân	
  quyền	
  cho	
  phép	
  xác	
  định	
  rõ	
  các	
  
quyền	
  mà	
  người	
  sử	
  dụng	
  có	
  đối	
  với	
  một	
  file	
  
hoặc	
  một	
  thư	
  mục.	
  
Quyền	
  truy	
  cập	
  
•  r	
  :	
  đọc	
  
–  Cho	
  phép	
  hiển	
  thị	
  nội	
  dung	
  của	
  file	
  hoặc	
  thư	
  mục	
  
•  w	
  :	
  ghi	
  
–  Cho	
  phép	
  thay	
  đổi	
  nội	
  dung	
  của	
  file	
  
–  Cho	
  phép	
  thêm	
  hoặc	
  xóa	
  các	
  file	
  trong	
  một	
  thư	
  mục	
  
•  x	
  :	
  thực	
  thi	
  
–  Cho	
  phép	
  thực	
  thi	
  file	
  dưới	
  dạng	
  một	
  chương	
  trình	
  
–  Cho	
  phép	
  chuyển	
  đến	
  thư	
  mục	
  cần	
  truy	
  cập	
  
Các	
  nhóm	
  người	
  sử	
  dụng	
  
•  Có	
  3	
  nhóm	
  người	
  sử	
  dụng	
  đối	
  với	
  1	
  file/	
  thư	
  mục:	
  
–  u	
  (người	
  sở	
  hữu)	
  :	
  người	
  sở	
  hữu	
  duy	
  nhất	
  của	
  file	
  
–  g	
  (groupe)	
  :	
  những	
  người	
  sử	
  dụng	
  thuộc	
  nhóm	
  chứa	
  file	
  
–  o	
  (others)	
  :	
  những	
  người	
  sử	
  dụng	
  khác,	
  không	
  phải	
  là	
  
người	
  sở	
  hữu	
  file	
  cũng	
  như	
  không	
  thuộc	
  nhóm	
  chứa	
  file.	
  
•  Mỗi	
  nhóm	
  người	
  sử	
  dụng	
  sẽ	
  có	
  một	
  tập	
  các	
  quyền	
  (r,	
  
w,	
  x)	
  xác	
  định.	
  
Ví	
  dụ	
  
$ ls -l 
----rw-rw- 1 tuananh user1 16 Feb 10 19:12 test1.txt 
-rw-rw-rw- 1 tuananh user1 16 Feb 10 19:12 test2.txt 
drw-r--r-- 2 tuananh user1 512 Feb 10 19:14 vanban 
$ whoami 
tuananh 
$ cat test1.txt 
cat: test1.txt: Permission denied 
$ cat test2.txt 
Un fichier de test 
$ cp test2.txt vanban 
cp: vanban: Permission denied 
Các	
  lưu	
  ý	
  
•  Để	
  có	
  thể	
  thêm	
  các	
  file,	
  cần	
  phải	
  có	
  quyền	
  «	
  w	
  »	
  đối	
  với	
  thư	
  
mục	
  
•  Để	
  có	
  thể	
  xóa,	
  thay	
  đổi	
  nội	
  dung	
  hoặc	
  di	
  chuyển	
  1	
  file,	
  người	
  
sử	
  dụng	
  cũng	
  cần	
  phải	
  có	
  quyền	
  «	
  w	
  »	
  đối	
  với	
  thư	
  mục	
  
•  Việc	
  xóa	
  một	
  file	
  còn	
  phụ	
  thuộc	
  vào	
  quyền	
  đối	
  với	
  thư	
  mục	
  
chứa	
  file	
  đó	
  
•  Để	
  bảo	
  mật	
  các	
  dữ	
  liệu,	
  người	
  sở	
  hữu	
  file	
  thậm	
  chí	
  có	
  thể	
  bỏ	
  
cả	
  quyền	
  đọc	
  «	
  r	
  »	
  đối	
  với	
  tất	
  cả	
  mọi	
  người	
  sử	
  dụng	
  khác.	
  
•  Để	
  hạn	
  chế	
  quá	
  trình	
  truy	
  cập	
  vào	
  hệ	
  thống	
  file,	
  người	
  sử	
  dụng	
  
có	
  thể	
  bỏ	
  quyền	
  thực	
  thi	
  (x)	
  đối	
  với	
  thư	
  mục	
  gốc	
  của	
  hệ	
  thống	
  
file.	
  
Một	
  số	
  quyền	
  đặc	
  biệt	
  đối	
  với	
  các	
  file	
  thực	
  
thi	
  
•  set-uid: -rws --- --- 
–  Chương	
  trình	
  được	
  chạy	
  dưới	
  quyền	
  của	
  người	
  sở	
  hữu 
•  set-gid: - --- rws --- 
–  Chương	
  trình	
  được	
  chạy	
  bởi	
  các	
  người	
  sử	
  dụng	
  thuộc	
  cùng	
  
nhóm	
  với	
  người	
  sở	
  hữu 
•  bit sticky 
–  Chương	
  trình	
  chỉ	
  được	
  cấp	
  phát	
  bộ	
  nhớ	
  trong	
  1	
  lần 
Ví	
  dụ	
  
$ ls -l /etc/passwd 
-rw-rw---- 1 root root 568 Feb 10 19:12 passwd 
$ ls -l /bin/passwd 
-rwsrws--x 1 root root 3634 Feb 10 19:12 passwd 
•  Khi	
  một	
  người	
  sử	
  dụng	
  thông	
  thường	
  gọi	
  
lệnh	
  /bin/passwd,	
  xem	
  như	
  người	
  đó	
  được	
  
«	
  mượn	
  »	
  quyền	
  root	
  để	
  thay	
  đổi	
  mật	
  khẩu	
  
trong	
  file	
  /etc/passwd	
  
Thay	
  đổi	
  quyền	
  truy	
  cập	
  (1)	
  
$chmod 
set_uid set-gid sticky user group other 
 rwx --x --x 
 1 1 0 111 001 001 
 6 7 1 1 
$ chmod 6711 test 
$ ls -l test 
-rws--s--x 1 tuananh user1 Mar 10 10:20 test 
$ chmod 711 test 
$ ls -l test 
-rwx--x--x 1 tuananh user1 Mar 10 10:20 test	
  
Thay	
  đổi	
  quyền	
  truy	
  nhập	
  (2)	
  
$chmod 
•  u	
  |	
  g	
  |	
  o	
  |	
  a	
  (all)	
  
•  Opera]on 	
  	
  
–  +	
  (thêm	
  1	
  hoặc	
  1	
  số	
  quyền	
  vào	
  tập	
  các	
  quyền	
  file	
  đã	
  có)	
  
–  -­‐	
  (bỏ	
  1	
  hoặc	
  1	
  số	
  quyền	
  khỏi	
  tập	
  các	
  quyền	
  file	
  đã	
  có)	
  
–  =	
  (gán	
  mới	
  1	
  hoặc	
  1	
  số	
  quyền	
  cho	
  file)	
  
•  Quyền	
  =	
  r	
  |	
  w	
  |	
  x	
  |	
  s	
  
Ví	
  dụ	
  
$ ls -l test.txt 
-rw-rw-r-- 1 tuananh user1 150 Mar 19 19:12 test.txt 
$ chmod o+w test.txt 
$ ls -l test.txt 
-rw-rw-rw- 1 tuananh user1 150 Mar 19 19:12 test.txt 
$ chmod a-rw test.txt 
$ ls -l test.txt 
---------- 1 tuananh user1 150 Mar 19 19:12 test.txt 
$ cat test.txt 
cat: test.txt: Permission denied 
Định	
  nghĩa	
  các	
  quyền	
  ngầm	
  định	
  khi	
  tạo	
  ra	
  
1	
  file	
  
•  Các	
  quyền	
  ngầm	
  định	
  của	
  1	
  file	
  khi	
  tạo	
  ra	
  có	
  thể	
  
được	
  xác	
  định	
  bằng	
  lệnh	
  umask	
  
$umask 
022 
–  Số	
  0	
  có	
  nghĩa	
  là	
  quyền	
  của	
  người	
  sử	
  dụng	
  không	
  bị	
  hạn	
  chế	
  
(rwx)	
  
–  Số	
  2	
  có	
  nghĩa	
  là	
  quyền	
  ghi	
  (w)	
  bị	
  hạn	
  chế	
  (r-­‐w).	
  
$umask 022 
Thay	
  đổi	
  người	
  sở	
  hữu	
  và	
  nhóm	
  
$chown	
  [-­‐R]	
  	
  	
  
–  Thay	
  đổi	
  người	
  sở	
  hữu	
  của	
  file	
  
$chgrp	
  	
  	
  
–  Thay	
  đổi	
  nhóm	
  của	
  file	
  
–  Có	
  thể	
  sử	
  dụng	
  tùy	
  chọn	
  –R	
  để	
  lặp	
  lại	
  việc	
  thực	
  hiện	
  các	
  
lệnh	
  (ví	
  dụ	
  thực	
  hiện	
  việc	
  thay	
  đổi	
  quyền	
  sở	
  hữu	
  hoặc	
  
nhóm	
  của	
  mọi	
  file	
  trong	
  cùng	
  một	
  thư	
  mục)	
  
•  Các	
  lệnh	
  trên	
  chỉ	
  dành	
  cho	
  những	
  người	
  sử	
  dụng	
  có	
  
quyền	
  root	
  
Các	
  quyền	
  đặc	
  biệt	
  với	
  tệp	
  
•  set-uid: -rws --- --- 
–  Tệp	
  chương	
  trình	
  được	
  chạy	
  dưới	
  quyền	
  của	
  người	
  sở	
  hữu 
•  set-gid: - --- rws --- 
–  Chương	
  trình	
  được	
  chạy	
  dưới	
  quyền	
  của	
  nhóm	
  	
  sở	
  hữu 
•  bit sticky 
–  Chương	
  trình	
  chỉ	
  được	
  cấp	
  phát	
  bộ	
  nhớ	
  trong	
  1	
  lần 
3/6/11 @ Ha Quoc Trung 2009 22 
Các	
  quyền	
  đặc	
  biệt	
  với	
  thư	
  mục	
  
•  set-uid: -rws --- --- 
•  set-gid: - --- rws --- 
–  Các	
  tệp	
  mới	
  được	
  tạo	
  ra	
  có	
  nhóm	
  chủ	
  sở	
  hữu	
  là	
  nhóm	
  của	
  
thư	
  mục 
•  bit sticky 
–  Chỉ	
  có	
  root	
  và	
  chủ	
  sở	
  hữu	
  được	
  xóa,	
  kể	
  cả	
  khi	
  có	
  quyền	
  rwx 
3/6/11 @ Ha Quoc Trung 2009 23 
S]cky	
  bit	
  example	
  
3/6/11 @ Ha Quoc Trung 2009 24 
S]cky	
  bit	
  example	
  
3/6/11 @ Ha Quoc Trung 2009 25 
Suid	
  bit-­‐example	
  
3/6/11 @ Ha Quoc Trung 2009 26 
Suid	
  bit-­‐example	
  
3/6/11 @ Ha Quoc Trung 2009 27 

File đính kèm:

  • pdfbai_giang_phan_mem_ma_nguon_mo_va_linux_chuong_4_tai_khoan_n.pdf