chown: thay đổi quyền sở hữu của `. ': Đối số không hợp lệ


8

Tôi đang cố gắng cài đặt một số tệp mới trên máy chủ mới của chúng tôi trong khi sysadmin của chúng tôi đang trong kỳ nghỉ:

Đây là df

#  df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb3             273G   11G  248G   5% /
tmpfs                  48G  260K   48G   1% /dev/shm
/dev/sdb1             485M  187M  273M  41% /boot
xxx.xx.xxx.xxx:/commun
                       63T  2.2T   61T   4% /commun

root , tôi có thể tạo một thư mục mới và chạy chowndưới / home / lindenb

# cd /home/lindenb/
# mkdir X
# chown lindenb X

nhưng tôi không thể chạy cùng một lệnh dưới / Commun

# cd /commun/data/users/lindenb/
# mkdir X
# chown lindenb X
chown: changing ownership of `X': Invalid argument

tại sao ? Làm thế nào tôi có thể sửa lỗi này ?

đã cập nhật :

gắn kết:

/dev/sdb3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
xxx.xx.xxx.xxx:/commun on /commun type nfs (rw,noatime,noac,hard,intr,vers=4,addr=xxx.xx.xxx.xxx,clientaddr=xxx.xx.xxx.xxx)

phiên bản:

$ cat /etc/redhat-release 
CentOS release 6.3 (Final)

1
Nhập mountvà dán đầu ra của điều này trong câu hỏi của bạn. Ngoài ra, bạn đang dùng hệ điều hành nào?
jwbensley

1
Tôi không rành về NFS; Nhưng xem as / Commun / data / users / lindenb / không phải là một thư mục cục bộ trên máy của bạn, mà là một chia sẻ mạng được truy cập qua NFS, tôi sẽ bắt đầu bằng cách kiểm tra các quyền của bạn trên máy chủ NFS (nằm ngoài phạm vi kiến ​​thức của tôi)
jwbensley

Câu trả lời:


7

Các /communhệ thống tập tin được gắn từ một máy chủ từ xa, và thông báo lỗi cho thấy được có thể là một NFSv4 gắn kết (tương tự cho nfs phiên bản trước đó là Permission denied). Theo mặc định, máy chủ tệp từ xa sẽ ánh xạ rootngười dùng từ xa vào một nobodytài khoản để nó không thể thay đổi quyền sở hữu tệp.

Giải pháp đơn giản nhất có thể là sử dụng lindenbtài khoản cục bộ để tạo các thư mục trong /communthư mục. Như là root

sudo -u linedb mkdir -p /commun/data/users/lindenb

Nếu điều đó không hoạt động thì có thể có một số ánh xạ id diễn ra để bạn có thể phải xử lý các thư mục trên máy chủ xxx.xx.xxx.xxxvà thay đổi quyền sở hữu / quyền ở đó.


cảm ơn nhưng điều đó không hiệu quả sudo -u lindenb mkdir -p /commun/data/users/TMP mkdir: cannot create directory / cộng đồng / dữ liệu / người dùng / TMP ': Quyền bị từ chối `
Pierre

Quan điểm của bạn về NFSv4 là cá trích đỏ nhưng tôi đồng ý với phần còn lại của câu trả lời là đúng.
DaveG

dù sao cũng cảm ơn câu trả lời của bạn, tôi không đủ kỹ năng để thực hiện những thay đổi đó một mình. Tôi sẽ đợi đến hết ngày nghỉ của sysadmin của chúng tôi và tôi sẽ xác nhận câu trả lời của bạn nếu nó đúng :-)
Pierre

@DaveG: tại sao vậy? Nếu tôi thử và chọn một thư mục là root trên mount NFSv4, tôi sẽ nhận được chính xác thông báo lỗi tương tự như OP và nếu tôi chuyển sang NFSv3, tôi sẽ nhận được Perm Perm Denied để nó tương tác với nó và cách nó tương tác với id người dùng.
dùng9517

2
Do root bị đè bẹp trên NFSv3 nên thông báo lỗi có thể khác nhưng anh ta vẫn không thể tạo thư mục với tư cách là người dùng root.
DaveG

5
mount -t nfs -o vers=3 SERVER:PATH MOUNT_PATH

Điều này làm việc cho tôi.


3

Đây thực sự là một vấn đề NFS4. Bạn có thể phải xem xét rpc.idmapd trình nền ánh xạ NFS4 để giải quyết các vấn đề đó, đặc biệt nếu nhiều người dùng sẽ cần ánh xạ chính xác giữa máy khách và máy chủ NFS. Lưu ý rằng NFS3 (ví dụ trong CentOS <6) không sử dụng trình nền ánh xạ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.